- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
合肥学院
计算机科学与技术系
一.选题
名称: 运动会分数统计程序
内容: 参加运动会的 n 个学校编号为 1~n,比赛分成 m个男子项目和 w 个女子项目,项目
编号分别为 1~m和 m+1~m+w。有些项目取前五名,得分依次为 6,4,3,2 ,1;有些项目取
前三名,得分依次为 4,2 ,1。写一程序产生各学校的成绩单 ( 包括各校所取得的每项成绩
的项目号、成绩、姓名和得分 ) 和团体总分报表 ( 包括校号、男子团体总分、女子团体总分
和团体总分 ) 。基本要求: (1)可以输入各个项目的前三名或前五名的成绩; (2 )能统计各
学校总分, (3) 可以按学校编号或名称、 学校总分、 男女团体总分排序输出; 4) 可以按学校
编号查询学校某个项目的情况; 可以按项目编号查询取得前三或前五名的学校。 5 )数据存
入文件并能随时查询。
二. 需求分析
1. 本演示程序中,学校编号要求为 1~n,男子比赛项目编号要求为 1~m,女子比赛项目编
号要求为 m+1~m+w(m=20,n=20),根据不同项目取不同的名次(前三名或前五名) ,
数据输入时需注意格式的正确。
2. 演示程序以人机交互的方式执行, 即在计算机上显示提示信息后, 由用户在键盘上输入
对应的数据或命令,程序将执行相应的操作并显示下一步信息。
3. 程序执行的命令包括:
1
1) 建立比赛成绩数据;
2 )显示各学校的成绩单;
3 )显示各校团体总分报表;
4 )分别显示男女团体总分;
5 )查询学校的单项目的成绩;
6 )测试数据。
规定:输入数据形式和范围: 20 以内的整数(如果做得更好可以输入学校的名称,运
动项目的名称)
输出形式:有中文提示,各学校分数为整形
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能
要求。
存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储
在数据文件中。 (数据文件的数据读写方法等相关内容在 c 语言程序设计的书上, 请自学解
决)请在最后的上交资料中指明你用到的存储结构;
测试数据:要求使用 1、全部合法数据; 2、整体非法数据; 3、局部非法数据。进行
程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;
三.概要设计
1.以结构数组来存储比赛数据,其基本操作为写入数据和查找数据。
struct node
{
int num;
};
struct node *f[]; 用于存储每个结点的基本信息。
定义一个文件指针 *fp 来完成对数据的存储:
FILE *fp
2 .本程序包含六个模块:
1) 主程序模块: main{} 在 main 函数中完成子函数调用和数据初始化。
调用选择菜单:
choos=choose();
存储数据初始化:
for(i=0;i=a;i++)
{
f[i]=(struct node *)malloc(sizeof(struct node)*(c+d+3));
for(j=0;j=c+d+2;j++)
f[i][j].num=0;
}
完成相应的功能:
1 接受输入数据— 2 处理数据— 3 接受具体指令(在选择菜单中选择相应的功能)— 4 显示
相应数据
2 ) 各项比赛数据模块:可以通过调用输入函数记录各项比赛的结构体数组。
3 ) 学校成绩模块:记录各学校成绩的结构体数组。
文档评论(0)