程序并没有错,但运行有错
void search_score() {
printf_t();
int i,k,flag=0;
struct course s;
printf(" 输入你要查询的课程学分:");
scanf("%d",&s.score);
load_lesson();
//printf_face();
for(i=0;i<x;i++) if(s.score==course[i].score) {
flag=1; printf_one(i);
} if(flag==1) printf("Found it!");
else printf("sorry,Not found it!");
system("pause");
system("cls");
menu(); }
其中menu函数可以不看,
void printf_t()//公共函数 1:显示数据结构项目函数
{ printf(" 输入课程信息 "); }
void printf_one(int i) //公共函数 2:显示一个课程信息记录
{printf(" %d %s %s %d %d %d %d %d",course[i].num,course[i].name,course[i].nature,course[i].atime, course[i].ttime,course[i].etime,course[i].score,course[i].terms); }
int load_lesson() //加载课程信息记录并可以计算记录个数
{FILE*fp; int i;
if((fp=fopen("wxduoshao.txt","r"))==NULL) {
printf(" file is null ");
return 0;
}
for(i=0;!feof(fp);i++)
fscanf(fp,"%d %s %s %d %d %d %d %d ",&course[i].num,&course[i].name,&course[i].nature,&course[i].atime, &course[i].ttime,&course[i].etime,&course[i].score,&course[i].terms);
fclose(fp);
return (i); }
里面函数都是除了第一个函数都是对的,因为其他函数用都能正常运行,就search——score运行出错
没细看,但有一个 明显的错,在
save_course(int n)
中,你的
if((fp=fopen("wxduoshao.txt","r"))==NULL)
应该是
if((fp=fopen("wxduoshao.txt","w"))==NULL)
你是写文件(用fprintf)而不是读文件