




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告一题目:运动会分数统计班级: 姓名: 学号: 完成日期:2015.4.71 需求分析 写一个统计程序使得产生参赛各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次(成绩)、姓名和得分 ;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。二概要设计1.类型定义及模块 数据结构:线性表顺序存储结构 struct Athlete /定义运动员结构体 struct Seqlist /定义顺序表类型数组元素:school,item,rank,score,name22,sex,last,n,m,w,Sum,j,i,s,ms,ws 2.使用的操作: int sum(int
2、 m,int w) / 判断项目号奇偶,选取排名人数 void change(Athlete* e) / 实现名次到分数的转换 void enter( Seqlist* list,int m,int w) / 建立数组用来存放数据 void display(Seqlist* L,int n) / 输出学校的成绩单及团体总分等信息 3.具体操作切分 int main() / 实现总体调用函数三详细设计1.数据结构的定义:struct Athlete /
3、运动员结构体,定义了运动员中的属性 int school; /学校编号 int item; /项目编号 int rank; /名次 int score; /成绩 char name22; /姓名 char sex; /性别 ; struct Seqlist /结构体数组 Athlete elemMAXSIZE; int la
4、st; 2.使用的基本操作,处理操作:1. void change(Athlete* e)操作前提:e的排名及参加类型非空。操作结果:根据运动员排名及项目类型得出选手成绩。2.void enter( Seqlist* L,int m,int w)操作前提:表L存在。操作结果:将运动员信息录入到表内。3.void display(Seqlist* L,int n) 操作前提:表L存在。 操作结果:得到各学校成绩单 4.int sum(int m,int w) 操作前提:m和w为整数,表L存在。 操作结果:编号为奇数的项目取前五名,编号为偶数的项目取前三名3.函数调用关系: main e
5、nter disply change四调试分析 1.错误:修改:在struct Athlete 和struct Seqlist中的“”后加“;”2.错误:测试中,分数计算错误(如图:)修改:在void change(Athlete* e)中的switch(e->rank)语句里每条结束前加break,避免死循环而无法退出3.错误: 修改:将语句cout<<"请输入项目,运动员姓名,性别(w/m),学校,名次"<<endl;中的中文“;”换成英文“;”五、用户使用说明: 1>本程序的运行环境为Dev-C+。 2>进入演示程序后及显示文
6、本方式的用户界面:输入学校个数,男子项目以及女子项目的个数:(编号为奇数的项目取前五名,得分顺序为7,5,3,2,1;编号为偶数的项目取前三名,得分顺序为5,3,2)请输入项目,运动员姓名,性别(w/m),学校,名次打印成绩单和成绩报表*学校 姓名 性别 项目 名次 分数 2> 在运行框内输入参加运动会学校个数s,运动员总数a,然后按回车。 3>项目号为奇数的项目取前五名,项目号为偶数的项目取前三名,每个学生的信息占一行,其中包括学校,运动员姓名,性别(w/m),项目,名次,分数。 4>全部输入完成之后,按回车,即可出现运行结果,产生团体总分报表,即各个学校的成绩单和男子团体
7、总分,女子团体总分和团体总分。测试数据与运行结果:6 源代码(列出源代码)#include<iostream> #include<stdio.h> #include<stdlib.h> #define MAXSIZE 100 using namespace std; struct Athlete int school; /学校编号 int item; /项目编号 int rank; /名次 int score; /成绩 char name22; /姓名 char sex; /性别 ; struct Seqlist Athlete elemMAXSIZE; i
8、nt last; ;int sum(int m,int w) int Sum=0; for(int i=1;i<=(m+w);i+) if(i%2=1) Sum=Sum+5; if(i%2=0) Sum=Sum+3; return Sum;void change(Athlete* e) if(e->item%2=0) switch(e->rank) case 1: e->score=5; break; case 2: e->score=3; break; case 3: e->score=2; break; if(e->item%2=1) switch
9、(e->rank) case 1: e->score=7; break; case 2: e->score=5; break; case 3: e->score=3; break; case 4: e->score=2; break; case 5: e->score=1; break; void enter( Seqlist* L,int m,int w) int i=1; L->last=sum(m,w); cout<<"(编号为奇数的项目取前五名,得分顺序为7,5,3,2,1;编号为偶数的项目取前三名,得分顺序为5,3,2)
10、"<<endl; cout<<"请输入项目,运动员姓名,性别(w/m),学校,名次"<<endl; for(int i=1;i<=L->last;i+) cin>>L->elemi.item>>L->>>L->elemi.sex >>L->elemi.school>>L->elemi.rank; change(& L->elemi); void display(Seqlist* L,int n)
11、 int j,i; int s=0,ms=0,ws=0; cout<<"打印成绩单和成绩报表:"<<endl; for(j=1;j<=n;j+) /学校数目 ws=0;ms=0;s=0; cout<<"*"<<endl; cout<<"学校 姓名 性别 项目 名次 分数"<<endl; for(i=1;i<=L->last;i+) if(L->elemi.school=j) cout<<" "<<
12、L->elemi.school<<" "<<L-><<" "<<L->elemi.sex<<" "<<L->elemi.item<<" "<<L->elemi.rank<<" "<<L->elemi.score<<endl; if(L->elemi.sex='w') ws+=L->elemi.score; if(L->elemi.sex='m') ms+=L->elemi.score; s=ws+ms; cout<<j<<"学校的团体总分是:"<<s<<endl; cout<<j<<"号学校的女子团体总分是:"<<ws<<endl; cout<<j<<"号学校的男子团体总分是:"<<ms<<endl; cout<<endl; in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文档格式化编写与版本控制模板
- 大医精诚护理考试题库及答案
- 健康数据统计表-健康数据监测报告
- 质量标准与服务信誉承诺书8篇
- 高三关于四季的记叙文600字作文(15篇)
- 医疗安全法规培训课件
- 保险业产品销售代理协议
- 品牌合作推广服务合同
- 畜牧业生产技术服务外包合同
- 医疗安全事件培训记录课件
- 婴儿配方奶粉管理办法
- 政务摄影培训课件模板
- 2025年新疆中考数学试卷真题(含答案解析)
- 中央厨房体系管理制度
- GB/T 19437-2025印刷技术印刷图像的光谱测量和色度计算
- 2025至2030中国医疗服务行业产业运行态势及投资规划深度研究报告
- 宾馆内部治安管理制度
- 《鲁迅故居》课件
- 央视春晚活动策划
- 全职妈妈工作简历模板
- 网络安全面试题库及答案
评论
0/150
提交评论