首页 成绩有序管理

成绩有序管理

举报
开通vip

成绩有序管理沈 阳 航 空 工 业 学 院 课程设计 学 号 __________ 班 级 __________ 姓 名 __________ 指导教师 __________ 年 月 日 课程设计任务书 一、课程设计题目:成绩有序管理 二、课程设计工作 三、课程设计内容: 运用所学的C语言知识,编制和调试程序,具有如下功能: (1) 输入十个学生的记录信息,学生数据包括:学号、姓名、班级、成绩,其中成绩包括:英语、高数、计算机三门课程。 (2) 采用直接插入排序算法将学生记录按照学号进行降序排序,并将学生记录顺序输出。求出每个...

成绩有序管理
沈 阳 航 空 工 业 学 院 课程设计 学 号 __________ 班 级 __________ 姓 名 __________ 指导教师 __________ 年 月 日 课程设计任务书 一、课程设计题目:成绩有序管理 二、课程设计工作 三、课程设计内容: 运用所学的C语言知识,编制和调试程序,具有如下功能: (1) 输入十个学生的记录信息,学生数据包括:学号、姓名、班级、成绩,其中成绩包括:英语、高数、计算机三门课程。 (2) 采用直接插入排序算法将学生记录按照学号进行降序排序,并将学生记录顺序输出。求出每个学生的平均分,对其进行升序排序并输出。 注:算法请参考任意一本C语言版数据结构教材。 四、课程设计要求: 程序质量: ​ 贯彻结构化程序设计思想。 ​ 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。 ​ 用户界面中的菜单至少应包括“输入数据”、“查询”、“排序”、“退出”4项。 ​ 代码应适当缩进,并给出必要的注释,以增强程序的可读性。 课程设计说明书: 课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下: ​ 封面 ​ 课程设计任务书 ​ 目录 ​ 需求分析(分析题目的要求) ​ 程序流程图(总体流程图和主要功能模块流程图) ​ 核心技术的实现说明及相应程序段 ​ 个人总结 ​ 参考 资料 新概念英语资料下载李居明饿命改运学pdf成本会计期末资料社会工作导论资料工程结算所需资料清单 ​ 源程序及适当的注释 指导教师:____________________ 学生签名:____________________ 目录 TOC \o "1-3" \h \z 一、程序设计题目………………………………………………1 二、需求分析……………………………………………………1 三、程序流程图…………………………………………………2 四、核心技术的实现方法、程序段及注释……………………5 五、个人总结……………………………………………..……..8 六、参考文献……………………………………………………9 一、程序设计题目 学生成绩有序管理,具体要求如下: 1、输入学生数据 2、采用直接插入排序算法将学生记录按照学号进行降序排序,并将学生记录顺序输出。 3、求出每个学生的平均分,对其进行升序排序并输出。 二、需求分析 经过对程序设计题目的分析可知,整个程序的设计实现大致分为三个模块,其中每一个模块对应一个函数,他们的功能分别是:输入学生数据函数(input),用插入法按学号排序函数(sort_num),求平均分并排序函数(sort_class)。 在这些函数当中,函数的实现严格按照题目的要求。 1、输入学生数据函数 主要实现程序最初运行时学生数据的录入; 2、用插入法按学号排序函数 实现的功能是按照学号对学生的数据记录排序。 3、求平均分并排序函数 按照题目的具体要求实现的是平均分的递减排序并输出;注:每个学生数据至少应该包括学号、姓名、三门成绩,学生数据要保存在myfile.dat文件中。 每一个学生记录都包含学号、姓名,以及英语、计算机和数学三门成绩,在程序当中,将学生记录类型定义为结构体类型,添加以及追加的学生信息直接写入E盘的myfile.dat文件中,可以对学生数据进行永久保存。 三、程序流程图 1、程序总体结构图 图1. 程序总体结构图 2、具体功能框图 (1)添加学生数据函数input() 图2. 添加学生数据函数input() (2)用插入法按学号排序函数 图3. 用插入法按学号排序函数 (3)按平均分排序函数sort 图4. 按平均分排序函数sort 四、核心技术的实现方法、程序段及注释 本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当中,输入学生数据函数(input),用插入法按学号排序函数(sort_number),求平均分并排序函数(sort_class)是程序中为核心的部分,下面分别进行说明。 1、输入学生数据函数(input) 输入数据为,首先由程序创建一个新文件,并将录入的学生信息写入该文件当中;具体的程序段如下 void input()/*输入学生数据函数(input)*/ {int i,j; FILE *fp; fp=fopen("E:\\myfile.dat","w+");/*创建一个新文件*/ printf(" Enter No name class score\n"); for(i=0;i=0&&strcmp(stu[j].No,stu[j+1].No)>0) { stu[j+1]=stu[j]; j--; } stu[j+1]=temp; } output1(); } 3、求平均分并排序函数(sort_class) 对于平均分的排序采用的排序算法是冒泡法排序,其中平均分的求得是在排序的过程中实现的,整个排序过程在结构体数组stu中实现,由于排序算法涉及到两个数组元素的信息交换,因此还需要定义一个中间变量来协助,并用(output2)函数输出。 具体的程序段如下: sort_class()/*求平均分并排序函数*/ { struct student temp; int i,j; for(i=0;i(stu[j+1].e+stu[j+1].c+stu[j+1].m)/3.0) { temp=stu[j+1]; stu[j+1]=stu[j]; stu[j]=temp; } } output2();} 五、个人总结 在课程设计过程中的收获和体会很多,通过本次课设使我对语言程有了更深的了解,而且使我认识到必须有认真的态度才能找出程序中的错误。本次课设程序基本完成,达到了题目要求。 六、参考文献 1 谭浩强.C程序设计.北京:清华大学出版社,2005 2 刘成等.C语言程序设计实验指导与习题集.北京:中国铁道出版社,2006 七、附录 原程序: #include #include #include #include int mulu(); void input(); void OpenFile(); void sort_No(); sort_class(); void output1(); void output2(); #define N 10 struct student { char No[30]; char name[30]; char class[30]; int e; int c; int m; }stu[N]; void main() { int i; clrscr(); for(;;) { switch(mulu()) { case 1:input();break; case 2:sort_number();break; case 3:sort_class();break; case 4:exit(0); } } } int mulu() { int a; puts("***************Menu*****************"); puts("***************1.New****************"); puts("***************2.No pai xu*********"); puts("***************3.score pai xu******"); puts("***************4.Exit***************"); printf("Make choice:"); puts(""); do scanf("%d",&a); while(a<1||a>4); return(a); } void input() { int i,j; FILE *fp; fp=fopen("C:\\myfile.dat","w"); printf(" Enter No name class score\n"); for(i=0;i=0&&strcmp(stu[j].No,stu[j+1].No)>0) { stu[j+1]=stu[j]; j--; } stu[j+1]=temp; } output1(); } sort_class() { struct student temp; int i,j; for(i=0;i(stu[j+1].e+stu[j+1].c+stu[j+1].m)/3.0) { temp=stu[j+1]; stu[j+1]=stu[j]; stu[j]=temp; } } output2(); } void output1() { int i; for(i=0;i
本文档为【成绩有序管理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_826614
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:16
分类:
上传时间:2011-03-25
浏览量:22