版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#includestdio。h /常用的标准输入输出函数*/#include<process。h> /access函数原型包含*/#includeio.h /*exit函数原型包含/#includestring。h /strcmp函数原型包含/#include<conio。h include<stdlib.h#include string #define N 100 /最多的学生人数/struct student /*学生结构体定义/ char clas15; /班级/char no13; /学号,最多为12位/char name20; /姓名/char sex8; /
2、性别/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 newfile();void new1();void delete1();void modify();void sortscore(
3、);int findname(char cname);void main() int choice=1;system(”COLOR 2f”);printf(” 学生信息管理系统 n");printf(” * *n");printf(" * 欢迎进入! *n”);printf(" n”);printf(" n");init();while(choice!=5)system(”COLOR 1F”);printf(" *n”);printf(" n”);printf(" * 主菜单 n”); printf(”
4、* 1:学生成绩维护 *n”);printf(" 2:学生成绩统计 n”);printf(" * 3:学生成绩排序 *n”);printf(” * 4:学生成绩查询 n”);printf(” 5:退出 *n");printf(” n”); printf(” *n”);printf(” 请选择:”);scanf(”%d",choice);switch(choice) case 1:weihu(); break;case 2:tongji(); break; case 3:sort1();break; case 4:find1(); break; case
5、5:save();printf("谢谢使用本系统!!n");break; default:printf(”选择错误,请重新选择!");/1)输出学生成绩(公共函数)void output() /输出学生数据/int i,j;for(i=0;inum;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”);
6、for(j=0;j5;j+)printf(”12。f",stui。scorej);printf(”n”);printf(”n");/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) /创建
7、二进制文件/printf(”文件创建失败!请重新运行程序。n”);exit(0); /*终止程序运行/printf("请输入学生人数:”); scanf(”d”,num);for(i=0;inum;i+)printf(”班级:”);getchar(); gets(stui。clas);printf(”姓名:");gets();printf("请输入第d位学生的学号:",i+1);gets(stui。no); printf("性别:”);gets(stui.sex);printf(”地址:”);gets(stui。addr);p
8、rintf(”电话:");gets(stui.phone);printf(”C语言:”);scanf(”%f",stui.score0);printf(”大学物理:”);scanf("f”,stui.score1);printf("网页设计:");scanf("%f”,stui.score2);printf(”高数:”);scanf(”f”,stui。score3);printf(”英语:”);scanf(”f”,stui.score4); fwrite(&stu,sizeof(stu),1,fp);printf(”请输入下一
9、条学生信息n"); /*把第i+1名学生成绩写入文件/fclose(fp);printf(”你刚刚输入的数据共有d个学生成绩。详细数据为:n”,num);output();/4)从数据文件中读取成绩void read1()FILE *fp;num=0; /num为数据文件实际存储成绩人数*/fp=fopen("stu。dat","r”);if(fp=NULL) /文件不存在/printf(”文件打开失败!请重新运行程序.n”);exit(0); /终止程序运行/while(!feof(fp))fread(&stunum,1,sizeof(stru
10、ct student),fp);num+;num-;fclose(fp);printf("现在共有d个学生成绩,初始数据为:n",num);output(); /输出读取结果/5)学生成绩维护void weihu()int choice1;system("COLOR 2F");printf(" *n");printf(" *n"); printf(" * 学生成绩维护子菜单 n”);printf(" * 1。新增 n");printf(” * 2。删除(按学号) *n");p
11、rintf(" * 3。修改 n");printf(” n”);printf(” *n");printf(” 请选择");scanf(”%d",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);print
12、f("请输入学号:");gets(stunum.no); printf(”姓名:");gets(); printf(”性别:”);gets(stunum.sex);printf(”地址:");gets(stunum。addr);printf(”电话:”);gets(stunum。phone);printf("C语言:”);scanf(”f”,stunum.score0);printf("大学物理:”);scanf(”%f”,stunum.score1);printf("网页设计:");scan
13、f(”%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) /判断两个字符串相等/ return i; /*查找成功/ return 1
14、; /*查找失败/ /删除学生信息void delete1()char cno13;int i,j;printf(”请输入要删除的学号:n”);getchar();gets(cno);i=find(cno);if(i=1) printf(”不存在该学号!!n”); else for(j=i;j<num;j+)stuj=stuj+1;num;printf(”删除后还有d个学生成绩,数据为:n”,num);output(); /修改学生信息void modify()char cno13;int i,j;printf("请输入要修改学生的学号:n”);getchar();gets(c
15、no);i=find(cno); printf(”班级:”); gets(stui。clas); printf("姓名:”);gets(); printf(”性别:”);gets(stui。sex);printf(”地址:”);gets(stui。addr);printf(”电话:”);gets(stui。phone);printf("C语言:");scanf(”f",stui.score0);printf(”大学物理:”);scanf("f",stui.score1);printf(”网页设计:");sc
16、anf(”f”,stui.score2);printf(”高数:”);scanf("f",stui.score3);printf("英语:”);scanf(”f”,stui。score4); printf(”修改后为:n”);printf(”%st%ststst%ststn”,stui.clas,,stui。no,stui。sex,stui。addr,stui。phone);printf(”C语言 大学物理 网页设计 高数 英语 n");for(j=0;j<5;j+)printf("12。f",stui.sco
17、rej);printf(”n”);/10)统计void tongji()int choice2;system(”COLOR 3F”);printf(” *n”);printf(” * *n”);printf(" * 统计子菜单 *n”);printf(” * 1。计算每门课程平均分 *n”);printf(” * 2。计算每个学生平均分 n”);printf(” * n");printf(” *n”);printf(" 请选择:");scanf(”%d",choice2);if(choice2=1)tongji1();else if(choic
18、e2=2)tongji2();elseprintf("选择错误,请重新选择!n");/11)计算每个学生平均分void tongji1()int i,j;float sum;float avec5; /*存储每门课程的平均分*/for(j=0;j5;j+) sum=0;for(i=0;i<num;i+)sum+=stui。scorej;avecj=sum/num; printf(”各门课平均分:n");printf(”C语言 大学物理 网页设计 高数 英语n"); for(i=0;i5;i+)printf(”10.2f”,aveci);printf
19、(”n”);/12)计算每个人的平均分void tongji2()int i,j;float sum; for(j=0;jnum;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”);printf(" *n”);printf(” n");printf(" * 排序子菜单 *n"); printf(” * n”);prin
20、tf(" * 1.按成绩 *n”);printf(” n”);printf(" *n”);printf(" 请选择:n”);scanf("%d”,&choice3);if(”choice3=1”)sortscore();elseprintf(”选择错误,请重新选择!n”);/14)按学生平均分排序void sortscore() /按平均成绩从高到低冒泡法排序/int i,j;struct student temp;tongji2(); / 先计算每个学生的平均分/for(i=0;i=num2;i+) for(j=0;jnum-i1;j+)if(
21、stuj.avestuj+1。ave)temp=stuj;stuj=stuj+1;stuj+1=temp;for(i=0;inum;i+)printf(”.2f ",stui.score1); printf(”排序后的学生成绩为:n”);output();/15)查找void find1()int choice4;char cno13,cname20;int i,j;system(”COLOR 5F");printf("*n”);printf("* *n”);printf(”* 查找子菜单 *n");printf("* 1。按学号 *n”);printf(”* 2。按姓名 *n”);printf(”* *n");printf("*n");printf(” 请选择:”);scanf(”%d",&choice4);if(choice4=1)printf("输入要查找学生的学号:”);getchar();gets(cno);puts(cno);i=find(cno);else if(choice4=2)printf(”请输入要查找学生的姓名:");getchar();ge
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度化验员考前冲刺试卷含答案详解【培优B卷】
- 风电机组维修与保养技术方案
- 宫外孕急诊护理培训方案
- 老年人预防高血压
- 2024-2025学年度“安全生产事故隐患排查”知识竞赛全真模拟模拟题含答案详解(B卷)
- 《废弃电器电子产品回收处理产业链中废弃物回收处理产业集聚效应研究》教学研究课题报告
- 精神病人家庭用药安全管理
- 脑卒中康复训练策略
- 肾内科:急性肾功能衰竭护理措施
- 2024-2025学年度粮油食品检验人员考前冲刺练习带答案详解(培优)
- 人教版数学七年级下册第八章实数单元测试训练卷(含答案)
- 压疮管理小组年终总结
- 银屑病的全英文
- 统计局能源培训
- 铝电解工(铝电解操作工)职业资格(技师)考试题库-下(多选、判断题)
- 香料基础理论知识单选题100道及答案解析
- 市场营销合同范本
- NB-T10636-2021光伏发电站逆变器及汇流箱技术监督规程
- QCT1067.5-2023汽车电线束和电器设备用连接器第5部分:设备连接器(插座)的型式和尺寸
- 列宁人物课件
- 初三三角函数复习教案-
评论
0/150
提交评论