- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1
二○一一 ~二○一二 学年第 二 学期
信息科学与工程学院
课程设计报告书
课程名称: C程序课程设计
班 级:
学 号:
姓 名:
指导教师:
二○一二年 九 月
需求分析:
设计题目:设计运动会成绩统计系统。有n个学校参加运动会,学校编号为1……n。比赛分成m个男子项目和w个女子项目,项目编号为男子1m,女子m+1maw,不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。
设计要求:①实现在程序中修改积分,然后将积分以文件(score.txt)的形式保存。②实现对所有参赛学校的总积分排序,并将排序结果以文件(sort.txt)的形式保存。
系统功能需求分析:该系统须实现每个学校与其运动员以及其所得名次的对应关系,然后实现名次与所得积分的对应,最后必须求出每个学校的总积分同时按由大到小排序。
二、概要设计:
系统总体设计框架:①对相关函数进行声明。②用menu函数实现提供程序的友好界面功能。③用input函数实现输入学校数、男子项目数、女子项目数以及各名次学校编号功能。④用alter函数实现改变各项目学校编号功能从而改变积分。⑤用show函数实现对所输入的各项目名次学校编号的显示⑥用sort函数实现将各学校以及其总积分按从大到小的顺序排列的功能。⑦用save函数实现将积分以文件(score.txt)的形式保存同时将排序结果以文件(sort.txt)的形式保存。
系统功能模块图:
运动会成绩统计程序
运动会成绩统计程序
用户友好页面提供模块
比赛成绩输入模块
比赛成绩改变模块
输入成绩展示模块
成绩排序输出模块
输入成绩保存模块
详细设计:
主要功能模块的算法设计思路及对应的工作流程图:
1、比赛成绩输入模块:
主要算法设计思路:
通过定义一个input函数来实现输入相关数据的功能,首先通过几个scanf函数来输入学校数n,男子项目数m,女子项目数w,再通过一个if语句来实现各项目取前三或前五名的选择,最后通过一个for循环来将各项目名次学校编号存入结构体items中,从而实现输入功能。
工作流程图:
输入n
输入n
成立
不成立
If(n)
输入n,m,w,c
输入前三名学校编号
输入前五名学校编号
c=1
c=2
否则
结束
结束
2、比赛成绩改变模块:
主要算法设计思路:
通过一个alter函数实现对相关项目各名次学校编号的改变功能,首先通过scanf函数来输入所需改变的项目编号,然后再通过一个if语句来实现各项目取前三或前五名的选择,最后通过一个for循环来实现对所选项目名次学校编号的重新输入,从而达到所需功能。
工作流程图:
输入n
输入n
If(n)
输入需修改项目号x
x=0||xm+w
输入c
输入前三名学校编号
输入前五名学校编号
C=1
C=2
否则
修改完毕
修改完毕
不成立
成立
3、成绩排序输出模块:
主要算法设计思路:
通过一个sort函数来实现对所输入的各学校成绩进行排序,并按从大到小的顺序排列,首先,通过switch函数使各项目前三或者前五名依次赋予相应的积分,并把各学校相应积分累加,再通过冒泡法来将各学校成绩进行排序,最后用一个for语句依次按照从大到小的顺序来输出各学校成绩。
工作流程图:
输入n
输入n
If(n)
不成立
赋予前三名相应积分,并将各学校积分累加。
赋予前五名相应积分,并将各学校积分累加。
items[i].flag==1
items[i].flag==2
通过冒泡法来对各学校成绩进行排序。
输出结果
四、主要源程序代码:
#includestdio.h
void menu(); /*函数声明*/
void input(); /*函数声明*/
void alter(); /*函数声明*/
void show(); /*函数声明*/
void sort(); /*函数声明*/
void save(); /*函数声明*/
struct item /*定义结构体*/
{
int itemno;
int flag;
int score[5];
}items[100];
struct school /*定义结构体*/
{
int schno;
int scores;
}schools[5
您可能关注的文档
最近下载
- 耐磨测试报告.xls VIP
- 2024年合肥经开区莲花等四个社区卫生服务中心二次招聘10人笔试历年参考题库典型考题及考点剖析附带答案详解.docx
- 餐后低血压管理的中国专家共识(2025)解读PPT课件.pptx VIP
- WS 233-2017病原微生物实验室生物安全通用准则.pdf
- 文件南京工业大学 高数B(B)试卷含答案h.docx VIP
- 计算机应用基础项目化教程(Windows10+Office2016)高职全套完整教学课件.pptx
- 人教版六年级上册位置与方向练习题.docx VIP
- 个人租房合同(简单版).pdf VIP
- 风电吊装安全培训.pptx VIP
- 2025年电子工程基础题库及答案大全.pdf VIP
原创力文档


文档评论(0)