#include #include #include typedef struct //结构体 { double no; char name[30]; float cscore; }Student; FILE *fp; int i=0; Student s[50]; void input(); /*输入记录*/ void output(); /*输出记录*/ void modify(); /*修改记录*/ void lookat(); /*学生信息查询*/ void section(); /*学生成绩分段*/ void rank(); /*成绩的排序*/ int fun(); /*目录函数*/ void choose(int n); /*目录的选项*/ int main(void) /*主函数*/ { int n; system("cls"); n=fun(); choose(n); } int fun() //目录函数 { int n; system("cls"); printf("\n\n\t\t\t\t 成绩记录薄"); printf("\n\n\t\t\t"); for(int i=0;i<33;i++) printf("*"); printf("\n"); printf("\t\t\t ************菜单*************\n"); printf("\t\t\t* 1、创建学生的信息! \t*\n"); printf("\t\t\t* 2、输出所有学生的信息! \t*\n"); printf("\t\t\t* 3、修改成绩! \t*\n"); printf("\t\t\t* 4、查询! \t*\n"); printf("\t\t\t* 5、显示成绩分段的学生信息!\t*\n"); printf("\t\t\t* 6、学生成绩排名! \t*\n"); printf("\t\t\t* 7、退出成绩记录薄! \t*\n"); printf("\t\t\t ****设计者:杨兰仕 胡玉凤****\n"); printf("\t\t\t"); for(int i=0;i<33;i++) printf("*"); printf("\n\n"); printf("\n\t\t\t 请输入选项:"); scanf("%d",&n); return n; } void input() //成绩输入 { Student s[50]; system("cls"); int i=0; FILE *fp; fp=fopen("a.txt","a"); printf("请以0作为输入学生学号信息的结束!\n"); do { printf("输入学生的学号:"); scanf("%lf",&s[i].no); printf("输入学生的姓名:"); scanf("%s",s[i].name); printf("输入学生的C语言成绩:"); scanf("%f",&s[i].cscore); if(s[i].no!=0) fprintf(fp,"%.0lf %-4s %.1f\n",s[i].no,s[i].name,s[i].cscore); }while(s[i].no!=0); fclose(fp); } void output() //成绩输出 { if((fp=fopen("a.txt","r"))==NULL) { printf("Cannot open the file!\n"); } printf("\t\t\t全部的学生信息:\n"); int k=0; while(fscanf(fp,"%lf%s%f",&s[k].no,s[k].name,&s[k].cscore)!=EOF) { printf("\t\t\t%.0lf\t%s\t%.1f\n",s[k].no,s[k].name,s[k].cscore); k++; } fclose(fp); } void modify() //成绩修改 { char st[30]; double x,num; float nu; int k=0; system("cls"); if((fp=fopen("a.txt","r"))==NULL) { printf("Cannot open the file!\n"); return; } while(fscanf(fp,"%lf%s%f",&s[k].no,s[k].name,&s[k].cscore)!=EOF) { k++; } fclose(fp); printf("输入1表示用学号修改,输入2表示用姓名修改!请选择:\n"); scanf("%lf",&x); if(x==1) { printf("请输入修改成绩人的学号:"); scanf("%lf",&num); for(int i=0;i=90) printf("\t\t\t%.0lf %s %.1f\n",s[i].no,s[i].name,s[i].cscore); printf("\n\n"); printf("\t\t\t 80到89分学生的信息!\n"); for(i=0;i=80) printf("\t\t\t%.0lf %s %.1f\n",s[i].no,s[i].name,s[i].cscore); printf("\n\n"); printf("\t\t\t 60到79分学生的信息!\n"); for(i=0;i=60&&s[i].cscore<80) printf("\t\t\t%.0lf %s %.1f\n",s[i].no,s[i].name,s[i].cscore); printf("\n\n"); printf("\t\t\t 60分以下学生的信息!\n"); for(i=0;i=60) j++; } for(i=0;i