二. 题目内容的描述
在屏幕上绘制一个五角星,每按一次键盘转九十度。用循环程序计算五角星的
顶点,画直线完成。五角星显示的位置、大小和转动的方向由键盘输入,并将
输入的数据送文件保存。按回车键程序结束。(功能延伸:改变数据文件的内
容后,再根据数据文件里的数据绘制五角星)
三.应用程序功能的详细说明
void set_pentagon(int *xr,int *yr,int *r)/*insert pengaton*/
{
FILE *fp;
char filename[20],ch;
printf("Input the file's name:");
gets(filename);
if((fp=fopen(filename,"w+"))==NULL)
{printf("file open error.\n");
exit(0);
}
printf("please input the characters to the file:\n");
while((ch=getchar())!='\n')
{ fputc(ch,fp);
putchar(ch);
}
fclose(fp);
printf("\nplease set the xr yr and r for the pentagon you have typed in:\
n");
scanf("%d",xr);
scanf("%d",yr);
scanf("%d",r);
}
这一段是文件的输入与输出。其中(int *xr,int *yr,int *r)中*xr,*yr,*r 是形参,
传地址。FILE *fp,fp 是一个指向 FILE 类型结构体的指针变量,通过文件指
针变量能够找到与他相关的变量。gets(filename)表示在遇到空格或回车时,
之前的内容都存在 filename 中。“ w+”(读写), 为读写建立一个新的文本文
件 , if((fp=fopen(filename,"w+"))==NULL) 是 为 了 判 断 能 否 打 开 文 件 ,