8-运动会比赛计分系统
- 格式:doc
- 大小:47.50 KB
- 文档页数:3
数据结构运动会分数统计系统一、系统需求分析在设计运动会分数统计系统之前,我们首先需要明确系统的需求。
运动会通常包括多个项目,如田径、游泳、球类比赛等,每个项目又有不同的小项和参赛选手。
因此,系统需要能够处理大量的比赛数据,包括选手信息、比赛项目、成绩等。
1、数据录入功能系统应提供方便快捷的数据录入界面,支持手动输入和批量导入数据。
录入的数据应包括选手的基本信息(如姓名、性别、班级等)、参赛项目、比赛成绩等。
2、成绩计算功能能够根据不同项目的比赛规则自动计算选手的成绩和得分。
例如,在田径比赛中,根据选手的跑步时间计算名次和得分;在游泳比赛中,根据选手的游泳时间计算得分;在球类比赛中,根据比赛结果(如胜、负、平)计算得分。
3、数据存储功能系统需要将录入和计算得到的数据安全地存储起来,以便后续查询和分析。
数据存储应采用可靠的数据库管理系统,如 MySQL、Oracle 等。
能够根据不同的条件查询和统计比赛数据,如查询某个选手的比赛成绩、某个班级的总分、某个项目的前三名等。
统计结果应以清晰直观的方式展示,如表格、图表等。
5、报表生成功能系统应能够生成各种报表,如比赛成绩报表、班级总分报表、项目排名报表等。
报表应支持打印和导出为 Excel、PDF 等格式,方便数据的共享和存档。
二、系统设计基于上述需求分析,我们可以设计一个基于数据结构的运动会分数统计系统。
系统主要由以下几个模块组成:1、数据录入模块该模块负责接收用户输入的比赛数据,并进行合法性检查和数据预处理。
数据录入可以通过网页界面、Excel 导入等方式进行。
2、成绩计算模块根据比赛项目的规则和录入的成绩数据,计算选手的得分和排名。
成绩计算可以采用算法实现,如冒泡排序、快速排序等。
3、数据存储模块使用数据库来存储比赛数据,包括选手信息表、比赛项目表、成绩表等。
数据库设计应遵循规范化原则,以确保数据的一致性和完整性。
通过编写 SQL 查询语句,实现对比赛数据的查询和统计功能。
运动会上的电子计分系统是如何工作的?在如今的运动会中,电子计分系统已经成为了不可或缺的一部分。
它不仅提高了计分的准确性和效率,还为比赛的公正性和精彩程度提供了有力的保障。
那么,这个神奇的电子计分系统到底是如何工作的呢?首先,我们来了解一下电子计分系统的组成部分。
它通常包括硬件设备和软件程序两大部分。
硬件设备包括传感器、摄像头、计算机、显示屏等。
传感器是用来捕捉运动员的成绩数据,比如在田径比赛中,用于测量跑步时间的电子计时设备;摄像头则可以用于拍摄比赛过程,辅助裁判进行判罚或者提供回放功能。
计算机是整个系统的核心,负责处理和存储数据。
而显示屏则用于实时展示比赛成绩和相关信息。
软件程序则是整个系统的“大脑”,它控制着硬件设备的运行,对收集到的数据进行分析和处理,并以清晰直观的方式呈现给观众和工作人员。
在比赛开始前,工作人员会对电子计分系统进行精心的设置和调试。
这包括输入比赛项目的规则、参赛选手的信息、计分的方式等等。
例如,在田径比赛中,需要设置好不同项目的起跑反应时间限制、终点线的判定标准等。
当比赛正式开始时,传感器和摄像头等设备就开始工作了。
以田径比赛中的短跑为例,运动员冲过终点线的瞬间,安装在终点线的传感器会迅速捕捉到这一信号,并将其转化为电信号传输给计算机。
计算机接收到这个信号后,通过内置的算法和程序,精确计算出运动员的成绩,包括用时、速度等。
在一些需要裁判主观判罚的项目中,比如体操、跳水等,摄像头拍摄到的比赛画面会被传输到计算机中。
裁判可以通过观看回放,对运动员的表现进行评估和打分。
软件程序会自动汇总裁判的打分,并计算出最终的成绩。
电子计分系统还具备实时数据传输和显示的功能。
比赛过程中,计算机处理得到的成绩会立即传输到显示屏上,让现场观众能够第一时间了解比赛的最新情况。
同时,这些数据还可以通过网络传输到其他终端,比如赛事的官方网站、移动应用程序等,让更多无法亲临现场的人也能及时获取比赛信息。
《程序设计基础》课程设计报告题目运动会比赛计分系统设计专业班级学号姓名指导老师完成时间目录1 设计要求 .................................................................................................. 错误!未定义书签。
2 系统设计 ............................................................................................... 错误!未定义书签。
2.1 设计思路................................. 错误!未定义书签。
2.2 系统功能模块............................. 错误!未定义书签。
2.3 系统流程图............................... 错误!未定义书签。
2.4 算法设计与描述........................... 错误!未定义书签。
3 关键程序代码 .......................................................................................... 错误!未定义书签。
4 程序运行结果 .......................................................................................... 错误!未定义书签。
5 总结 .......................................................................................................... 错误!未定义书签。
参考文献 ........................................................................................................ 错误!未定义书签。
运动会分数统计系统课程设计报告数据结构院系:专业:班级:学号:姓名:教师:时间:一、问题描述1、功能任务:参加运动会有n个学校,学校编号为1……n。
比赛分成m个男子项目,和w个女子项目。
项目编号为男子1……m,女子m+1……m+w。
不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。
(m<=20,n<=20),按要求实现相应的数据输入、查询、计分等功能。
2、数据建议输入学校的名称,运动项目的名称等,其余信息学生自行设计;输出形式:有合理的提示,各学校分数为整形;数据的存储结构自行设计。
建议运动会的相关数据要存储在数据文件中。
3、操作1)可以输入各个项目的前三名或前五名的成绩;2)能统计各学校总分,3)可以按学校编号或名称、学校总分、男女团体总分排序输出;4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
4、要求提供系统菜单,界面友好,提示信息完整。
二、系统分析及设计1、需求分析根据运动会分数统计系统的问题分析及设计要求,可以将此系统分为四个模块:信息统计模块、信息输出模块、信息查询模块、信息调用模块。
其系统功能结构图如图所示。
(1)、信息统计模块实现信息的输入、统计、存档。
(2)、信息输出模块实现信息的输出。
(3)、信息查询模块实现信息的查询。
(4)、信息调用模块实现信息的调用,即从文件中读出信息并输出。
2、概要设计此系统采用顺序存储结构存储,定义了一个结构体数组存放参赛学校的信息。
之所以采用顺序存储结构,是因为用它来实现信息的存储、查询比较方便,节省时间,效率高,而且也方便把信息写入文件以及读取文件。
(1)、结构体定义如下:①、定义运动项目数据类型,用于存放运动项目的信息,包括项目名称、项目编号、用户自己定义的取前3名还是前5名的积分、名次、分数。
typedef struct{char proname[10]; //项目名称int pronum; //项目编号int top; //取前3名或前5名积分,由用户自己定义int range[5]; //名次int mark[5]; //分数}Pronode; //项目结点类型定义②、定义学校数据类型,用于存放参赛学校的信息,包括学校名称、学校编号、学校总分、男子团体总分、女子团体总分以及项目数组。
湖南商学院课程设计(实习)报告题目运动会比赛计分系统姓名:谭斌学号:100910062专业: 电子信息工程班级: 电信1002班指导老师: 梁英组员: 田驰颜伟计算机与电子工程学院2011年8月目录1 概述 (1)1.1设计目的 (1)1.2 课程设计内容 (1)1.3相关知识 (2)2 系统设计 (2)2.1系统功能要求 (2)2.2.1主函数 (3)2.2.2数组 (3)2.2.3文件的储存 (4)2.3程序流程图 (5)3 调试与运行 (6)3.1调试结果 (7)3.1.1首先运行文件运动会统计分数7.exe (7)3.1.2 输入信息 (7)3.1.3输出信息 (8)3.1.4查询信息 (11)3.1.5 调用信息 (11)3.2调试过程中出现的问题和处理方式 (11)4 总结 (12)4.1调试中所遇到的较重要问题的回顾 (12)4.1.1提出问题 (12)4.1.2解决问题 (12)4.1.3提出问题 (12)4.1.4分析问题 (12)4.1.5解决问题 (13)4.1.6提出问题 (13)4.1.7分析问题 (13)4.1.8解决问题 (13)4.2算法的效率及改进设想 (13)5 心得体会 (14)附1 (14)附2 (14)附3 (27)附4 (28)附5 (29)参考文献 (30)一、概述1.1设计目的《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。
数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。
数据结构课程设计是为数据结构课程独立开设的实践性教学环节。
数据结构课程设计对于巩固数据结构知识,加强学生的实际动手能力和提高学生综合素质是十分必要的。
计算机学院信息管理与信息系统专业《程序设计综合课程设计》报告(2010/2011学年第一学期)学生姓名:学生班级:学生学号:指导教师:2011 年1月4日目录第一章课程设计的目的和要求 (1)1.1课程设计问题描述 (1)1.2课程设计基本要求 (1)1.3课程设计测试数据 (1)第二章课程设计任务内容 (2)第三章详细设计说明 (3)3.1数据类型定义 (3)3.2程序功能图及功能说明 (4)3.2.1程序功能图 (4)3.2.2程序功能说明 (4)3.3程序流程图 (5)3.4算法设计 (6)第四章程序测试 (7)4.1多组数据输入与输出 (7)4.2操作过程 (10)第五章课程设计心得与体会 (11)第六章致谢 (12)附录一参考文献 (13)附录二程序清单 (14)运动会计分系统第一章课程设计的目的和要求1.1课程设计问题描述参加运动会的系有n个,其中系编号从1至n。
比赛分成w个女子项目和m 个男子项目。
运动会比赛项目编号是:男子1……m,女子m+1……m+w。
在比赛的结果中,不同的项目取前五名或者取前三名的积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。
(m<=20,n<=20)1.2课程设计基本要求(1)能够方便快捷的输入各个项目的前三名或前五名的成绩(2)能够按系编号、系总分、男女团体总分进行排序并输出(3)能够精确的统计各系的总分(4)能够按系编号查询系某个项目的基本情况,能够按项目编号查询取得前三或前五名的系1.3课程设计测试数据a)按1键进入添加系的界面,根据提示,再输入:汽车系。
再输入:8,成功添加了一个系。
再输入:2进入运动项目添加界面,根据提示,再输入:跳高;1;0;1;2;3。
之后输入0。
再次进入系统界面b)按3键查看系统中输出的结果c)按4键查看系统中输出的结果d)按5键查看系统中输出的结果e)按6键查看系统中输出的结果f)按7键根据提示输入项目编号并查看系统中输出的结果g)按8键根据提示输入系编号并查看系统中输出的结果第二章课程设计任务内容A.可以输入各个项目的前三名或前五名的成绩B.可以按系编号、系总分、男女团体总分排序输出C.可以统计出各系的总分D.可以按系编号查询系某个项目的情况E.可以按项目编号查询取得前三或前五名的系F.数据存入文件中,并且可以随时查询G.系统操作规定:输入数据形式和范围:可以输入学院(系)的名称和运动会项目的名称输出形式:有中文提示,各学院(系)分数为整形H.界面要求:有合理的操作提示,每个功能都可以设立菜单,并且根据提示,可以完成相关的功能要求I.存储结构:学生自己可以根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中,实时保存第三章详细设计说明3.1数据类型定义(1)运动项目定义:typedef struct Sport //运动项目结构{char name[20]; //运动项目名称int isboy; //0为女项目,1为男项目int is3; //0为取前五名,1为取前五名int number; //项目编号int first; //第一名系的编号int second; //第二名系的编号int third; //第三名系的编号int fourth; //第四名系的编号int fifth; //第五名系的编号Sport *next;}Sport;、运动项目结构体定义如下:char型的数组,int型的number,first,second,third,fourth,fifth以及sport类型的指针next。
#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>#define LEN sizeof(struct athlete)#define FORMAT "%-8d%-15s%-6s%-12s%-10.2f%-10.2f%-10.2f%-10.2f\n"#define DATA member[i].num,member[i].name,member[i].sex,member[i].faculty,member[i].run,member[i].bas ketball,member[i].football,member[i].totalstruct athlete //定义运动员信息{int num; //编号char name[15]; //运动员姓名char sex[6]; //运动员性别char faculty[12] ; //运动员所在院系float run; //跑步分数float basketball; //篮球分数float football; //足球分数float total; //该运动员总分数};struct athlete member[50]; //定义结构体数组void menu(); //主界面void in(); //录入运动员信息void show(); //显示运动员信息void del(); //删除运动员信息void modify(); //修改运动员信息void total(); //计算某一运动员的总分void search(); //查找运动员信息int main(){int n;menu();scanf("%d",&n); //输入数字选择功能while(n){switch(n){case 1:in(); //调用录入运动员信息函数break;case 2:search(); //查找运动员信息函数break;case 3:del(); //调用删除运动员信息函数break;case 4:modify(); //调用修改运动员信息函数break;case 5:total(); //调用汇总函数break;default:break;}printf("按任意键返回主菜单:\n");getch();menu(); //执行完功能再次显示菜单界面scanf("%d",&n);}return 0;}void menu(){system("cls");printf("|-------------------------------------------------------------------------------|\n");printf("|--------------------------------运动会比赛计分系统-----------------|\n");printf("| 0. 退出|\n");printf("| 1. 录入信息|\n");printf("| 2. 查找信息|\n");printf("| 3. 删除信息|\n");printf("| 4. 修改信息|\n");printf("| 5. 统计信息|\n");printf("|-------------------------------------------------------------------------------|\n");printf("选择(0-5):");}void in() //录入运动员信息{int i,m=0;char ch[2];FILE *fp;if((fp=fopen("运动会比赛计分系统","ab+"))==NULL){printf("不能打开文件!\n");return;}while(!feof(fp)){if(fread(&member[m] ,LEN,1,fp)==1)m++; //统计当前记录条数}fclose(fp);if(m==0)printf("没有找到!\n");else{//system("cls");show(); //调用show函数,显示原有信息}if((fp=fopen("运动会比赛计分系统","wb"))==NULL){printf("不能打开文件!\n");return;}for(i=0;i<m;i++)fwrite(&member[i] ,LEN,1,fp); //向指定的磁盘文件写入信息printf("是否输入?(y/n):");scanf("%s",ch);while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0) //判断是否要录入新信息{printf("编号:");scanf("%d",&member[m].num); //输入运动员编号for(i=0;i<m;i++)if(member[i].num == member[m].num){printf("该记录已经存在,按任意键继续!");getch();fclose(fp);return;}printf("运动员姓名:");scanf("%s",member[m].name); //输入运动员姓名printf("请输入性别:");scanf("%s",member[m].sex); //输入性别printf("请输入院系:");scanf("%s",member[m].faculty); //输入院系printf("请输入跑步分数:");scanf("%f",&member[m].run); //输入跑步分数printf("请输入篮球分数:");scanf("%f",&member[m].basketball); //输入篮球分数printf("请输入足球分数:");scanf("%f",&member[m].football); //输入足球分数member[m].total=member[m].run+member[m].basketball+member[m].football;if(fwrite(&member[m],LEN,1,fp)!=1) //将新录入的信息写入指定的磁盘文件{printf("不能保存!");getch();}else{printf("%s 已经保存!\n",member[m].name);m++;}printf("是否继续?(y/n):");scanf("%s",ch);}fclose(fp);printf("OK!\n");}void show(){FILE *fp;int i,m=0;fp=fopen("运动会比赛计分系统","ab+");while(!feof(fp)){if(fread(&member[m] ,LEN,1,fp)==1)m++;}fclose(fp);printf("编号姓名性别院系跑步分数篮球分数足球分数总分\t\n");for(i=0;i<m;i++){printf(FORMAT,DATA);}}void del(){FILE *fp;int snum,i,j,m=0;if((fp=fopen("运动会比赛计分系统","ab+"))==NULL){printf("不能打开文件\n");return;}while(!feof(fp))if(fread(&member[m],LEN,1,fp)==1)m++;fclose(fp);if(m==0){printf("没有记录!\n");return;}printf("请输入编号:");scanf("%d",&snum);for(i=0;i<m;i++)if(snum==member[i].num)break;if(i==m){printf("没有找到!");return;}printf("已经找到该记录,是否删除?(y/n)");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0) //判断是否要进行删除{for(j=i;j<m;j++)member[j] = member[j+1]; //将后一个记录移到前一个记录的位置m--; //记录的总个数减1printf("成功删除!\n");}if((fp=fopen("运动会比赛计分系统","wb"))==NULL){printf("不能打开!\n");return;}for(j=0;j<m;j++) //将更改后的记录重新写入指定的磁盘文件中if(fwrite(&member[j] ,LEN,1,fp)!=1){printf("不能保存!\n");getch();}fclose(fp);}void search(){FILE *fp;int snum,i,m=0;char ch[2];if((fp=fopen("运动会比赛计分系统","ab+"))==NULL){printf("不能打开文件\n");return;}while(!feof(fp))if(fread(&member[m],LEN,1,fp)==1)m++;fclose(fp);if(m==0){printf("没有记录!\n");return;}printf("请输入编号:");scanf("%d",&snum);for(i=0;i<m;i++)if(snum == member[i].num){printf("已经找到该记录,是否显示?(y/n)");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0){printf("编号姓名性别院系跑步分数篮球分数足球分数总分\t\n");printf(FORMAT,DATA);break;}elsereturn;}if(i==m)printf("没有找到相应的记录!\n");}void modify()FILE *fp;int i,j,m=0,snum;char ch[2];if((fp=fopen("运动会比赛计分系统","ab+"))==NULL){printf("不能打开文件!\n");return;}while(!feof(fp))if(fread(&member[m],LEN,1,fp)==1)m++;fclose(fp);if(m==0){printf("没有记录!\n");fclose(fp);return;}printf("请输入要修改的信息的编号!\n");scanf("%d",&snum);for(i=0;i<m;i++)if(snum==member[i].num) //检索记录中是否有要修改的信息{printf("已经找到该记录,是否修改?(y/n)\n");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0){printf("运动员姓名:");scanf("%s",member[i].name); //输入运动员姓名printf("请输入性别:");scanf("%s",member[i].sex); //输入性别printf("请输入院系:");scanf("%s",member[i].faculty); //输入院系printf("请输入跑步分数:");scanf("%f",&member[i].run); //输入跑步分数printf("请输入篮球分数:");scanf("%f",&member[i].basketball); //输入篮球分数printf("请输入足球分数:");scanf("%f",&member[i].football); //输入足球分数member[i].total=member[i].run+member[i].basketball+member[i].football; //计算总分printf("保存成功!");}elsereturn;}else{printf("没有找到!");return;}if((fp=fopen("运动会比赛计分系统","wb"))==NULL){printf("不能打开文件!\n");return;}for(j=0;j<m;j++) //将新修改的信息写入指定的磁盘文件中if(fwrite(&member[j] ,LEN,1,fp)!=1){printf("不能保存!");}fclose(fp);}void total() // 统计{FILE *fp;int m=0;if((fp=fopen("运动会比赛计分系统","ab+"))==NULL){printf("不能打开记录!\n");return;}while(!feof(fp))if(fread(&member[m],LEN,1,fp)==1)m++; //统计记录个数if(m==0){printf("没有记录!\n");fclose(fp);return;}printf("一共有%d 条记录!\n",m); //将统计的个数输出fclose(fp); }。
一、课程设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。
通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的.(3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力.(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法.(6)熟练掌握C语言的基本语法,灵活运用各种数据类型。
(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。
二、课程设计名称及内容课程设计名称:运动会比赛计分系统设计内容:设计一个运动会比赛计分系统,该系统要求对运动会比赛得分进行管理和维护.三、任务和要求要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种:(1)取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;(2)取前3名:第一名得分5,第二名得分3,第三名得分2;(3)用户自定义:各名次权值由用户指定.四、设计方案提示(1)界面系统以菜单方式工作(2)输入数据并存入文件使用到结构体变量和动态链表,由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。
对输入的信息进行合法性判断,直到输入正确为止.都输入完成后,调用写文件函数对指定的文件进行写操作,把输入的信息写入到文件中。
(3)显示所有记录将文件中的所有记录以表格的形式输出.如果文件未打开会出现“文件打开失败!按任意键返回.。
合肥学院
计算机科学与技术系
课程设计任务书
2010~2011学年第二学期
课程C语言课程设计
课程设计名称运动会比赛计分系统
专业班级
指导教师
20 11 年6月
一、课程设计目的
将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。
通过课程设计,学生在下述各方面的能力应该得到锻炼:
(1)进一步巩固、加深学生所学专业课程《C语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。
(6)熟练掌握C语言的基本语法,灵活运用各种数据类型。
(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。
二、课程设计名称及内容
课程设计名称:运动会比赛计分系统
设计内容:设计一个运动会比赛计分系统,该系统要求对运动会比赛得分进行管理和维护。
三、任务和要求
要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种:
(1)取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;
(2)取前3名:第一名得分5,第二名得分3,第三名得分2;
(3)用户自定义:各名次权值由用户指定。
四、设计方案提示
(1)界面
系统以菜单方式工作
(2)输入数据并存入文件
使用到结构体变量和动态链表,由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。
对输入的信息进行合法性判断,直到输入正确为止。
都输入完成后,调用写文件函数对指定的文件进行写操作,把输入的信息写入到文件中。
(3)显示所有记录
将文件中的所有记录以表格的形式输出。
如果文件未打开会出现“文件打开失败!按任意键返回...”,关闭文件。
(4) 查询
所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。
五、主要知识点
●程序设计方法
●界面制作
●动态数组(链表)
●文件的读写
六、其他
程序设计可在Turbo C、VC++、C++ Builder环境下进行。
七、参考资料
[1]黄明等编著《C语言课程设计》北京:电子工业出版社
[2]郭翠英编著《C语言课程设计案例精编》北京:中国水利水电出版社
[3] 宁正元《数据结构(c语言)》南京:东南大学出版社。
2000年6月第1版
[4] 严蔚敏等《数据结构(c语言版)》北京:清华大学出版社,1997年4月第1版
[5] 谭浩强编著《C程序设计题解与上机指导(第3版) 》北京:清华大学出版社
[6] 谭浩强编著《C程序设计(第3版) 》北京:清华大学出版社。