900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 生成绩管理系统c语言 学生成绩管理系统——C语言版

生成绩管理系统c语言 学生成绩管理系统——C语言版

时间:2024-04-19 08:59:57

相关推荐

生成绩管理系统c语言 学生成绩管理系统——C语言版

《学生成绩管理系统——C语言版》由会员分享,可在线阅读,更多相关《学生成绩管理系统——C语言版(12页珍藏版)》请在人人文库网上搜索。

1、*常用的标准输入输出函数*/*access函数原型包含*/*exit函数原型包含*/*strcmp函数原型包含*/*最多的学生人数*/#in clude#i nclude #i nclude#in clude #in clude #in clude #in clude #defi ne N 100struct stude ntchar clas15;char no13;char n ame20;char sex8;char addr30;char phon e15;float score5;float ave;stuN;int num;void in it();void weihu();voi。

2、d ton gji();void ton gji1();void ton gji2();void sort1();void fin d1();void save();void n ewfile();void read1();void n ewfile();void n ew1();void delete1();void modify。;void sortscore();int findn ame(char cn ame);/*学生结构体定义*/*班级*/*学号,最多为12位*/*姓名*/*性别*/*地址*/*电话*/*存储五门课成绩*/*平均分*/void mai n()int choice=。

3、1;system(COLOR 2f);prin tf(* printf(”*printf( printf(”n ”); ini t();学生信息管理系统欢迎进入!!n);*n);*n);*n);while(choice!=5)system(COLOR 1F);printf(”*n)printf(”*n);printf(”*王采单*n);printf(”*1:学生成绩维护* n);printf(”*2:学生成绩统计* n);printf(”*3:学生成绩排序* n);printf(”*4:学生成绩查询* n);printf(”*5:退出* n);printf(”*n);printf(*n);pr。

4、in tf(请选择:);scan f(%d, &choice); switch(choice)case 1:weihu(); break;case 2:ton gji(); break;case 3: sort1(); break;case 4: fin d1(); break;case 5:save();printf(谢谢使用本系统!!n); break;default:printf(选择错误,请重新选择rj; 1)输出学生成绩(公共函数)void output。int i,j;for(i=0;i nu m;i+) printf(班级n );姓名prin tf(%s %s %s %s ex,。

5、stui.addr,stui.ph on e);prin tf(n);printf(C语言 大学物理/*输出学生数据*/学号性别地址电话%s%sn ”,stui.clas,stui. name,stui. no ,stui.s网页设计 高数 英语 n);for(j=0;j5;j+)prin tf(%-12.f,stui.scorej);prin tf(n);prin tf(n);2)系统初始化代码void in it()if(access(stui.dat,0)n ewfile();elseread1();/*判断文件是否存在*/*不存在创建新的数据文件*/*若存在,从文件中读取数据*/3)创。

6、立新的数据文件void n ewfile()int i;FILE *fp;if(fp=fope n( F:stu.dat,wb)=NULL)/*从键盘输入学生成绩并保存到文件中*/*创建二进制文件*/printf(文件创建失败!请重新运行程序。n); exit(O);/*终止程序运行*/printf(请输入学生人数:);sea nf(%d,&n um);for(i=0;i nu m;i+)printf(班级:);getchar();gets(stui.clas);printf(姓名:);gets(stui. name);printf(请输入第%d位学生的学号:,i+1);gets(stui.n。

7、o);printf(性别:”);gets(stui.sex);printf(地址:);gets(stui.addr);printf(电话:);gets(stui.ph on e);printf(C 语言:);scan f(%f, &stui.score0);printf(大学物理:);scan f(%f, &stui.score1);printf(网页设计:);scan f(%f, &stui.score2);printf(高数:);scan f(%f, &stui.score3);printf(英语:);scan f(%f, &stui.score4);fwrite(&stu,sizeof(。

8、stu),1,fp);printf(请输入下一条学生信息n);/*把第i+1名学生成绩写入文件*/fclose(fp);printf(你刚刚输入的数据共有%d个学生成绩。详细数据为:n”,num);output();/4)从数据文件中读取成绩void read1()/*num为数据文件实际存储成绩人数*/FILE *fp;num=0;fp=fope n( stu.dat,r);if(fp=NULL)/* 文件不存在 */printf(”文件打开失败!请重新运行程序。n);exit(O);/*终止程序运行*/while(!feof(fp)fread(&stu nu m,1,sizeof(stru。

9、ct stude nt),fp);nu m+; num-;fclose(fp);n,n um);/*输出读取结果*/printf(现在共有d个学生成绩,初始数据为:output();5)学生成绩维护void weihu()int choice1;system(COLOR 2F);printf(”*n);printf(”* n);printf(”*学生成绩维护子菜单* n);printf(”*1新增*n);printf(”*2删除(按学号)*n);printf(”*3修改*n);printf(”* n);printf(”*n);printf(”请选择);scan f(%d,&choice1);s。

10、witch(choice1)case 1:n ew1(); break;case 2:delete1(); break;case 3: modify(); break;default:请重新选择!n);printf(选择错误,6)新增一个学生成绩void n ew1()printf(请输入班级:”);getchar();gets(stu nu m.clas);printf(请输入学号:”); gets(stu nu m. no);printf(姓名:); gets(stu nu m. name); printf(性别:);gets(stu nu m.sex);printf(地址:); gets。

11、(stu nu m.addr);printf(电话:”); gets(stu nu m.ph on e); printf(C 语言:);scan f(%f, &stu num.score0); printf(大学物理:);scan f(%f, &stu num.score1); printf(网页设计:”);scan f(%f, &stu num.score2); printf(高数:);scan f(%f, &stu num.score3);printf(英语:);scan f(%f, &stu num.score4);nu m+;n,n um);/*判断两个字符串相等*/printf(现在。

12、共有%d个学生成绩,数据为: output();7)按学号查找int fin d(char sn o)int i;for(i=0;i nu m;i+)if(strcmp(stui. no,sno)=0)return i;return -1;/*查找成功*/*查找失败*/删除学生信息void delete1()char cno13;int i,j;printf(请输入要删除的学号:n); getchar();gets(c no);i=fi nd(c no);if(i=-1)printf(”不存在该学号! ! ! n);elsefor(j=i;j nu m;j+) stuj=stuj+1;num-。

13、;n,n um);printf(删除后还有%d个学生成绩,数据为: output();/修改学生信息void modify()char cno13;int i,j;printf(请输入要修改学生的学号:n);getchar();gets(c no);i=fi nd(c no); printf(班级:); gets(stui.clas); printf(姓名:); gets(stui. name); printf(性别:); gets(stui.sex); printf(地址:); gets(stui.addr); printf(电话:”); gets(stui.ph on e); printf。

14、(C 语言:); scan f(%f, &stui.score0); printf(大学物理:); scan f(%f, &stui.score1);printf(”网页设计:”); scan f(%f, &stui.score2); printf(” 高数:);scan f(%f, &stui.score3); printf(英语:);scan f(%f, &stui.score4); printf(修改后为:n);prin tf(%st%st%st%st%st%stn,stui.clas,stui. name,stui. no,stui.sex,stui.addr, stui.pho ne。

15、);printf(C语言 大学物理 网页设计 高数 英语 n); for(j=0;j5;j+)prin tf(%-12.f,stui.scorej);prin tf(n);10)统计void ton gji()int choice2;system(COLOR 3F);printf(”* n);printf(”*统计子菜单*n);printf(”kkk1.计算每门课程平均分*n);printf(”kkk2.计算每个学生平均分*n);printf(”kkk* n);printf(”*n);printf(”*n);printf(”请选择:);scan f(%d,&choice2); if(choic。

16、e2=1)ton gji1();else if(choice2=2)ton gji2();elseprintf(选择错误,请重新选择!n);11)计算每个学生平均分void ton gji1()int i,j;float sum;float avec5;/*存储每门课程的平均分*/for(j=0;j5;j+)sum=0;for(i=0;i nu m;i+)sum+=stui.scorej;avecj=su m/num;printf(各门课平均分:n);printf(C语言 大学物理网页设计高数 英语n);for(i=0;i5;i+)prin tf(%-10.2f,aveci);prin tf(。

17、n);/12)计算每个人的平均分void ton gji2()int i,j;float sum;for(j=0;j nu m;j+)sum=0;for(i=0;i5;i+)sum+=stuj.scorei;stuj.ave=sum/5;printf(第%d 个人的平均分:%.2fn,j+1,stuj.ave);13)排序void sort1()int choice3;system(COLOR 6F);printf(”*n);printf(”n);printf(”*排序子菜单* n)printf(”* n)printf(”*1.按成绩*n);printf(”n);printf(”*n);pri。

18、ntf(”请选择:n);scan f(%d,&choice3);if(choice3=1)sortscore();elseprintf(选择错误,请重新选择!n);14)按学生平均分排序void sortscore()/*按平均成绩从高到低冒泡法排序*/int i,j;struct stude nt temp;tongji2();/*先计算每个学生的平均分 */for(i=0;i=nu m_2;i+)for(j=0;j nu m_i_1;j+)if(stuj.avestuj+1.ave)temp=stuj;stuj=stuj+1;stuj+1=temp;for(i=0;i nu m;i+)pr。

19、in tf(%.2f,stui.score1);printf(排序后的学生成绩为:n); output();15)查找void fin d1()int choice4;char cno13,cname20;int i,j; system(COLOR 5F);printf(* n);printf(*printf(*printf(*printf(*查找子菜单1. 按学号2. 按姓名*、n);*、n);printf(*);printf(* n);printf(”请选择:);scan f(%d,&choice4);if(choice4=1)printf(输入要查找学生的学号:); getchar();。

20、gets(c no);puts(c no);i=fi nd(c no);else if(choice4=2)printf(请输入要查找学生的姓名:”);getchar();gets(c name);i=fi ndn ame(c name);elseprintf(选择错误,请重新选择!n);return;if(i=-1)printf(要查找的学生不存在。n);elseprintf(查找到的学生信息为:n);printf(班级t姓名t学号t性别t地址t电话tn );prin tf(%st%st%st%st%st%stn,stui.clas,stui. name,stui. no,stui.sex,。

21、stui.addr,stui.pho ne);prin tf(n);printf(C语言 大学物理 for(j=0;j5;j+)prin tf(%-12.f,stui.scorej); 16)按姓名查找int findn ame(char cn ame)int i;for(i=0;i nu m;i+)if(strcmp(stui. name,c name)=0) return i;return -1;网页设计 高数 英语n);/*判断两个字符串*/*查找成功*/*查找失败*/*将修改过的学生成绩重新写回到数据文17)保存文件 void save()件中*/int i;FILE *fp;if(fp=fopen(stu.dat,wb)=NULL)/* 创建二进制文件 */printf(文件创建失败!请重新运行程序。n);exit(O);/*终止程序运行*/for(i=0;i nu m;i+)fwrite(&stui,1,sizeof(struct stude nt),fp);/*把第i+1个学生成绩写入文件*/fclose(fp。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。