数据结构课程设计-运动会分数统计1.doc_第1页
数据结构课程设计-运动会分数统计1.doc_第2页
数据结构课程设计-运动会分数统计1.doc_第3页
数据结构课程设计-运动会分数统计1.doc_第4页
数据结构课程设计-运动会分数统计1.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 目录目录: 1 1. .需需求求分分析析:4 功能要求:4 性能需求:4 2 2. .概概要要设设计计:4 1.存储结构设计:.4 2.流程图设计:.6 3 3. .详详细细设设计计:10 4.菜菜单单窗窗口口:.19 1.主菜单窗口.19 2. 输入各个项目成绩并存储文件.19 3. 统计各学校总分.22 4. 按学校编号排序输出.23 5. 按学校总分排序输出.23 6. 按男团体总分排序输出.24 7. 按女团体总分排序输出.24 8. 按学校编号查询学校某个项目情况.25 9. 按项目编号查询取得名次的学校.25 10 退出.25 5 5. .课课程程设设计计总总结结与与体体会会:.26 6 6. .致致谢谢:26 2 1.1. 需求分析:需求分析: 1 1 运动会分数统计(难度运动会分数统计(难度*) 任务:参加运动会有 10 个学校,学校编号为 110。比赛分成 18 个男子项目,和 12 个女子项目。项目编号为男子 118,女子 1930。不同的项目取前三名积分,前 三名的积分分别为:5、3、2。 功能要求: b)可以输入各个项目的前三名的成绩; c)能统计各学校总分; d)可以按学校编号或名称、学校总分、男女团体总分排序输出; e)数据存入文件并能随时查询 f)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有中文提示,各学校分数为整型 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储 在数据文件中。 (数据文件的数据读写方法等相关内容在 java 语言程序设 计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 测试数据:测试数据及测试结果请在上交的资料中写明; 性能需求:性能需求: 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关 的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据 要存储在数据文件中。 2.2.概要设计:概要设计: 1.流程图设计:流程图设计: main()函数流程图 3 开始 int t !g2|!g1 exit(1); system(“cls“); 选择操作编号 123456789 4 school *p1 和和 items *p2 !p1|!p2 exit(1) ; y printf()() ; w20 n yyy printf(“输入有误输入有误”)printf(“输入有误输入有误”)printf(“输入有误输入有误”) nnn y 请选择请选择 1.前三名前三名 2.前五名前五名 !1 kn; printf(“%dttt ,k,g2-bk.score); k+ printf(“n”); 结束 开始 int i=2,j,k; in printf(“%dt“,k); system(“pause“); 结束 y n multiplex i+ k=1 kn printf(“%d tt%dn“,g2-bk.school,g2-bk.score); k+ n y 开始 int i=2,j,k; in printf(“%dt“,k); system(“pause“); 结束 y n multiplex i+ k=1 kn printf(“%d tt%dn“,g2-bk.school,g2-bk.score); k+ n y save()函数流程图 funct2()函数流程图 funct3()函数流程图 funct4()函数流程图 6 开始 int i=2,j,k; in printf(“%dt“,k); system(“pause“); 结束 y n multiplex i+ k=1 kn printf(“%dtt %dn“,g2-bk.school,g2-bk.boys); k+ n y 开始 int i=2,j,k; in printf(“%dt“,k); system(“pause“); 结束 y n multiplex i+ k=1 kn printf(“%dtt %dn“,g2-bk.school,g2-bk.girls); k+ n y 开始 int i=2,j,k; p2!=null; 结束 y n p2item,p2-record); p2=p2-next; printf(“n“); y n 开始 int i p2!=null; 结束 n printf(“n“); printf(“ 学校%d:得%d 分 “,p1-school,p1-record); y funct5()函数流程图 funct6()函数流程图 funct7()函数流程图 funct8()函数流程图 7 3.3.详细设计:详细设计: #include #include #include #include #include #define n 2/学校数目 #define m 1/男子项目数目 #define w 1/女子项目数目 #define null 0 typedef struct int itemnum; /项目编号 int top; /取名次的数目 int range3; /名次 int mark3; /分数 itemnode; /定义项目结点的类型 typedef struct int schoolnum; /学校编号 int score; /学校总分 int mscore; /男团体总分 int wscore; /女团体总分 itemnode cm+w; /项目数组 headnode;/定义头结点类型 headnode hn;/定义一个头结点数组 void inputinformation() /输入信息,建立系统 int i,j,k,s; for(i=0;im+w|j=0) printf(“此次运动会没有这个项目nnn“); /学校编号超出范围,则输出警告 else printf(“这个项目取前 %d 名,该学校的成绩如下:n“, h0.cj-1.top); for(k=0;km+w|s=0) printf(“此次运动会不包括这个项目.nnn“); /项目编号超出范围则输出警告 else printf(“该项目取前 %d 名,取得名次的学校n“,h0.cs-1.top); 12 for(i=0; in;i+) for(j=0;j5;j+) if(hi.cs-1.rangej!=0) printf(“学校编号:%d,名次:%dn“,hi.schoolnum, hi.cs-1.rangej); /输出该项目取得名次学校的成绩 printf(“nnn 继续 2,跳出 0n“); scanf(“%d“, printf(“nnn“); while(i=2); break; void writedata() /把数据存储在文件中 file *report; int i; if(report=fopen(“sportsdata.txt“,“w“)=null) printf(“不能打开文件n“); exit(1); for(i=0;in;i+) fwrite( fclose(report); /按头结点块写入 void readdata() /读出文件中数据的函数 file *report; int i,j,k,s; if(report=fopen(“sportsdata.txt“,“r“)=null) printf(“file can not be openedn“); exit(1); for(i=0;in;i+) printf(“*学校编号:“); fread( printf(“%dn“,k); printf(“*学校总分:“); 13 fread( printf(“%dn“,k); printf(“*男团总分:“); fread( printf(“%dn“,k); printf(“*女团总分:“); fread( printf(“%dn“,k); printf(“nnn“); getch(); for(j=0;jm+w;j+) printf(“*项目编号:“); fread( printf(“%dn“,k); printf(“*所取名次数量:“); fread( printf(“%dn“,k); for(s=0;s5;s+) fread( if(k!=0) printf(“*名次:“), printf(“%dn“,k); for(s=0;s5;s+) fread( if(k!=0) printf(“*分数:“), printf(“%dn“,k); printf(“nnn“); getch(); fclose(report); /关闭文件 /按照读一个数据就输出一个数据的方式显示数据内容 int main() int choice; printf(“=欢迎使用=n“); printf(“nn*运动会分数统计系统*n“); printf(“nn*1.输入信息*n“); 14 printf(“*2.输出信息*n“); printf(“*3.查询信息*n“); printf(“*4.调用信息*n“); printf(“*5.退出系统*nnn“); printf(“=nn“); printf(“*请选择要实现步骤的编号:nn“); scanf(“%d“, switch(choice) case 1: inputinformation();writedata();readdata();main(); case 2: output();main(); case 3: inquiry();main(); case 4: readdata();main(); case 5: exit(0); default: exit(0); 4 4程序运行结果程序运行结果 系统总界面: 15 当选择 1 时,根据提示输入学校信息和项目编号 当输入完各项数据后可选择查询和输出,下图选择 3 16 选择 2 时可输出信息,如下图 5.5.课程设计总结与体会:课程设计总结与体会: 在这次的课程设计过程中,我学到的不仅是知识,我还认识到许多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论