没有合适的资源?快使用搜索试试~ 我知道了~
运动会分数统计系统实验报告.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 10 下载量 165 浏览量
2022-06-18
13:40:07
上传
评论 4
收藏 1.83MB DOCX 举报
温馨提示
试读
16页
运动会分数统计系统实验报告.docx运动会分数统计系统实验报告.docx运动会分数统计系统实验报告.docx运动会分数统计系统实验报告.docx运动会分数统计系统实验报告.docx运动会分数统计系统实验报告.docx运动会分数统计系统实验报告.docx运动会分数统计系统实验报告.docx运动会分数统计系统实验报告.docx
资源推荐
资源详情
资源评论
运动会分数统计系统的实现
1、问题描述
1、主界面设计
本程序采用链式存储类型(LNode)存储运动会分数统计系统的节点信息。运动会分数
统计系统的链表中的结点包括 8 个域:项目编号域(objnum)、项目类型(objtype)、运动
员编号(athnum)、运动员姓名(athname[20])、学校编号(schnum)、校名(schname[30])、
运动员分数(athscore)和指向下一个节点的指针欲(struct LNode *next)。
3、系统功能设计
本系统设置了 8 个子功能菜单。8 个子功能的设计描述如下:
(1)录入各项目的成绩。由函数 creatLink()实现。当用户选择该功能时,系统会以用
户输入的数据运动会分数统计链表。
(2)统计各学校分数。由函数 schoolScore()实现。当用户选择该功能时,系统会统计
各学校分数。
(3)按学校编号顺序输出。由函数 printfSchoolNumber()实现。当用户选择该功能时,
系统会按学校编号顺序输出数据。
(4)按学校总分顺序输出。由函数 printfSchoolScore()实现。当用户选择该功能时,系
统会按学校总分顺序输出数据。
(5)按男女团体总分顺序输出。由函数 printfManWomanScore()实现。当用户选择该功
能时,系统会按男女团体总分顺序输出数据。
(6)按学校编号查询学校某项目情况。由函数 printfSchoolObject()实现。当用户选择
该功能时,系统会按学校编号输出学校某项目情况。
(7)按项目编号查询取得前三名或前五名的学校。由函数 printfObjectSchool()实现。
当用户选择该功能时,系统会按项目编号查询取得前三名或前五名的学校情况。
(8)退出。由 exit(0)函数实现。
三、模块设计
1、模块设计
本程序包含两个模块:主程序模块和工作区选择模块。其调用关系如图 2 所示。
主程序模块 工作区选择模块
图 2
模块调用示意图
2、系统子程序及功能设计
本系统共设置个 6 子程序,各子程序的函数名及功能说明如下。
(1) LinkList creatLink() //创建链表(录入各项目的成绩)
(2) int schoolScore(LinkList L)
(3) void
printfSchoolNumber()
(4) void printfSchoolScore()
//统计各学校总分
//按学校编号顺序输出
//按学校总分顺序输出
(5) void printfManWomanScore(LinkList L //按男女团体总分排序输出
(6) void printfSchoolObject(LinkList L)
(7) void printfObjectSchool(LinkList L)
名的学校
//按学校编号查询学校某项目情况
//按项目编号查询取得前三名或前五
(8) int main() //主函数
3、函数主要调用关系图
本系统 6 个子系统之间的主要调用关系如图 3 所示,图中数字是各函数的编号。
1 2 3 4 5
6 7
图 3 系统函数调用关系图
四、详细设计
1、数据类型定义
(1)本系统采用链式结构存储运动会分数统计的结点。节点定义如下:
typedef struct LNode{// 链表节点数据结构
int objnum;
char objtype;
int athnum;
char
athname[20];
int schnum;
char
schname[30];
int athscore;
struct LNode
*next;
}LNode,*LinkList;
(2)各学校情况数据结构的结构定义成结构体数组形式。定义如下:
struct School{
int
schoolnumber;
char
schoolname[30];
int schoolscore;
}school[30];
2、系统主要子程序详细设计
(1)创建链表(录入各项目的成绩)子程序设计
LinkList creatLink(){
LinkList L=(LinkList)malloc(LEN);
LinkList p,q;
int
num,objnum,n;
char objtype;
L->next=NULL;
p=L;
printf("请输入男女项目总个数:");
scanf("%d",&num);
while(num--){
printf("请输入项目编号:");
scanf("%d",&objnum);
printf("请输入项目类型:");
getchar();
objtype=getchar(
);
printf("请输入 3(代表取前三名)或 5(代表取前五名):");
scanf("%d",&n);
printf("请按名次顺序输入运动员编号,姓名,学校编号,校名和成绩\n");
while(n--){
q=(LinkList)malloc(LEN)
;
q->objnum=objnum;
q-
>objtype=objtype;
printf("请输入运动员编号:");
scanf("%d",&q->athnum);
printf("请输入运动员姓名:");
getchar();
scanf("%s",q->athname);
printf("请输入学校编号:");
scanf("%d",&q-
>schnum);
printf("请输入校名:");
getchar();
scanf("%s",q-
>schname);
printf("请输入成绩:");
scanf("%d",&q-
>athscore);
q->next=NULL;
p->next=q;
p=q;
}
}
return(L);
}
(2)统计各学校总分子程序设计
int schoolScore(LinkList L){
LinkList p;
int i;
p=L->next;
for(i=0;i<20;i++){
school[i].schoolscore=0;
school[i].schoolnumber=-
1;
}
while(!p==NULL){
for(i=0;i<20;i++){
if(school[i].schoolnumber==-
1){
strcpy(school[i].schoolname,p-
>schname);
school[i].schoolnumber=p-
>schnum;
school[i].schoolscore=p-
>athscore;
剩余15页未读,继续阅读
G11176593
- 粉丝: 6643
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页