版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<stdio.h>#include<process.h>/* 常用的标准输入输出函数/*access 函数原型包含*/*/#include<io.h>#include<string.h>/*exit 函数原型包含/*strcmp 函数原型包含*/*/#include<conio.h>#include<stdlib.h>#include <string>#define N 100/* 最多的学生人数*/struct student/* 学生结构体定义*/char clas15;char no13;
2、char name20;/* 班级 */* 学号,最多为/* 姓名 */12 位*/char sex8;char addr30;char phone15;/* 性别 */* 地址 */* 电话 */float score5;float ave;/* 存储五门课成绩/* 平均分 */*/stuN;int num;void init();void weihu();void tongji();void tongji1();void tongji2();void sort1();void find1();void save();void newfile();void read1();void newf
3、ile();void new1();void delete1();void modify();void sortscore();int findname(char cname);void main()int choice=1;system("COLOR 2f");printf("学生信息管理系统printf("*printf("*欢迎进入 !printf("*printf("n");init();while(choice!=5)n");*n");*n");*n");syste
4、m("COLOR 1F");printf("printf("printf("printf("printf("printf("printf("printf("printf("printf("*n");*n");*主菜单*n");*1:学生成绩维护*n");*2:学生成绩统计*n");*3:学生成绩排序*n");*4:学生成绩查询*n");*5:退出*n");*n");*n");p
5、rintf("请选择:");scanf("%d",&choice);switch(choice)case 1:weihu();break;case 2:tongji();break;case 3:sort1();break;case 4:find1();break;case 5:save();printf(" 谢谢使用本系统!n");break;default:printf(" 选择错误,请重新选择!");/1)输出学生成绩(公共函数)void output()/* 输出学生数据*/int i,j;for(
6、i=0;i<num;i+)printf(" 班级姓名学号性别地址电话n ");printf("%s%s%s%s%s%sn",stui.clas,,stui.no,stui.sex,stui.addr,stui.phone);printf("n");printf("C语言大学物理网页设计高数英语n");for(j=0;j<5;j+)printf("%-12.f",stui.scorej);printf("n");printf("n&quo
7、t;);/2)系统初始化代码void init()if(access("stui.dat",0)newfile();/* 判断文件是否存在*/* 不存在创建新的数据文件*/elseread1();/* 若存在,从文件中读取数据*/3)创立新的数据文件void newfile()/* 从键盘输入学生成绩并保存到文件中*/int i;FILE *fp;if(fp=fopen("F:stu.dat","wb")=NULL)/* 创建二进制文件*/printf("文件创建失败! 请重新运行程序。n");exit(0);/*
8、 终止程序运行*/printf(" 请输入学生人数:");scanf("%d",&num);for(i=0;i<num;i+)printf(" 班级: ");getchar();gets(stui.clas);printf(" 姓名: ");gets();printf(" 请输入第 %d 位学生的学号:",i+1);gets(stui.no);printf(" 性别: ");gets(stui.sex);printf(" 地址: &q
9、uot;);gets(stui.addr);printf(" 电话: ");gets(stui.phone);printf("C 语言: ");scanf("%f",&stui.score0);printf(" 大学物理: ");scanf("%f",&stui.score1);printf(" 网页设计: ");scanf("%f",&stui.score2);printf(" 高数: ");scanf(&qu
10、ot;%f",&stui.score3);printf(" 英语: ");scanf("%f",&stui.score4);fwrite(&stu,sizeof(stu),1,fp);printf(" 请输入下一条学生信息n");/* 把第 i+1 名学生成绩写入文件*/fclose(fp);printf("你刚刚输入的数据共有%d个学生成绩。详细数据为:n",num);output();/4)从数据文件中读取成绩void read1()FILE *fp;num=0;/*num为数
11、据文件实际存储成绩人数*/fp=fopen("stu.dat","r");if(fp=NULL)/* 文件不存在*/printf("exit(0);文件打开失败! 请重新运行程序。n");/* 终止程序运行*/while(!feof(fp)fread(&stunum,1,sizeof(struct student),fp);num+;num-;fclose(fp);printf(" 现在共有 %d 个学生成绩,初始数据为:n",num);output();/* 输出读取结果*/5)学生成绩维护void we
12、ihu()int choice1;system("COLOR 2F");printf("printf("printf("printf("printf("printf("printf("printf("*n");*n");*学生成绩维护子菜单*n");*1.新增*n");*2.删除(按学号)*n");*3.修改*n");*n");*n");printf("请选择 ");scanf("%d&
13、quot;,&choice1);switch(choice1)case 1:new1();break;case 2:delete1();break;case 3:modify();break;default:printf("选择错误,请重新选择!n");/6)新增一个学生成绩void new1()printf(" 请输入班级:getchar();gets(stunum.clas);");printf("请输入学号:");gets(stunum.no);printf("姓名: ");gets(stunum.n
14、ame);printf("性别: ");gets(stunum.sex);printf("地址:");gets(stunum.addr);printf("电话:");gets(stunum.phone);printf("C语言:");scanf("%f",&stunum.score0);printf("大学物理:");scanf("%f",&stunum.score1);printf("网页设计:");scanf(&qu
15、ot;%f",&stunum.score2);printf("高数:");scanf("%f",&stunum.score3);printf("英语:");scanf("%f",&stunum.score4);num+;printf("现在共有%d 个学生成绩,数据为:n",num);output();/7)按学号查找int find(char sno)int i;for(i=0;i<num;i+)if(strcmp(stui.no,sno)=0)/* 判
16、断两个字符串相等*/return i;/* 查找成功*/return -1;/* 查找失败*/删除学生信息void delete1()char cno13;int i,j;printf(" 请输入要删除的学号:n");getchar();gets(cno);i=find(cno);if(i=-1)printf(" 不存在该学号! !n");elsefor(j=i;j<num;j+)stuj=stuj+1;num-;printf(" 删除后还有 %d 个学生成绩,数据为:n",num);output();/修改学生信息void m
17、odify()char cno13;int i,j;printf(" 请输入要修改学生的学号:n");getchar();gets(cno);i=find(cno);printf(" 班级: ");gets(stui.clas);printf(" 姓名: ");gets();printf(" 性别: ");gets(stui.sex);printf(" 地址: ");gets(stui.addr);printf(" 电话: ");gets(stui.phon
18、e);printf("C 语言: ");scanf("%f",&stui.score0);printf(" 大学物理: ");scanf("%f",&stui.score1);printf(" 网页设计: ");scanf("%f",&stui.score2);printf(" 高数: ");scanf("%f",&stui.score3);printf(" 英语: ");scanf(
19、"%f",&stui.score4);printf(" 修改后为: n");printf("%st%st%st%st%st%stn",stui.clas,,stui.no,stui.sex,stui.addr,stui.phone);printf("C 语言大学物理网页设计高数英语n");for(j=0;j<5;j+)printf("%-12.f",stui.scorej);printf("n");/10)统计void tongji()int
20、choice2;system("COLOR 3F");printf("printf("printf("printf("printf("printf("printf("*n");*n");*统计子菜单*n");*1.计算每门课程平均分*n");*2.计算每个学生平均分*n");*n");*n");printf("请选择:");scanf("%d",&choice2);if(choice2=1
21、)tongji1();else if(choice2=2)tongji2();elseprintf("选择错误,请重新选择!n");/11)计算每个学生平均分void tongji1()int i,j;float sum;float avec5; /* 存储每门课程的平均分 */ for(j=0;j<5;j+)sum=0;for(i=0;i<num;i+)sum+=stui.scorej;avecj=sum/num;printf(" 各门课平均分:n");printf("C 语言大学物理网页设计高数英语 n");for(i
22、=0;i<5;i+)printf("%-10.2f",aveci);printf("n");/12)计算每个人的平均分void tongji2()int i,j;float sum;for(j=0;j<num;j+)sum=0;for(i=0;i<5;i+)sum+=stuj.scorei;stuj.ave=sum/5;printf(" 第 %d 个人的平均分:%.2fn",j+1,stuj.ave);/13)排序void sort1()int choice3;system("COLOR 6F")
23、;printf("*n");printf("n");printf("*排序子菜单*n");printf("*n");printf("*1.按成绩*n");printf("n");printf("*n");printf("请选择: n");scanf("%d",&choice3);if("choice3=1")sortscore();elseprintf(" 选择错误,请重新选择!
24、n");/14)按学生平均分排序void sortscore()/* 按平均成绩从高到低冒泡法排序*/int i,j;struct student temp;tongji2();/*先计算每个学生的平均分*/for(i=0;i<=num-2;i+)for(j=0;j<num-i-1;j+)if(stuj.ave<stuj+1.ave)temp=stuj;stuj=stuj+1;stuj+1=temp;for(i=0;i<num;i+)printf("%.2f",stui.score1);printf("排序后的学生成绩为:n&qu
25、ot;);output();/15)查找void find1()int choice4;char cno13,cname20;int i,j;system("COLOR 5F");printf("*n");printf("*printf("*查找子菜单printf("*1.按学号printf("*2.按姓名printf("*n");*n");*n");*n");*n");printf("*n");printf("请选择:");scanf("%d",&choice4);if(choice4=1)printf(" 输入要查找学生的学号:");getchar();gets(cno);puts(cno);i=find(cno);else if(choice4=2)printf(" 请输入要查找学生的姓名:"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 传感器网络安全防护策略
- 品管圈在护理服务中的应用与效果评估
- 神经外科患者的肠内营养支持与护理
- 灾区护理人员的专业技能提升
- 璧山区出租汽车客运价格调整听证方案
- 广东省汕头市潮南区2026年初中学业水平模拟考试数学试卷附答案
- 眼科患者的自我管理教育
- 失能老人常见疾病预防与护理
- 2026年数字孪生工厂设备预测性维护指南
- 2026年秸秆收储运市场化运营“政府引导 企业主导”模式解析
- 2026河北衡水恒通热力有限责任公司公开招聘工作人员28名考试参考题库及答案解析
- 网吧的安全保卫制度
- 2026届高三高效学习方法与备考策略
- 2026广东中山市民政局招聘雇员2人考试参考试题及答案解析
- 2026年六安职业技术学院单招职业适应性考试题库含答案详解(综合题)
- ISO 14067-2018 温室气体产品的碳足迹量化要求和指南培训课件
- 石油天然气科普
- 2026 年离婚协议书 2026 版民政局专用模板
- 2026年广西高职单招测试题附答案
- 2023年03月浙江宁波市福利彩票发行中心公开招聘工作人员1人笔试参考题库答案解析
- GB/T 24353-2009风险管理原则与实施指南
评论
0/150
提交评论