学生成绩管理系统-C语言课程设计-源代码汇编.docx

上传人:scccc 文档编号:13081496 上传时间:2021-12-13 格式:DOCX 页数:10 大小:20.25KB
返回 下载 相关 举报
学生成绩管理系统-C语言课程设计-源代码汇编.docx_第1页
第1页 / 共10页
学生成绩管理系统-C语言课程设计-源代码汇编.docx_第2页
第2页 / 共10页
学生成绩管理系统-C语言课程设计-源代码汇编.docx_第3页
第3页 / 共10页
学生成绩管理系统-C语言课程设计-源代码汇编.docx_第4页
第4页 / 共10页
学生成绩管理系统-C语言课程设计-源代码汇编.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《学生成绩管理系统-C语言课程设计-源代码汇编.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统-C语言课程设计-源代码汇编.docx(10页珍藏版)》请在三一文库上搜索。

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",&stui.name); 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.name,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.name,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.name,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.name,stui.number,stui.sum,stui.average); printf(" 科目 成绩 n");for(m=0;m<stui.w;m+)printf("%40s%d n",stui.chengm.subject,stui.chengm.poin

19、t);fclose(file); fflush(stdin);/*/* 精确查找 */void pjing()int n;int i=0;int m;FILE *file; if(file=fopen("c:student.dat","rb")=NULL)printf("Open error");getch();exit(0);printf(" 请输入要查询的学生的学号: "); scanf("%d",&n);getchar(); fread(&stui,sizeof(stu),

20、1,file);while(feof(file)=0) if(n=stui.number)/* 输出对应的学号的学生成绩 */printf(" 姓名学号总分平均分 n");printf("%s %5d %10.1f %8.1fn",stui.name,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);break; i+;fread(&stui,sizeof(stu),1,file);fclose(file);fflush(stdin);*结束*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1