要实现可选择继续输入与否,但是碰到了问题,哪位大侠能否帮忙修改一下,拜托了
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#define SIZE 1000
struct student
{
char name[20];
long id;
float cn;
float match;
struct student *next;
};
struct student stu[1000];
void save_stu(struct student stu[])
{
FILE *fp;
int i;
if((fp=fopen("D:\\student.txt","wb"))==NULL)
{
printf("cannot open the file\n");
exit(0);
}
for(i=0;i<SIZE;i++)
{
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
{
printf("file write error!\n");
}
}
fclose(fp);
}
void record_stu(struct student stu[])
{
int i;
char ch;
printf("请录入学生的信息:\n");
printf("name id cn match\n");
ch=getchar();
for(i=0;i<SIZE;i++)
{
scanf_s("%s%d%f%f\n",stu[0].name,stu[0].id,stu[0].cn,stu[0].match);
printf("是否继续输入?y/n:");
ch=getchar();
ch=getchar();
// if(ch!='y') //问题出现在这里,如果把这四句话屏蔽掉,就可以连续选择输入,单数dos界面会出现四个 "是否继续输入?y/n:" 提示,然后要输入y三次
// { //才可以继续输入数据。如果不屏蔽,就直接出问题,不知道为什么
// break;
// }
}
save_stu(stu);//存档
printf("已经存档!\n");
ch=getchar();//用于返回主菜单
ch=getchar();
}
void main()
{
char ch;
record_stu(stu);
printf("please wait!\n");
ch=getchar();//用于返回主菜单
ch=getchar();
}