C语言学生成绩管理系统课程设计报告_第1页
C语言学生成绩管理系统课程设计报告_第2页
C语言学生成绩管理系统课程设计报告_第3页
C语言学生成绩管理系统课程设计报告_第4页
C语言学生成绩管理系统课程设计报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c语言课程设计报告一 .问题描述:题目七:学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。主要功能:(1) 能按学期、按班级完成对学生成绩的录入、修改(2) 能按班级统计学生的成绩,求学生的总分及平均分(3) 能查询学生成绩,不及格科目及学生名单(4) 能按班级输出学生的成绩单要求:使用二进制文件方式存储数据,系统以菜单方式工作学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。要求使用二进制文件方式存储数据,系统以菜单方式工作,实现对学生成绩的录入,修改,统计,排序,查询,输出等功能。二 .设计目的设

2、计“学生成绩管理系统”使其具有以下功能:(1) 能完成对学生成绩的录入(2) 能按班级统计学生的成绩,求学生的总分及平均分,排序(3) 能按班级,学期输出学生的成绩单和不及格科目及学生名单(4) 能查询单个学生成绩(5) 能修改单个学生信息三 . 要求系统以菜单方式工作四 . 功能1 输入功能:可以一次完成无数条信息的输入。2 输出功能:能按班级输出学生的成绩单。3 修改功能:完成对单个学生成绩的修改。4 查找功能:完成对单个学生信息查找,并显示。5 排序功能:按学生成绩进行排序,并显示。6 有一个清晰美观界面来调用各个功能五模块图修 改void monify修改单个学生信息主流程学期int

3、term班级int classes信息录入void input 成绩统计void sort查询 void search姓名char name10学号int num成绩int score4学号stui.num、班级stui.classes,姓名、四门课成绩stui.score能按学号查询单个学生成绩 按班级统计学生的成绩,求学生的总分及平均分,排序成绩输出void print能按班级,学期输出学生成绩单和不及格科目及学生名单结构数组struct student六 . 详细内容整个系统除了主函数外,另外还有5个函数,实现六大功能:输入功能、输出功能、修改功能,查找并显示功能、排序

4、并显示功能。各个函数的详细设计说明分别如下:1 . 定义结构体及宏定义 #include #include #include #define num 100struct student int term; int num; int classes; char name10; int score4; int sum; float average; stunum;2主函数 main()利用无限次循环for(;)和swithch()进行菜单选择来实现各函数的调用,系统根据输入的数字选项来调用相应的函数。等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现!void main() zcd

5、();/*主函数界面*/ void zcd()int n=0;char m;system(cls);/*清屏*/ printf(按任一键进入主菜单n ); /*按任一键进入主菜单*/ printf(*n); printf(tt华中科技大学文华学院欢迎您n); printf(nttt- 欢迎使用学生管理系统nnttttt-n); printf(*menu*n); printf(ttt1. 输入学生成绩记录 input the recordn); /*输入学生成绩记录*/ printf(ttt2. 排序并显示 sort to make new a filen); /*排序*/ printf(ttt

6、3. 按班级显示成绩单 print the recordn); /*显示*/ printf(ttt4. 查找个人成绩 search record on namen); /*查找*/ printf(ttt5. 修改 modify a recordn); /*修改*/ printf(ttt6. 退出 quitn); /*退出*/ printf(*n); printf(nttt输入你的选择enter your choice(17):); fflush(stdin); m=getchar(); doswitch(m) case 1:input();zcd();break; case 2:sort();

7、system(pause);zcd();break; case 3:print();system(pause);break; case 4:search();zcd();break; case 5:modify();system(pause);zcd();break; case 6:exit(0); /*如菜单返回值为7则程序结束*/ default:printf(错误命令); getchar();zcd(); while(1);3输入信息函数 void input() system(cls); int i;char a;for(i=0;inum;i+) printf( n请输入学生的学期:)

8、; scanf(%d,&stui.term); printf( n请输入学生的学号:); fflush(stdin); scanf(%d,&stui.num); printf( n请输入学生的班级:); scanf(%d,&stui.classes); printf(n请输入学生的姓名:); scanf(%s, ) ; printf(n请输入学生的语文成绩:); scanf(%d,&stui.score0); printf(n请输入学生的数学成绩:); scanf(%d, &stui.score1); printf(n请输入学生的英语成绩:); scanf(%d, &stui

9、.score2); printf(n请输入学生的计算机成绩:); scanf(%d, &stui.score3); stui.sum=stui.score0+stui.score1+stui.score2+stui.score3;/算总分和平均 stui.average=(float)stui.sum/4.0; printf(是否要继续添加(按n&n退出); fflush(stdin); a=getchar(); if(a=n|a=n) break;4、排序并显示函数 void sort() int i,j=0;float temp; for(i=0;inum;i+) stui.sum=stu

10、i.score0+stui.score1+stui.score2+stui.score3; stui.average=(float)stui.sum/4.0; for(i=0;inum-1;i+)for(j=i+1;jnum;j+)if(stui.sumstuj.sum)temp=stui.sum; stui.sum=stuj.sum; stuj.sum=temp; printf(学号t姓名t班级 语文 数学 英语 计算机 总分 平均分n); for(i=0;inum;i+) printf(%dt%st%d%5d%5d%5d%6d%7d%8.2fn,stui.num,,stu

11、i.classes, stui.score0,stui.score1,stui.score2,stui.score3,stui.sum,stui.average); /*输出学生信息*/ system(pause);system(cls);print();5查找并显示一个记录 void search() system(cls);/*清屏*/ int number=0,i; printf(ttt 请输入要查找学生的学号:); scanf(%d,&number); printf(学号t姓名t班级 语文 数学 英语 计算机 总分 平均分n); for(i=0;inum;i+) if(number=s

12、tui.num) break;/*查找判断*/ if(inum)printf(%dt%st%d%5d%5d%5d%6d%7d%8.2fn,stui.num,,stui.classes,stui.score0,stui.score1,stui.score2, stui.score3,stui.sum,stui.average); /*输出学生信息*/ elseprintf(没找到该学生的信息n);system(pause); 6按学期、按班级输出成绩函数void print() system(cls);char a; printf(1、按学期输出n);printf(2、按班级输

13、出n);printf(3、返回n);fflush(stdin);a=getchar();switch(a)case 1:print1();case 2:print2();case 3:zcd();default:print(); void print1()/按学期int i,m;printf(请输入学期:n);scanf(%d,&m);printf(学号t姓名t班级 语文 数学 英语 计算机 总分 平均分n);for(i=0;inum;i+) if(m=stui.term) printf(%dt%st%d%5d%5d%5d%6d%7d%8.2fn,stui.num,,stui

14、.classes, stui.score0,stui.score1,stui.score2, stui.score3,stui.sum,stui.average); /*输出学生信息*/system(pause);system(cls);print();void print2()/按班级int i,j,k;printf(请输入班级:n);scanf(%d,&k); printf(学号t姓名t班级 语文 数学 英语 计算机 总分 平均分n);for(i=0;inum;i+) if(k=stui.classes) stui.sum=stui.score0+stui.score1+stui.scor

15、e2+stui.score3; stui.average=stui.sum/4.0; printf(%dt%st%d%5d%5d%5d%6d%7d%8.2fn,stui.num,,stui.classes, stui.score0,stui.score1,stui.score2, stui.score3,stui.sum,stui.average); /*输出学生信息*/ printf(输出不及格学生名单及成绩:n);printf(学号t姓名t班级 语文 数学 英语 计算机 n);for(i=0;inum;i+) for(j=0;j4;j+) if(stui.scorej60

16、&k=stui.classes) /*输出不及格学生名单及成绩*/ printf(%dt%st%d%5d%5d%5d%6dn,stui.num,,stui.classes, stui.score0,stui.score1,stui.score2, stui.score3); break; system(pause);system(cls);print();7修改成绩函数void modify() system(cls); int number,i; printf(ttt请输入要修改信息的学生学号:); scanf(ttt%d,&number); for(i=0;inum;i+

17、) if(number=stui.num) break;/*查找判断*/ if(inum)/*查找判断*/ printf(请输入修改后的学生的信息:); printf( n请输入学生的学期:); scanf(%d,&stui.term); printf( n请输入学生的学号:); fflush(stdin); scanf(%d,&stui.num); printf( n请输入学生的班级:); scanf(%d,&stui.classes); printf(n请输入学生的姓名:); scanf(%s, ) ; printf(n请输入学生的语文成绩:); scanf(%d,&st

18、ui.score0); printf(n请输入学生的数学成绩:); scanf(%d, &stui.score1); printf(n请输入学生的英语成绩:); scanf(%d, &stui.score2); printf(n请输入学生的计算机成绩:); scanf(%d, &stui.score3); elseprintf(没找到该学生的信息n);system(paues);system(cls);zcd(); 七运行过程主菜单成绩录入统计排序按学期输出成绩按班级输出成绩查找个人成绩修改单个学生信息八.设计总结经过几周的课程设计,我学到了很多东西:巩固和加深了对编程的理解,提高综合运用本课程所学知识的能力。培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。经过实际编译系统的分析设计、编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论