1、c 语言 学生成绩管理系统学生成绩管理系统#include #include #include int man=0;int j;char str20;struct student char id11; char name10; int n1; int n2; int n3; int n4; int n5; int n6; int n7; int n8; int n9; int zong; int ping; student100,temp;void read(void) FILE *cj; int i,k; man=0; while(1) printf(请输入要读取的文件:n); scanf(
2、%s,&str); if(cj=fopen(str,r)=NULL) printf(打开失败n); else break; for(i=0;i500;i+) if(fscanf(cj,%s %s %d %d %d %d %d %d %d %d %d,&studenti.id,&studenti.name,&studenti.n1,&studenti.n2,&studenti.n3,&studenti.n4,&studenti.n5,&studenti.n6,&studenti.n7,&studenti.n8,&studenti.n9)=-1) break; man=man+1; printf(
3、从%s读取去了“%d”条记录n,str,man); for(k=0;kman;k+) studentk.zong=studentk.n1+studentk.n2+studentk.n3+studentk.n4+studentk.n5+studentk.n6+studentk.n7+studentk.n8+studentk.n9; for(i=0;iman;i+) studenti.ping=studenti.zong/9; fclose(cj);void write(void) FILE *cj; int i; char me; printf(请确认是否保存(是:y,否:任意键):n); sc
4、anf(%s,&me); if(me=y) if(cj=fopen(str,w)=NULL) printf(保存失败n); for(i=0;iman;i+) fprintf(cj,%s %s %d %d %d %d %d %d %d %d %dn,studenti.id,studenti.name,studenti.n1,studenti.n2,studenti.n3,studenti.n4,studenti.n5,studenti.n6,studenti.n7,studenti.n8,studenti.n9); printf(存了“%d”条记录到%sn,man,str); fclose(cj
5、); else return;void save(void) FILE *cj; int i; char me; printf(请输入新的文件名:n); scanf(%s,&str); printf(请确认是否保存(是:y,否:任意键):n); scanf(%s,&me); if(me=y) if(cj=fopen(str,w)=NULL) printf(保存失败n); for(i=0;iman;i+) fprintf(cj,%s %s %d %d %d %d %d %d %d %d %dn,studenti.id,studenti.name,studenti.n1,studenti.n2,s
6、tudenti.n3,studenti.n4,studenti.n5,studenti.n6,studenti.n7,studenti.n8,studenti.n9); printf(存了“%d”条记录到%sn,man,str); fclose(cj); else return;void print(void) int i; for(i=0;i72;i+) printf(*); printf(n); printf( | 学号 姓名 1 2 3 4 5 6 7 8 9 平均分 总分 | n); for(i=0;iman;i+) printf( | %10s %-6s %3d %3d %3d %3
7、d %3d %3d %3d %3d %3d %3d %3d | n,studenti.id,studenti.name,studenti.n1,studenti.n2,studenti.n3,studenti.n4,studenti.n5,studenti.n6,studenti.n7,studenti.n8,studenti.n9,studenti.ping,studenti.zong); for(i=0;i72;i+) printf(*); printf(n);void inquiry(void) int i; char id10; while(1) printf(请输入要查人的学号或名字
8、(输入-1即返回上一级):n); scanf(%s,&id); if(id0=-&id1=1) printf(exitn); break; else for(i=0;iman;i+) if(strcmp(studenti.id,id)=0) j=i; break; if(strcmp(studenti.name,id)=0) j=i; break; j=-1; if(j=-1) printf(无此人n); else printf( | 学号 姓名 1 2 3 4 5 6 7 8 9 总分 平均分 | n); printf( | %10s %-6s %3d %3d %3d %3d %3d %3d
9、 %3d %3d %3d %3d %3d | n,studentj.id,studentj.name,studentj.n1,studentj.n2,studentj.n3,studentj.n4,studentj.n5,studentj.n6,studentj.n7,studentj.n8,studentj.n9,studenti.ping,studenti.zong); void fail(void) int i; printf(有不及格成绩的学生为:n); for(i=0;iman;i+) if(studenti.n160|studenti.n260|studenti.n360|stud
10、enti.n460|studenti.n560|studenti.n660|studenti.n760|studenti.n860|studenti.n90;k-) for(i=0;ik;i+) if(studenti.zong0;k-) for(i=0;ik;i+) if(studenti.n10;k-) for(i=0;ik;i+) if(studenti.n20;k-) for(i=0;ik;i+) if(studenti.n30;k-) for(i=0;ik;i+) if(studenti.n40;k-) for(i=0;ik;i+) if(studenti.n50;k-) for(i
11、=0;ik;i+) if(studenti.n60;k-) for(i=0;ik;i+) if(studenti.n70;k-) for(i=0;ik;i+) if(studenti.n80;k-) for(i=0;ik;i+) if(studenti.n9studenti+1.n9) temp=studenti; studenti=studenti+1; studenti+1=temp; else printf(无此功能n); void raise(void) printf(请输入添加人的学号:n); scanf(%s,&studentman.id); printf(请输入添加人的姓名:n)
12、; scanf(%s,&studentman.name); printf(请输入添加人的成绩1:n); scanf(%d,&studentman.n1); printf(请输入添加人的成绩2:n); scanf(%d,&studentman.n2); printf(请输入添加人的成绩3:n); scanf(%d,&studentman.n3); printf(请输入添加人的成绩4:n); scanf(%d,&studentman.n4); printf(请输入添加人的成绩5:n); scanf(%d,&studentman.n5); printf(请输入添加人的成绩6:n); scanf(%d
13、,&studentman.n6); printf(请输入添加人的成绩7:n); scanf(%d,&studentman.n7); printf(请输入添加人的成绩8:n); scanf(%d,&studentman.n8); printf(请输入添加人的成绩9:n); scanf(%d,&studentman.n9); studentman.zong=studentman.n1+studentman.n2+studentman.n3+studentman.n4+studentman.n5+studentman.n6+studentman.n7+studentman.n8+studentman
14、.n9; studentman.ping=studentman.zong/9; man=man+1;void alter(void) int i; char id10; printf(请输入要修改人的学号:n); scanf(%s,&id); for(i=0;iman;i+) if(strcmp(studenti.id,id)=0) j=i; break; j=-1; if(j=-1) printf(无此人n); else printf(请输入要修改为的学号:n); scanf(%s,&studentj.id); printf(请输入要修改为的姓名:n); scanf(%s,&studentj
15、.name); printf(请输入要修改为的成绩1:n); scanf(%d,&studentj.n1); printf(请输入要修改为的成绩2:n); scanf(%d,&studentj.n2); printf(请输入要修改为的成绩3:n); scanf(%d,&studentj.n3); printf(请输入要修改为的成绩4:n); scanf(%d,&studentj.n4); printf(请输入要修改为的成绩5:n); scanf(%d,&studentj.n5); printf(请输入要修改为的成绩6:n); scanf(%d,&studentj.n6); printf(请输入
16、要修改为的成绩7:n); scanf(%d,&studentj.n7); printf(请输入要修改为的成绩8:n); scanf(%d,&studentj.n8); printf(请输入要修改为的成绩9:n); scanf(%d,&studentj.n9); studentj.zong=studentj.n1+studentj.n2+studentj.n3+studentj.n4+studentj.n5+studentj.n6+studentj.n7+studentj.n8+studentj.n9; studentj.ping=studentj.zong/9; void deletes()
17、int i,k; char id10; printf(请输入要删除人的学号:n); scanf(%s,&id); for(i=0;iman;i+) if(strcmp(studenti.id,id)=0) j=i; break; j=-1; if(j=-1) printf(无此人n); else for(k=j;kman;k+) studentj=studentj+1; j=j+1; man=man-1; void menu(void) int i; printf(n); for(i=0;i10;i+) printf( ); for(i=0;i60;i+) printf(*); for(i=0
18、;i9;i+) printf( ); printf(n); for(i=0;i10;i+) printf( ); printf(# 1.显示学生成绩信息 6.查询不及格学生信息 #n); for(i=0;i10;i+) printf( ); printf(# 2.按成绩由高到低排序 7.修改学生成绩信息 #n); for(i=0;i10;i+) printf( ); printf(# 3.添加学生成绩信息 8.读取文件 #n); for(i=0;i10;i+) printf( ); printf(# 4.删除学生成绩信息 9.保存文件 #n); for(i=0;i10;i+) printf(
19、); printf(# 5.查询学生成绩信息 -. 另存为 #n); for(i=0;i10;i+) printf( ); printf(# +.退出 #n); for(i=0;i10;i+) printf( ); for(i=0;i60;i+) printf(*); for(i=0;i9;i+) printf( ); printf(n);int main(void) char i; read(); menu(); while(1) printf(请输入要选择的需要功能的序列号(输入0显示菜单):n); scanf(%s,&i); if(i=1) print(); else if(i=2) c
20、ompositor(); print(); else if(i=3) raise(); print(); else if(i=4) deletes(); print(); else if(i=5) inquiry(); else if(i=6) fail(); else if(i=7) alter(); print(); else if(i=8) read(); else if(i=9) write(); else if(i=0) menu(); else if(i=+) break; else if(i=-) save(); else printf(无此功能,请重新输入序列号n); return 0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1