学生成绩管理系c源代码完美运行

上传人:kms****20 文档编号:40573808 上传时间:2018-05-26 格式:DOC 页数:17 大小:43KB
返回 下载 相关 举报
学生成绩管理系c源代码完美运行_第1页
第1页 / 共17页
学生成绩管理系c源代码完美运行_第2页
第2页 / 共17页
学生成绩管理系c源代码完美运行_第3页
第3页 / 共17页
学生成绩管理系c源代码完美运行_第4页
第4页 / 共17页
学生成绩管理系c源代码完美运行_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《学生成绩管理系c源代码完美运行》由会员分享,可在线阅读,更多相关《学生成绩管理系c源代码完美运行(17页珍藏版)》请在金锄头文库上搜索。

1、学生成绩管理系学生成绩管理系 C C 源代码完美运行源代码完美运行#include #include #include struct studentchar name60;char ID7;int score;int dq(struct student st);void xianshi();void bc(struct student st);void add(); void select();void zz();void chazhao();void xhcz();void xmcz();void del();void xmsc();void xhsc();void tj();void px

2、();void bjg();void xg();void xhxg(); void xmxg();void bca();void fh();struct student st300; /这个数组用来保存所有的学生信息 和文件里面的一致int Number=0; /记录总的学生人数 也就是数组/文件里面的学生人数void main()int choose=0;FILE *fp=NULL;char yesorno;if(fp=fopen(“C:/student.dat“,“rb“)=NULL)printf(“n=提示:文件不存在,是否要创建一个?(y/n)n“);scanf(“%c“,if(yes

3、orno=y|yesorno=Y) /这里仅为了建立文件fp=fopen(“C:/student.dat“,“wb“);fclose(fp);elseexit(0);elseNumber=dq(st); /要是文件只能够已经有数据 将数据初始化到数组中system(“cls“);while(true) xianshi();printf(“tt=请选择:“);scanf(“%d“,system(“cls“);switch(choose)case 0: exit(0);/退出 break; case 1: add();fh();/增加学生成绩break; case 2: select();fh()

4、;/查看学生成绩break; case 3: chazhao();fh();/ 查找 break;case 4: del(); fh();/删除 break;case 5: tj();fh();/统计break;case 6: px();fh();/排序 break;case 7: bjg();fh();/输出不及格 break;case 8: xg();fh();/修改break; case 9:zz();fh();/作者break;case 10:bca();fh();/保存 break;default:break;fflush(stdin);getchar();system(“cls“)

5、;void bca()printf(“t=程序在运行时已自动保存.n“);void fh()printf(“t=按 Enter 键返回主菜单n“);void xg() /修改学生信息int way=0;printf(“请选择修改查找方式n“);printf(“1 按姓名查找修改n“); printf(“2 按学号查找修改n“); scanf(“%d“,switch(way)case 1: xmxg();break;case 2: xhxg();break;default: printf(“输入有误,结束!n“);break; /按姓名修改void xmxg() FILE *fp=NULL;ch

6、ar name60;int i=0;int changeIndex=0;int index=0;printf(“请输入要修改的学生姓名:“);scanf(“%s“,name);for (i=0;i修改成功n“);void bjg() /输出不及格人数 int i=0;printf(“以下是不及格:n“);printf(“t 姓名t 学号t 成绩n“);for (i=0;istj+1.score)temp=stj;stj=stj+1;stj+1=temp; printf(“你想输出前几名的成绩:“);scanf(“%d“,if (wantNUmberNumber)wantNUmber=Numbe

7、r;printf(“t 姓名t 学号t 成绩n“);for(i=0;iwantNUmber;i+)printf(“t%st%st%dn“,sti.name,sti.ID,sti.score); void tj()/统计 int i=0;double sum=0.0;for(i=0;iNumber;i+)sum+=sti.score;printf(“全班总分为:%fn“,sum);printf(“平均分为:%fn“,sum/Number); void del()/删除 int n=0;printf(“1 按姓名删除n“);printf(“2 按学号删除n“);scanf(“%d“,switch(

8、n)case 1: xmsc();break;case 2: xhsc();break;void xmsc()/按姓名删除 FILE *fp=NULL;char name60;int i=0;int j=0;printf(“请输入要删除的学生姓名:“);scanf(“%s“,name);for(i=0;iNumber;i+)if (strcmp(name,sti.name)=0) /如果查找到就删除for (j=i;jNumber-1;j+)stj=stj+1;Number-;/将剩余数据写入文件 重新一写的方式打开文件 把以前的数据擦除了fp=fopen(“C:/student.dat“,“

9、wb“);for (i=0;iNumber;i+)fwrite(fclose(fp);printf(“删除成功;n“);void xhsc()/按学号删除 FILE *fp=NULL;char id60;int i=0;int j=0;printf(“请输入要删除的学生学号:“);scanf(“%s“,id);for(i=0;iNumber;i+)if (strcmp(id,sti.ID)=0) /如果查找到就删除for (j=i;jNumber-1;j+)stj=stj+1;Number-;/将剩余数据写入文件 重新一写的方式打开文件 把以前的数据擦除了fp=fopen(“C:/studen

10、t.dat“,“wb“);for (i=0;iNumber;i+)fwrite(fclose(fp);printf(“删除成功;n“);void chazhao()/查找学生 int n=0;printf(“1 按姓名查找n“);printf(“2 按学号查找n“); scanf(“%d“,switch(n)case 1: xmcz();break;case 2: xhcz();break;default: printf(“输入有误,结束!n“);break; void xhcz()/按学号查找 char id7;int i=0;printf(“请输入要查找学生学号:“);scanf(“%s“

11、,id);system(“cls“);printf(“t 姓名t 学号t 成绩n“);for (i=0;iNumber;i+)if (strcmp(id,sti.ID)=0)printf(“t%st%st%dn“,sti.name,sti.ID,sti.score); void xmcz()/按姓名查找 char name7;int i=0;printf(“请输入要查找学生姓名:“);scanf(“%s“,name);system(“cls“);printf(“t 姓名t 学号t 成绩n“);for (i=0;iNumber;i+)if (strcmp(name,sti.name)=0)pri

12、ntf(“t%st%st%dn“,sti.name,sti.ID,sti.score);void zz()printf(“t*nn“);printf(“t nn“);printf(“t nn“);printf(“t nn“);printf(“t nn“);printf(“t nn“); printf(“t*nn“);void select()/查看学生 int i=0;printf(“以下是全部学生成绩n“);printf(“t 姓名t 学号t 成绩n“);for(i=0;iNumber;i+)printf(“t%st%st%dn“,sti.name,sti.ID,sti.score);voi

13、d add()/增加学生 int numberTemp=0;int i=0;struct student temp; /临时保存信息printf(“请输入要增加学生成绩个数:“);scanf(“%d“,for(i=0;inumberTemp;i+)printf(“输入第%d 个同学信息n“,i+1);printf(“姓名:“);scanf(“%s“,temp.name);printf(“学号:“);scanf(“%s“,temp.ID);printf(“成绩:“);scanf(“%d“,stNumber+=temp; /将刚添加的写入到数组bc( /将刚添加的写入到文件printf(“添加成功

14、n“);void bc(struct student *st)FILE *fp=NULL;fp=fopen(“C:/student.dat“,“ab+“);fwrite(st,sizeof(struct student),1,fp);fclose(fp);int dq(struct student st)FILE *fp=NULL;int i=0;fp=fopen(“C:/student.dat“,“rb“);while(fread(fclose(fp);return i;void xianshi()printf(“t*n“);printf(“t* *n“);printf(“t* 学生成绩管理系统 *n“);printf(“t* *n“);printf(“t* 1 增加学生成绩 2 查看学生成绩 *n“);printf(“t* 3 查找学生成绩 4 删除学生成绩 *n“);printf(“t* 5 统计(总成绩和平均分) 6 输出前 N 名学生成绩 *n“);printf(“t* 7

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号