运动会分数统计.docx

上传人:b****1 文档编号:448966 上传时间:2022-10-10 格式:DOCX 页数:23 大小:46.93KB
下载 相关 举报
运动会分数统计.docx_第1页
第1页 / 共23页
运动会分数统计.docx_第2页
第2页 / 共23页
运动会分数统计.docx_第3页
第3页 / 共23页
运动会分数统计.docx_第4页
第4页 / 共23页
运动会分数统计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

运动会分数统计.docx

《运动会分数统计.docx》由会员分享,可在线阅读,更多相关《运动会分数统计.docx(23页珍藏版)》请在冰豆网上搜索。

运动会分数统计.docx

运动会分数统计

运动会分数统计

成绩:

__________

院、系计算机与软件学院专业软件工程

姓名不爱拉面学号

指导教师

二零一五年十二月二十五日

运动会分数统计

摘要:

运动会分数统计

关键词:

数据结构、文件存储、排序、查找

前言:

很多同学学到数据结构这门课时,可能老师会要求我们写个系统,如果你刚好是这个系统,欢迎来参考我的代码。

在网上找了很多代码,不是这里有问题就是那里有问题,各种错误。

调试起来有很多问题,于是我自己花了一些时间来写了这段代码。

在使用这个代码的时候,只有一点需要注意,输入的时候必须先输入总体数据。

以上。

1.设计要求

根据课程设计任务书要求,本系统开发主要完成以下功能和性能。

任务:

参加运动会有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以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)

输出形式:

有中文提示,各学校分数为整形

界面要求:

有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:

学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。

2.数据结构

typedefstruct

{

charitem_name[NAME_LEN];//项目名字

intrank_num;//3or5

intm,w;

}ItemNode;

typedefstructSchoolNode

{

chars_name[NAME_LEN];//学校名字

intscore;//项目成绩

intm_score;//男团体总分

1

intw_score;//女团体总分

intn;

}SchoolNode;

typedefstruct

{

intrank[6];//是否获得名次,0或者1}DataNode;

学校和项目分别构成一个结构体数组,再以学校为横坐标,项目为纵坐标,建立Data结构体二维数组,

Data中存放某学校某项目获将情况,获奖记为1。

3.模块功能

3.1详细设计

1(主cpp中只放intmain(),由switch分支语句组成,用于在功能间的跳转。

2(除main()外,分别设有sort()排序,consult()查询,input()输入,output()输出,

save()保存,menu()菜单等头文件,各司其职。

3(保存的时候,分别将三个结构体数组存储到不同的文件中。

4.sort.h中,重新定义schoolNode,利用冒泡排序进行排序。

5.output.h中,注意输出时候格式的整齐。

3.2样例结果预览

男子总分排序:

查询某项目的前3或5名:

2

3.3关键代码

intmain()

{

greet();

while

(1)

{

switch(Menu_Select_One())

{

case1:

//输入信息

input_two();break;

case2:

//显示各学校总分

output_total_score();break;

case3:

//排序

while

(1)

{

switch(Menu_Select_Tow())

{

case1:

//按学校编号排序

output_total_score();break;

case2:

//按学校总分排序

sort_one();break;

case3:

//按男团体总分排序

sort_two();break;

case4:

//按女团体总分排序

sort_three();break;

case0:

//返回主菜单

break;

}

break;

}

break;

case4:

while

(1)

{

switch(Menu_Select_Three())

{

case1:

//按学校编号查询学校某个项目情况

3

consult_one();break;

case2:

//按项目编号查询取得名次的学校

consult_two();break;

case0:

break;

}

break;

}

break;

case5:

//保存信息

saveInfo();break;

case6:

//从文件读取信息

readInfo();break;

case7:

input_one();break;

case0:

//退出系统

printf("\t谢谢使用~\n\t再见\n~");

exit(0);

default:

printf("\t选择操作错误~\n");break;

}

}

}

4.设计总结

刚接到这个题目,实在是无法入手。

在网上找了很多代码,试着运行了,但都存在或这或那的问题。

在和一个好朋友讨论之后,我才最终确定了这样的数据结构。

时限之前,我通宵了一个晚上把代码码好,

完善。

在存储的时候遇到很多问题,但也一一解决了,结构体数组存储形式方便了很多。

本次实验中,我

打破了以往写代码的常规,把不同的模块写在了不同的头文件中,使程序的结构清晰明了。

最后,深深地

体会到,作业一定要规划出时间来完成,要不然就要通宵赶代码啦。

参考文献:

【1】黄同成,黄俊民,董建寅,《数据结构》,北京,中国电力出版社,2008

【2】严蔚敏,吴伟民.《数据结构,C语言版,》.北京,清华大学出版社,2002

【3】刘振鹏,张晓莉,郝杰,《数据结构》,北京,中国铁道出版社,2003

4

源码,

#include

#include

#defineNAME_LEN10#defineSCHOOL_NUM20#defineITEM_NUM20

typedefstruct

{

charitem_name[NAME_LEN];//项目名字

intrank_num;//3or5

intm,w;

}ItemNode;

typedefstructSchoolNode{

chars_name[NAME_LEN];//学校名字

intscore;//项目成绩

intm_score;//男团体总分

5

intw_score;

intn;

}SchoolNode;

typedefstruct

{

intrank[6];

}DataNode;

SchoolNodeschool[SCHOOL_NUM];ItemNodeitem[ITEM_NUM];DataNodedata[SCHOOL_NUM][ITEM_NUM];intn,m,w;

/*-----------------------menu---------------------------------------*/

intMenu_Select_One()//菜单界面1

{intselect;

do

6

{system("color0a");system("cls");

printf("\t\t(^o^)--------------------------------------(^o^)\n");

printf("\t\t(^o^)----以下是菜单选项,请选择,-------(^o^)\n");

printf("\t\t(^o^)--------------------------------------(^o^)\n");

printf("\t\t(^o^)----1.输入各个项目成绩及信息----(^o^)\n");

printf("\t\t(^o^)--------------------------------------(^o^)\n");

printf("\t\t(^o^)----2.显示各学校总分----(^o^)\n");

printf("\t\t(^o^)--------------------------------------(^o^)\n");

printf("\t\t(^o^)----3.信息排序----(^o^)\n");

printf("\t\t(^o^)--------------------------------------(^o^)\n");

printf("\t\t(^o^)----4.信息查询----(^o^)\n");

printf("\t\t(^o^)--------------------------------------(^o^)\n");

printf("\t\t(^o^)----5.保存信息到文件----(^o^)\n");

printf("\t\t(^o^)--------------------------------------(^o^)\n");

printf("\t\t(^o^)----6.从文件中读入信息----(^o^)\n");

printf("\t\t(^o^)--------------------------------------(^o^)\n");

printf("\t\t(^o^)----7.输入总信息------------------(^o^)\n");

printf("\t\t(^o^)--------------------------------------(^o^)\n");

printf("\t\t(^o^)----0.退出系统----(^o^)\n");

printf("\t\t(^o^)--------------------------------------(^o^)\n");

printf("\t请输入要选择的操作(0-7),");

scanf("%d",&select);

7

}while(select>7||select<0);

returnselect;

}

intMenu_Select_Tow()//菜单界面2

{intselect;

do

{system("colore0");system("cls");

printf("\t\t(^o^)------------------------------------(^o^)\n");

printf("\t\t(^o^)----以下是菜单选项,请选择,----(^o^)\n");

printf("\t\t(^o^)------------------------------------(^o^)\n");

printf("\t\t(^o^)----1.按学校编号

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1