版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学习 好资料#include<stdio.h> #include<string.h> #include<math.h> #include<conio.h> #include<stdlib.h>struct chengjiint point;char subject20;/* 成绩结构体 */;struct student/* 学生结构体 */int w;char name20;int number;struct chengji cheng30;float sum;float average;stu40;void pjun();/* 按
2、平均分排序*/void pfen();/* 按总分排序 */void addnew();/* 录入学生成绩*/void pall();/* 显示所有成绩 */void check();/* 查询菜单 */void pnum();/* 按学号排序 */void pjing();/* 精确查找 */* */* 主菜单 */main()char choose;while(1)更多精品文档printf("ntt*");printf("ntt* 欢迎使用成绩管理系统*n);printf("ntt*n);printf("ntt*请选择*"prin
3、tf("ntt*1.录入学生成绩*")printf("ntt*2.查询学生成绩*")printf("ntt*3.清屏*")printf("ntt*0.退出程序*")printf("ntt*"printf("ntt*");printf("nn"); printf(" 请选择: ");scanf("%c",&choose);getchar();switch(choose)case '1':addn
4、ew(); break;case '2':check(); break;case '3':system("cls"); break;case '0':exit(0); break;default:printf(" 输入错误,请从新输入 !nn");/* */* 录入学生成绩 */void addnew()int n,m,i,p;float sum;float average;FILE *file;sum=0.00000;average=0.00000;if(file=fopen("c:studen
5、t.dat","rb")=NULL)/* 创建一个文件file = fopen("c:student.dat", "wb+");*/printf(" 请输入需要录入的学生人数 : "); scanf("%d",&n);for(i=0;i<n;i+)printf(" 输入第 %d 个同学信息: n",i+1); printf(" 姓名: ");scanf("%s",&); printf(&
6、quot; 学号: ");scanf("%d",&stui.number); printf(" 输入科目个数: "); scanf("%d",&m);stui.w=m;/* 录入成printf(”按科目(回车)成绩(回车)的顺序输入:n");绩*/for(p=0;p<m;p+)scanf("%s",&stui.chengp.subject); scanf("%d",&stui.chengp.point);stui.sum=stui.sum
7、+stui.chengp.point; stui.average=stui.sum/m;/* 把 stu 写入文/* printf("总分 %f ,平均分 %fn ”,stui.sum,stui.average);*/ fwrite(&stui,sizeof(stu),1,file);件*/* 关闭文件 */fclose(file); fflush(stdin); system("cls");/* */* 查询菜单 */ void check()while(1) char choose;printf("ntt*查询菜单printf("n
8、tt*printf("ntt*请选择printf("ntt*1.按学号排列printf("ntt*2.按总分排列printf("ntt*3.按平均分排列printf("ntt*4.精确查询printf("ntt*5.显示所有学生成绩printf("ntt*6.清屏printf("ntt*0.返回printf("ntt*");printf("ntt*");*");*");*");*");*");*");*")
9、;*");*");*");printf("nn");printf(" 请选择: "); scanf("%c",&choose);getchar();switch(choose)case '1':pnum();break;case '2':pfen();break;case '3':pjun();break;case '4':pjing();break;case '5':pall();break;case '6&
10、#39;:system("cls");break;case '0':main();break;/* */* 显示所有成绩 */ void pall()int i=0,m;FILE *file;if(file=fopen("c:student.dat","rb")=NULL) printf("Open error!n");getch(); exit(0);fread(&stui,sizeof(stu),1,file); while(feof(file)=0)/* 循环整个文件 */ print
11、f(" 姓名 学号 总分平均分 n");printf("%s %5d %10.1f %8.1fn",,stui.number,stui.sum,stui.average); printf(" 科目 成绩 n");for(m=0;m<stui.w;m+)/* 显示各科成绩 */printf("%40s %d n",stui.chengm.subject,stui.chengm.point);i+;fread(&stui,sizeof(stu),1,file);fclose(file);
12、/*/* 按学号排序 */void pnum() FILE *file;int j;int i=0;int n=0;int m=0;struct student bm;/* 创建一个中间'结构体,用于交换 */if(file=fopen("c:student.dat","rb")=NULL) /* 打开文件 */ printf("Open error");getch();exit(0);fread(&stui,sizeof(stu),1,file);while(feof(file)=0) i+;fread(&s
13、tui,sizeof(stu),1,file);n=i;for(j=n-1;j>0;j-) for(i=0;i<j;i+) if(stui.number>stui+1.number) /* 对 比学号,对换 stu*/ bm=stui; /* 交换位置 */stui=stui+1; stui+1=bm;for(i=0;i<n;i+)/* 交换后从新排序 */ printf(" 姓名 学号 总分平均分 n");printf("%s %5d %10.1f %8.1fn",,stui.number,stui.sum,s
14、tui.average); printf(" 科目 成绩 n");for(m=0;m<stui.w;m+)printf("%40s %d n",stui.chengm.subject,stui.chengm.point);fclose(file); fflush(stdin);/* */* 按总分排序 */void pfen() FILE *file;int j;int i=0;int n=0;int m;struct student bm;if(file=fopen("c:student.dat","rb"
15、)=NULL) printf("Open error");getch();exit(0); fread(&stui,sizeof(stu),1,file);while(feof(file)=0)i+;fread(&stui,sizeof(stu),1,file);n=i;for(j=n-1;j>0;j-) for(i=0;i<j;i+) if(stui.sum<stui+1.sum) bm=stui; stui=stui+1; stui+1=bm;for(i=0;i<n;i+)/* 显 printf(" 姓名学号总分平均分
16、n");示到屏幕 */printf("%s %5d %10.1f %8.1fn",,stui.number,stui.sum,stui.average); printf(" 科目 成绩 n");for(m=0;m<stui.w;m+)printf("%40s%d n",stui.chengm.subject,stui.chengm.point);fclose(file);fflush(stdin);*/* 按平均分排序 */void pjun() FILE *file;int j;struct stu
17、dent bm;int i=0;int n=0;int m;if(file=fopen("c:student.dat","rb")=NULL) printf("Open error");getch();exit(0); fread(&stui,sizeof(stu),1,file);while(feof(file)=0)i+;fread(&stui,sizeof(stu),1,file);n=i;for(j=n-1;j>0;j-) for(i=0;i<j;i+) if(stui.average<stu
18、i+1.average) bm=stui;stui=stui+1; stui+1=bm;for(i=0;i<n;i+) printf(" 姓名 学号 总分平均分 n");printf("%s %5d %10.1f %8.1fn",,stui.number,stui.sum,stui.average); printf(" 科目 成绩 n");for(m=0;m<stui.w;m+)printf("%40s%d n",stui.chengm.subject,stui.chengm.point);fclose(file); fflush(stdin);/*/* 精确查找 */void pjing()int n;int i=0;int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (新教材)2026年沪科版七年级上册数学 1.3 有理数的大小 课件
- 老年人眼部物理治疗的护理配合
- 2025年便携血压计保养合同
- 2025年白酒线上销售合同范本
- 城市制造业高质量发展研究报告(2025年)
- 学堂在线 雨课堂 清华院系概览 期末考试答案
- 国际肥料品牌竞争力比较
- 基于反射机制的内核级安全漏洞研究
- 第四单元 微专题 遇到中点如何添加辅助线
- 消防员考核题目及答案
- 2026年税务风险培训
- 2025重庆两江新区公安机关辅警招聘56人备考题库含答案详解(完整版)
- 2026年上海市各区高三语文一模试题汇编之积累运用(学生版)
- 小学科学探究课程教案
- 2025年中小学教育政策与法规考试题及答案
- 三借芭蕉扇课件
- (2025年)养老护理员(初级)职业技能考核试题及答案
- 2026中国人民银行直属事业单位招聘60人笔试备考题库带答案解析
- 湖北省十一校2025-2026学年高三上学期12月质量检测语文试题及答案
- 疾控中心学校流感防控培训
- 【 数学】平行线的证明(第1课时)课件 2025-2026学年北师大版八年级数学上册
评论
0/150
提交评论