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

下载本文档

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

文档简介

1、内蒙古科技大学本科生课程设计说明书题 目:C语言课程设计 学生成绩管理系统学生姓名:郭 *学 号:专 业:计算机科学与技术班 级:计科 -2指导教师:刘立新日 期: 2015 年 12 月 25 日内蒙古科技大学课程设计任务书课程名称C语言课程设计设计题目学生成绩管理系统指导教师刘立新时间、教学要求1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。某

2、班学生成绩管理,包括以下功能:从键盘输入包括学号、姓名、各门课程成绩(不少于5门),并将其保存在磁盘文件里打开文件后,计算每个人的总分和平均分,排序并保存具有单项查询或多项查询的功能(即按照给定的关键字,如姓名找出满足条件的纪录)具有插入、删除和修改功能具有输出文件数据信息的功能三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多 3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少500行代码,不包括注释和花括号)4. 设计完成

3、的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天选择课程设计题目,分析课题的要求第二天编程第三天编程及调试第四天写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1. C语言程序设计,谭浩强,清华大学出版社2. C语言程序设计课程设计,刘振安,机械工业出版社目录行环境Win dows 系统3. 用户特点4. 条件限制计算机一台1.1 数据

4、描述系统的数据类型有:整型int,实型float,字符型char,结构体struct ;自己定义的数据类型有:STU1.2 功能需求从键盘输入包括学号、姓名、各门课程成绩(不少于5门),并将其保存在磁盘文件里打开文件后,计算每个人的总分和平均分,排序并保存具有单项查询或多项查询的功能(即按照给定的关键字,如姓名找出满足条件的纪录)具有插入、删除和修改功能具有输出文件数据信息的功能1.3 性能需求1. 硬件环境普通的计算机2. 软件环境支持的操作系统包括windows98/xp及及以上版本1.5任务计划本系统共分为一个主页面模块(主函数部分),五个功能模块(功能函数)分别为增加学生成绩信息、查看

5、学生成绩信息、修改学生成绩信息、对学生信息进 行排序、退出。设计时要先写好主函数、定义好全局变量和功能函数,再对五个 功能函数进行设计。在每个功能函数和主函数应加入控制条件使用户可以随时退 出系统,并在用户输入指令错误的时候给予提醒和退出选项。概要设计2.1 总体设计程序运添加浏览修改排序退出2.3 typedef struct stude nt.4.5.6.n);printf( 请选择(1-5):);3.scanf(%d,&ch);return ch;void readscore(STU s

6、tu,int n)D,);for(j=0;jCOURSE_NUM;j+)scanf( %f,&stunum.scorej);stunum.sum=sum_stu(stu);stunum.aver=stunum.sum/COURSE_NUM;num+;getchar();if(num!=0)printf(n添加完成 !n);9.elseprintf(n 添加失败 !n);printf( 回车返回主菜单 n);getchar();system(cls);void printscore(

7、STU stu,int num)D,);for(j=0;jCOURSE_NUM;j+)printf(%,stui.scorej);printf(%n,stui.aver,stui.sum);40. getchar();41. printf(n 回车返回主菜单 n);42. getchar();43. system(cls);44. 45. int sum_stu(STU stu)corei;46. 47. return sum;48. 49. void searchmenu(STU stu) 学号查找 n);50. printf( 2. 按姓名查找 n);51. printf

8、( 请选择 n);52. scanf(%d,&ch);53. if(ch=1)55.Search_ID(stu);1.else if(ch=2)Search_Name(stu);getchar();system(cls);void Search_Name(STU stu)D,);for(j=0;jCOURSE_NUM;j+)printf(%,stui.scorej);printf(%n,stui.aver,stui.sum);printf(是否继续 (y/n);scanf( %c,&c

9、h);if(ch=n|ch=N)break;void Search_ID(STU stu)D,);for(j=0;jCOURSE_NUM;j+)printf(%,stui.scorej);7.printf(%n,stui.aver,stui.sum);88.printf( 是否继续 (y/n);89.scanf( %c,&ch);90.if(ch=n|ch=N)91.92.break;6.void scorefence() 改学号 n);97.printf(2. 修

10、改姓名 n);98.printf(3. 修改成绩 n);99.printf(4. 删除 n);100.scanf(%d,&ch);101.switch(ch)102.printf(输入新学号 n);019.scanf(%ld,&stui.ID);break;case 2:printf( 输入新姓名 n);scanf(%s,);break;case 3:printf( 输入新成绩 n);modifyscore(stu,i);break;case 4:delet

11、e_stu(stu,i);break;default:Sleep(1000);system(cls);void modifyscore(STU stu,int i)corej);for(j=0,stui.sum=0;jCOURSE_NUM;j+)stui.sum=stui.sum+stui.scorej;stui.aver=stui.sum/COURSE_NUM;void delete_stu(STU stu,int i)学号排序 n);printf(2.按科目 1 排序 n);32.133.13

12、4.135.printf(3.按科目 2 排序 n);136.printf(5.按科目4排序n);137.printf(6.按科目5排序n);138.printf(7.按均分排序 n);139.printf(8.按总分排序 n);140.printf(请选择: n);141.scanf(%d,&ch);142.switch(ch)143.144.case 1:145.sort_ID(stu);146.system(cls);147.printscore(stu,num);148.break;149.case 2:150.sort_score(stu,0);151.system(cls);152

13、.65.166.167.printscore(stu,num);break;case 3:sort_score(stu,1);system(cls);printscore(stu,num);break;case 4:sort_score(stu,2);system(cls);printscore(stu,num);break;case 5:sort_score(stu,3);system(cls);8

14、83.break;case 6:sort_score(stu,4);system(cls);printscore(stu,num);break;case 7:sort_aver(stu);system(cls);printscore(stu,num);break;case 8:sort_sum(stu);system(cls);printscore(stu,num);break;185. 186. void sort_ID(STU stu)Dstuj.ID)187.188.tmp=stuj-1;189.stuj-1=stuj;190.stuj=tmp;191.192.19

15、3.194.195.void sort_score(STU stu,int m)coremstuj.scorem)196.197.tmp=stuj-1;198.stuj-1=stuj;199.stuj=tmp;void sort_aver(STU stu)verstuj.aver)tmp=stuj-1;stuj-1=stuj;stuj=tmp;void sort_sum(STU stu)umstuj.sum)00015.tmp=stuj-1;

温馨提示

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

评论

0/150

提交评论