- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计任务书
题目:运动会成绩管理系统
一、课程设计时间
共计1周,20学时。
二、课程设计内容
用C语言编写软件完成以下任务:
1 录入运动员信息;
2 按项目查询运动员成绩;
3 按系排名(参照运动员的总成绩)。
三、课程设计要求
1. 程序质量:
贯彻结构化的程序设计思想。
用户界面友好,功能明确,操作方便。
用户界面中的菜单至少应包括“运动员信息录入”、“按项目查询运动员信息”、“按系排名”、“退出”4项。
代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:
课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字
指导教师:________ 学生签名:________
五、说明书成绩
目 录
一、需求分析 1
二、程序流程图 2
三、核心技术的实现说明及相应程序段 5
四、课设总结 9
五、参考文献 9
六、源程序 10
一、需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为3个模块,每一个模块对应一个函数。在这些函数当中,添加学生数据函数,按系排名(参照学生总成绩)函数,按项目查询学生成绩函数的实现严格按照题目的要求。主函数及菜单函数控制程序的整体运行。
1. 添加学生数据函数 主要实现程序最初运行时学生数据的录入以及其后的运行中学生数据的追加功能;
2. 按系排名(参照学生总成绩)函数 按照题目的具体要求实现的是参照不同院系的学生的总成绩给出院系的排名;
3. 按项目查询函数 允许按照项目名称对学生的各项成绩进行查询;
除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
每一个学生记录都包含学号、姓名、系别,以及赛跑比赛、跳远比赛、跳高比赛三门成绩,在程序当中,将学生记录类型定义为结构体类型,添加以及追加的学生信息直接写入定义的结构体中,其它函数每次对学生记录的访问,其数据来源都是该结构体,这样做不但可以保证学生数据的一致性,而且可以对学生数据进行永久保存,保证每次运行程序都可以采用原来的数据。
二、程序流程图
1. 程序总体结构图
图1程序总体结构图
2. 具体功能框图
(1)添加学生数据函数add
图2 添加学生数据函数
(2)按系排名(参照学生总成绩)函数sort
图3按系别排名
(3)按项目查询函数query
三、核心技术的实现说明及相应程序段
本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。在这些函数当中,添加学生数据函数、按系排名函数和按项目查询函数是程序中较为核心的部分,下面分别进行说明。
1. 添加数据函数
当执行学生成绩录入功能时,所录入的数据被储存程序开头所定义的结构体中,并且各种数据被保存其中,方便以后其他的功能函数调用。具体的程序段如下:
int n,i;
printf(请输入要添加的学生数量,按回车键确认:);
scanf(%d,n);
for(i=1;i=n;i++)
{
printf(\n请输入第%d个学生的学号、姓名,系别,用空格分开,并按回车键确认:\n,i);
scanf(%s%s%s,stu[i].num,stu[i].name,stu[i].xibie);
printf(\n请输入第%d个学生的赛跑比赛、跳远比赛、跳高比赛,用空格分开,并按回车键确认:\n,i);
scanf(%f%f%f,stu[i].race,stu[i].jump,stu[i].high);
printf(%s %s %s %f %f %f \n,stu[i].num,stu[i].name,stu[i].xibie,stu[i].race,stu[i].jump,stu[i].high);
}
2. 按系排名函数(参照学生总成绩)
对于按系的排名采用的排序算法是冒泡法排序,其中总成绩的求得是在排序的过程中实现的,整个排序过程在结构体数组stu中实现,由于排序算法涉及到两个数组元素的信息交换,因此还需要定义一个中间变量来协助。排序函数使学生数据的排列顺序发生了变化,因此也需要对结构体进行更新。此外,对于系别排序后名次的确定,仅在结果输出时予以显示。具体的程序段如下:
int i,j;
printf(*********************按系成绩排序结果如下**********************************\n\n);
printf( 名次 系别 总成绩 \n);
文档评论(0)