☆本週內容☆
使用fopen、fprintf 存檔案
程式碼:
#include <stdio.h>
int main(int argc, char** argv) ///外掛 :printf、fprintf、fscanf、fopen
{
FILE * fout=NULL; ///指標 file output
fout=fopen("檔名.txt","w+"); ///開啟檔案 檔名"txt" 模式:write
printf( "Hello World\n");
fprintf(fout,"Hello World\n"); ///改裝 printf 變 fprintf
}
修改CodeBlocks檔案路徑
step1:右鍵開啟Notepad++
step2:修改路徑,改為"."
step3:再次回到CodeBlocks,視窗點選"Yes"讓程式重新跑
step4:成功修改檔案存取路徑
使用fscanf 讀檔案
程式碼:
#include <stdio.h>
int main(int argc, char** argv) ///外掛 :printf、fprintf、fscanf、fopen
{
FILE*fin =NULL; ///讀檔
fin = fopen("檔名.txt","r"); ///開啟檔案,Read
char line[100]; ///宣告一個字串
fscanf(fin,"%s",line); ///讀入字串
printf("現在讀到的是 %s \n",line); ///印出字串
///Hello World為兩個字串,再寫一次
fscanf(fin,"%s",line);
printf("現在讀到的是 %s \n",line);
}
複習上週"Timer"參數(先不執行)
程式碼:
#include<stdio.h>
#include<windows.h>
#include<GL/glut.h>
///float angle[20]={};///都是0的陣列
float angle=0;
///上週程式
int diff=2; ///宣告一個變數當"改變值"
void timer(int t) ///時間函式
{
glutTimerFunc(30 ,timer ,t+1);
angle+=diff; ///改變值變化反應在旋轉角度上
if(angle>90) ///如果角度>90,轉回去
{
diff=-2;
}
if(angle<0) ///如果角度<0,再轉回去
{
diff=+2;
}
glutPostRedisplay(); ///上週教"display();"
///差別: 不暴力 vs 暴力
}
void display( )
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSolidTeapot(0.3); ///身體
glutSolidTeapot(0.3); ///左手臂,用T-R-T移動位置
glutSolidTeapot(0.3); ///左手肘
glutSolidTeapot(0.3); ///右手臂
glutSolidTeapot(0.3); ///右手肘
glutSwapBuffers( );
}
int main(int argc, char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week15-08160023");
glutDisplayFunc(display);
glutTimerFunc(0,timer,0);
glutMainLoop( );
}
讓茶壺當作手臂"擺動"
程式碼:
#include<stdio.h>
#include<windows.h>
#include<GL/glut.h>
///float angle[20]={};///都是0的陣列
float angle=0;
///上週程式
int diff=2; ///宣告一個變數當"改變值"
void timer(int t) ///時間函式
{
glutTimerFunc(30 ,timer ,t+1);
angle+=diff; ///改變值變化反應在旋轉角度上
if(angle>90) ///如果角度>180,轉回去
{
diff=-2;
}
if(angle<0) ///如果角度<0,再轉回去
{
diff=+2;
}
glutPostRedisplay(); ///上週教"display();"
///差別: 不暴力 vs 暴力
}
void display( )
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glutSolidTeapot(0.3); ///身體
glPushMatrix(); ///劃出左手臂
glTranslatef(-0.3,0,0);
glRotatef(angle,0,0,1);
glTranslatef(-0.3,0,0);
glutSolidTeapot(0.3); ///左手臂,用T-R-T移動位置
glPushMatrix(); ///劃出左手肘
glTranslatef(-0.3,0,0);
glRotatef(angle,0,0,1);
glTranslatef(-0.3,0,0);
glutSolidTeapot(0.3); ///左手肘,用T-R-T移動位置
glPopMatrix();
glPopMatrix();
glPushMatrix(); ///劃出右手臂
glTranslatef(0.3,0,0);
glRotatef(angle,0,0,1);
glTranslatef(0.3,0,0);
glutSolidTeapot(0.3); ///右手臂,用T-R-T移動位置
glPushMatrix(); ///劃出右手肘
glTranslatef(0.3,0,0);
glRotatef(angle,0,0,1);
glTranslatef(0.3,0,0);
glutSolidTeapot(0.3);///右手肘,用T-R-T移動位置
glPopMatrix();
glPopMatrix();
glPopMatrix();
glutSwapBuffers( );
}
int main(int argc, char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week15-08160023");
glutDisplayFunc(display);
glutTimerFunc(0,timer,0);
glutMainLoop( );
}







沒有留言:
張貼留言