运动会分数统计实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

一.设计要求 (1)

二.设计分析 (1)

三.设计实现 (3)

四.实验心得 (8)

五.参考文献 (8)

一.设计要求:

任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)

功能要求:1).可以输入各个项目的前三名或前五名的成绩;

2).能统计各学校总分,

3).可以按学校编号、学校总分、男女团体总分排序输出;

4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)

输出形式:有中文提示,各学校分数为整形

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

二.设计分析:

本程序中学校的存储结构为数组.

运动项目结构体:

图1 运动项目结构体

学校结构体:

图2学校机构体

主菜单结构:

图3主菜单结构主要结构:

typedef struct //项目结构

{

char xmm[100]; //项目名称

char num[5]; //项目编号

int score; //项目得分}xiangm;

typedef struct school

{

int num; //学校编号

char schoolname[20]; //学校名称

int manscore; //男子得分

int womenscore; //女子得分

int sum; //总分

xiangm man[MAX]; //男子项目

int man_num; //男子项目个数

int man_score; //男子团体总分

xiangm women[MAX]; //女子项目

int women_num; //女子项目个数

int women_score; //女子团体总分

}school;

主要函数:

void fun1_1() //对学校和项目进行初始化操作

void fun1_lurum1(int flag)//录入男子取前3名的项目成绩

void fun1_luruw1(int flag) //录入女子取前3名的项目成绩

void fun1_lurum2(int flag) //录入男子取前5名的项目成绩

void fun1_luruw2(int flag) //录入女子取前5名的项目成绩

void fun1_sum() //计算学校总得分以及男子团体总分女子团体总分void fun1() //输入各个项目成绩,调用前面的函数

void fun2() //按学校编号排序输出

void fun3() //按学校总分排序并输出结果

void fun4() //分别进行男子团体总分排序和女子团体排序并输出void fun5() //输入一个学校的编号查询该学校取得的成绩

void fun6() //输入一个项目的编号查询该项目的得分学校情况void save() //将数据写到school.txt文件中

void load() //从school.txt文件中读取数据

三.设计实现:

1.程序主界面:

图4程序主界面2.输入功能:

图5输入功能完成3.按学校编号排序输出:

图6按学校编号排序输出4.按学校总分排序输出:

图7按学校总分排序输出5.按男女团体总分排序输出:

图8按男女团体总分排序输出

6.按学校编号查询某个项目的情况:

图9按学校编号查询某个项目的情况7.按项目编号查询取得名次的学校:

图10按项目编号查询取得名次的学校8.存储数据:

图11存储数据

9.存储的数据:

图12存储的数据

10.读取数据:

图13读取数据

四.实验心得:

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际能力的具体训练和考察过程.

写之前有第一感觉是用链表写.但是上次的课程设计写的就是链表,所以想尝试一下用数组写这个题目.写完之后两者对比起来处理这种题目还是用链表比较方便.用数组太花存储空间了,处理太多数据的话就不现实了.在文件读写的时候由于数据太多写入和读取都要一个一个处理.通过这次课程设计使我懂得了理论与实际相结合是很重要的,从而提高自己的实际动手编程能力和独立思考能力.

而对于程序。最大的体会就是必须严谨。身为一个程序员必须要有严谨的思维。好的程

序是让别人挑不出毛病的程序,而不是动不动就修改升级。那样用户用起来会觉得麻烦。而且会质疑会不会还有什么隐藏着的漏洞。

学习编程是一个循序渐进的过程,如果想提高不是短时间就能看出效果的。必须坚持多练,多写。很多东西老师不可能一一教大家。遇到问题第一时间不要想着找别人。要通过自己的努力完成这个目标。有困难就查资料,实在是攻克不了了再去求助同学和老师。这样才能更好地提升自己的能力。

五.参考文献:

[1] 谭浩强 C语言程序设计学习辅导(第2版)(M)清华大学出版社 (2009-01出版)

[2] 数据结构:C语言版/严蔚敏,吴伟民编著. ---北京:清华大学出版社,2007

相关文档
最新文档