#include #include #include #define N 500int n=0;//结构体struct student{ char num[20]; char name[20]; float score;};student stu[N];//添加学生信息void input(){ int i,j=n; printf("请输入新增加的学生个数:"); scanf("%d",&n); while(n100||stu[i].scorestu[j].score) { ft=stu[i].score; stu[i].score=stu[j].score; stu[j].score= ft; strcpy(t,stu[i].num); strcpy(stu[i].num,stu[j].num); strcpy(stu[j].num,t); strcpy(t,stu[i].name); strcpy(stu[i].name,stu[j].name); strcpy(stu[j].name,t); } } } printf("学号\t姓名\tC语言成绩\n"); for(i=0;istu[i].score) smin=stu[i].score; } for(i=0;i100||stu[m].score100||stu[i].score<0) { printf("该成绩不合法,请重新输入!\n"); printf("请输入学生C语言成绩(0~100):"); scanf("%f",&stu[i].score); } printf("修改成功!\n"); break; } case 0: { system("pause"); system("cls"); return; } } } } else printf("该学生信息未找到!\n"); break; } case 0: { system("pause"); system("cls"); return; } default:printf("选择错误!\n");break; } }}//删除void del(){ int i,item,m; char s1[20],s2[20]; while(1) { printf("1-按学号删除 2-按姓名删除 0-返回:"); scanf("%d",&item); switch(item) { case 1: { printf("请输入要删除学生的学号:"); scanf("%s",s1); for(i=0;i<n;i++) { if(strcmp(s1,stu[i].num)==0) { m=i; break; } else m=-1; } if(m!=-1) { for(i=0;i<n;i++) stu[m]=stu[m+1]; n--; printf("删除成功!\n"); } else printf("该学生信息未找到!\n"); break; } case 2: { printf("请输入要删除学生的姓名:"); scanf("%s",s2); for(i=0;i<n;i++) { if(strcmp(s2,stu[i].name)==0) { m=i; break; } else m=-1; } if(m!=-1) { for(i=0;i<n;i++) stu[m]=stu[m+1]; n--; printf("删除成功!\n"); } else printf("该学生信息未找到!\n"); break; } case 0: { system("pause"); system("cls"); return; } default:printf("选择错误!\n");break; } }} //读取文件 void read(){ int i=0; FILE *fp; char filename[100]; printf("请输入要读取的文件名:"); scanf("%s",filename); fp=fopen(filename,"rt"); while(!feof(fp)) { fscanf(fp,"%s%s%f",stu[i].num,stu[i].name,&stu[i].score); i++; } n=i; printf("共读取成功%d个学生信息!\n",n); fclose(fp); system("pause"); system("cls");}//保存文件 void save(){ int i; FILE *fp; char filename[20]; printf("请输入要保存的文件名:"); scanf("%s",filename); fp=fopen(filename,"wt"); for(i=0;i<n;i++) fprintf(fp,"%s\t%s\t%.lf\n", stu[i].num, stu[i].name,stu[i].score); printf("学生信息写入成功!\n"); fclose(fp); system("pause"); system("cls");}void print(){ printf("\t┌──────────────────────────────────────────────────────────────────────────────────────────────┐\n"); printf("\t│ 学生成绩信息管理 │\n"); printf("\t├──────────────────────────────────────────────────────────────────────────────────────────────┤\n"); printf("\t│1.录入 2.显示 3.查找 4.排序 5.统计 6.修改 7.删除 8.读取文件 9.保存文件 0.退出│\n"); printf("\t└──────────────────────────────────────────────────────────────────────────────────────────────┘\n"); printf("请输入选择项:"); }//主函数int main(){ int k=1; while (k) { int item; print(); scanf("%d",&item); switch (item) { case 1:input(); break; case 2:show(); break; case 3:find(); break; case 4:sort(); break; case 5:stat(); break; case 6:modify();break; case 7:del();break; case 8:read(); break; case 9:save(); break; case 0:k=0;printf("谢谢您使用本系统,再见!!\n");break; default: { printf("输入数据不合法,请重试!\n"); system("pause"); system("cls"); } } } system("pause"); return 0;}
。
作者:三苙
更新时间:2021/3/12 8:20:27
字数:1204