文档库 最新最全的文档下载
当前位置:文档库 › c语言课程设计运动会比赛计分系统(含任务书)

c语言课程设计运动会比赛计分系统(含任务书)

c语言课程设计运动会比赛计分系统(含任务书)
c语言课程设计运动会比赛计分系统(含任务书)

. .

一、课程设计目的

将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:

(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) 查询

所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。

二:算法设计:

信息输入模块、比赛结果录入模块以及查询模题目的总体要要建立三个模块:信息输入模块、建立三个模块块。在建立完之后,要求该程序能够在用户将各种必要的信息记录之后,用户可以查询所有学校的比赛成绩,而且也可以生成团体总分表,查看参赛学校信息和比赛项目信息等一切录入的信息,为此,要示编程人员能通过一些具体的程序将以上的功能加以实现。在建立三个模块的大前提下,我们将采用结构体,循环体,指针和各种函数来实现这种功能,在数据结构体中,要采用结构体数组,其中包括学校、项目、运动员三个结构体。学校结构体成员包括学校校名、竞赛项目、得分项目结构体成员包括项目名、权值。(1)在此程序中,包括几个头文件:mainfile.h; dos.h; conio.h; momery.h; 接下来,定义全)局变量,其中包括“参赛学校项目数 N;男子项目数 M;女子项目数 W;参赛学校g_school; 竞赛项目g_sport; 各名次链表指针ptrHead,ptrThis,ptrNew; 总体设计:系统设计为信息输入模块、比赛结果录入模

块和查询模块三个模块。总体设计:系统设计为信息输入模块、比赛结果录入模块和查询模块三个模块。

(2)各种结构的分析:)各种结构的分析:静态存储方式:它是指在程序运行期间由系统分配固定的存储空间的方式,全局变量全部存静态存储方式:放在静态存储区中,在程序开始执行时给全局变量分配存储区,程序执行完毕就释放,在程序执行过程中它们占据固定的存储单元,而不是动态地进行分配和释放。用static 声明局部变量:使用该变量可以使局部变量的值在函数调用结束后不消失而保留原值,这即为静态局部变量的特点。静态局部变量属于静态存储类别,在静态存储区分配存储单元,在程序整个运行期间都不释放。对静态局部变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。如在定义局部变量时不赋初值的话,则对静态局部不说,编译时自动赋初值 0 (对数值型变量)或空字符总体设计信息输入模块比赛结果录入模块查询模块设置参赛信息设置竞赛项目总数主菜单设置竞赛项目信息设置项目名次取法生成报表打印竞赛项目信息填充参赛信息请输入您的选择开始。而对自动变量来说,如果不赋初值则它的值是一个不确定的值。虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的。 Malloc 函数函数的作用是在存的动态存储区中分配一个长度为 size 的连续空间。此函数的值是一个指向分配域起始地址的指针,如果此函数未能成功地执行,则返回空指针。链表是动态地进行存储分配的一种结构,所谓建立动态链表是指在程序执行过程中从无到有地建立一个链表,即一个一个地开辟结点和输入各结点数据,并建立起前后相链的关系。循环结构是结构程序设计的基本结构之一,它和顺序结构、选择结构共同作为各种复循

环结构杂程序的基本构造单元。通常用 while、do…while 语句实现循环,最常用的是 for 语句的循环,夺循环中还有循环的嵌套,它是指一个循环体又包含另一个完整的循环结构。用语句来实现从循环体跳出来,即提前结束循环,接着执行循环下面的语句,但 break 语句不能用于循环语句和 swich 语句之外的任何其他语句中。另外一种就是 continue 语句,它的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。 Swich 语句语句是多分支选择语句,它后面括号的“表达式” ,ANSI 标准允许它为任何类型。当表达式的值与一个 case 后面的常量表达式的值相等时,就执行此 case 后面的语句,若所有的 case 中的常量表达式的值都没有与表达式的值匹配的,就执行 default 后面的语句,每一个 case 的常量表达式的值必须都不相同;否则就会出现相互矛盾的现象。各个 case 和 default 的出现次序不影响执行结果,执行完一个 case 后面的语句后,流程控制转移到下一个 case 继续执行。“case 常量表达式”只是起语句标号作用,并不是在该处进行条件判断。在执行swich 语句时,根据 swich 后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断程序流程图开始请输入您的选择 c s i p q 编号 n=0? i<=2 i=0 i=1 0 2 1 MAX—M MAX—W 男团总分女团总分 r 团体总分输出 t 生成报表结束 HOU 第 6 页 2010/9/5 项目名次的取法及每一名次的分值开始请选择编号 0 1 2 0 7 输入名次 0 5 1 5 1 3 t=i 2 3 2 2 i=i+1 3 2 i>0 4 1 n<5 n<3 输出

****************************MENU1*******************************

****** 1.enter!!! 2.record!!! 3.search!!! ***********************************************************************

******** choice your number:( )

二、课程设计体会在此次的 C 语言的课程设计中,,我不仅学到了许多有庆这方面的专业知识,更重要的是我学会了如何在拿到一个题目时进行简单的程序分析,并编译出一些相对简单的程序,当然了,对自己编译出的不对的程序,我也能进行一些分析,并对其进行完善。在此次的学习过程中,老师教给了我们很多的东西,从一开始的不懂 VC++这种软件,到最后的我们可以进行较熟练的应用它,也许在这过程中,我们无论是学生还是老师都遇到了一些小的困难,但是在我们师生的共同努力下,我们最终还是克服了它,单从这一点来说,我们就学到了许多的东西,比如 teamwork,同学之间的相互帮助以及与老师的配合,都证明了这一点,我相信这是我此次学习 C 语言程序的最大收获。在我的程序设计的过程中,遇到了很大有难题,特别是在刚拿到我的题目时,头脑中根本没有头绪,更不要说去编译程序了,当时真的很担心是否可以完成老师布置的任务,但慢慢的在学习的过程中,我开始懂得了一些编译的方法,就尝试着去编译一些程序,结果还是很好,最后我编出了我题目的程序,但是在程序的运行过程中,又遇到了新的难题,那就是我所编的程序中有太多的错误,根本无法进行运行,没办法,只好硬着头皮修改,不过还好,在老师和同学们的帮助下,我最终将我的程序成功地进行了运行,在我自己的程序运行时,心中有一种说不出的高兴,是的,自己这几天的努力总是没有白费。

五.附录:

源代码:

#include

#include

#include #define n 2

#define m 1

#define w 1

typedef struct

{

int top;

int range[5];

int mark[5];

int itemnum;

}itemnode;

typedef struct

{

int schoolnum; int score;

int mscore;

int wscore;

itemnode c[m+w]; }headnode; headnode h[n];

void input()

{

int i,j,k,s;

for(i=0;i

{

h[i].schoolnum=0;

h[i].score=0;

h[i].mscore=0;

h[i].wscore=0;

}

for(i=0;i

{

printf("\n学校编号:");

scanf("%d",&h[i].schoolnum);

for(j=0;j

{

printf("\n项目编号:");

scanf("%d",&h[i].c[j].itemnum); printf("\n取前3或前5名:");

scanf("%d",&h[i].c[j].top);

运动会分数统计系统课程设计报告

运动会分数统计系统 课程设计报告 数据结构 院系: 专业: 班级: 学号: 姓名:

教师:时间:

一、问题描述 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; //项目结点类型定义 ②、定义学校数据类型,用于存放参赛学校的信息,包括学校名称、学校编号、学校总分、男子团体总分、女子团体总分以及项目数组。 typedef struct { char schname[20]; //学校名称 int schnum; //学校编号 int score; //总分 int Mscore; //男子团体总分 int Wscore; //女子团体总分 Pronode a[M+W]; //项目数组 }Schnode; //学校结点类型定义 ③、定义一个学校结点类型的结构体数组Schnode s[N]。采用数组结构有利于随机存储和查询。

运动会分数统计系统实验报告

运动会分数统计系统的实现 09计科(2)班 E10914044 杨素传 一、设计要求 1、问题描述 参加运动会有n个学校,学校编码为1,2,…,n,比赛分成m个男子项目和w个女子项目。项目编号为男子1,2,…,m,女子m+1,m+2,…,m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为7,5,3,2,1;前三名的积分分别5,3,2;哪些取前五名或前三名由学生自己设定(m<=20,n<=20)。 2、需求分析 (1)可以输入各个项目的前三名或前五名成绩; (2)能统计各学校成绩; (3)可以按学校编号、学校总分、男女团体总分排序输出; (4)可以按学校编号查询学校某项目情况,可以按项目编号查询取得前三名或前五名的学校。 二、概要设计 1、主界面设计 为了实现运动会分数统计系统,设计一个含有多个菜单项的主控菜单子程序以连接系统的各项子程序,方便用户使用本程序。本系统主控菜单运行界面图1所示。 图1 运动会分数统计系统程序主菜单 2、存储结构设计 本程序采用链式存储类型(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所示,图中数字是各函数的编号。

C语言课程设计_运动会管理系统

物联网工程课程设计报告 课题:学校运动会管理系统 专业班级:物联网工程131班 报告人:陆俊贤 139074382 庞彦辉 139074383 指导老师:张学锋 评定成绩: 指导老师签名:

前言 随着科技的发展,计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.计算机代替人工处理一些事务已成为必然。整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。因此,如何有效地进行数据信息的管理和利用,已经成为人们普遍关注的课题。信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。处在信息时代的今天,信息的作用越来越为人们所重视。制定成绩计划,研究投资策略,都离不开对信息的充分利用。 在当今社会上,体育运动越来越普及,参与运动会的人越来越多,素质越来越高。传统的运动会,一般是以人手组织为主,运动员的报名、赛事的安排、比赛场地的安排和成绩的记录等操作全都由人手操作,参加人数越多,运动会的规模就越大,管理工作就更加费时费力,而且容易出错。学校田径运动会管理系统则为组织者提供一个简捷方便的方式来组织管理运动会,学校田径运动会管理系统是一种“人机交互系统”,通过简单的键盘输入与鼠标点击来完成烦琐的记录与安排工作,保证运动会的正常流畅的进行。学校田径运动会管理系统是典型的数据库应用系统,可完成田径运动会管理中的运动员基本信息录入,竞赛成绩处理及公告,成绩统计.信息查询等事务处理功能。根据学校田径运动会的一般进程,本系统分为数据修改、查询、删除、统计等四个工具模块来完成所期望的功能。依据关系型数据库理论设计数据库的结构。使用该系统可以极大地减小工作人员的劳动量,同时还可大大提高工作效率、可靠性和正确性。

c语言课程设计运动会比赛计分系统(含任务书)

一、课程设计目的 将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼: (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) 查询 所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。 二:算法设计: 信息输入模块、比赛结果录入模块以及查询模题目的总体要求是要建立三个模块:信息输入模块、建立三个模块块。在建立完之后,要求该程序能够在用户将各种必要的信息记录之后,用户可以查询所有学校的比赛成绩,而且也可以生成团体总分表,查看参赛学校信息和比赛项目信息等一切录入的信息,为此,要示编程人员能通过一些具体的程序将以上的功能加以实现。在建立三个模块的大前提下,我们将采用结构体,循环体,指针和各种函数来实现这种功能,在数据结构体中,要采用结构体数组,其中包括学校、项目、运动员三个结构体。学校结构体成员包括学校校名、竞赛项目、得分项目结构体成员包括项目名、权值。(1)在此程序中,包括几个头文件:mainfile.h; dos.h; conio.h; momery.h; 接下来,定义全)局变量,其中包括“参赛学校项目数N;男子项目数M;女子项目数W;参赛学校g_school; 竞赛项目g_sport; 各名次链表指针ptrHead,ptrThis,ptrNew; 总体设计:系统设计为信息输入模块、比赛结果录入模块和查询模块三个模块。总

C语言课程设计报告_运动会分数统计系统

课程设计报告 课程名称《C语言程序设计》 课题名称运动员分数统计系统 专业电气工程及其自动化 班级电气1186 学号201113010628 姓名何长学 指导教师王颖 2012 年6月15日

湖南工程学院 课程设计任务书 课程名称《C语言程序设计》课题运动员分数统计系统 专业班级电气1186 学生姓名何长学 学号201113010628 指导老师王颖 审批 任务书下达日期2012年6月04日 任务完成日期2012年6月15 日

一、设计内容与设计要求 1.课程设计目的: 全面熟悉、掌握C语言基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为后继课程(数据结构、数据库和汇编语言等课程)的实验以及课程设计打下较扎实的基础。 2.课题题目 ⑴班级成绩管理系统 ⑵班级档案管理系统 ⑶飞机订票系统 ⑷猜数字游戏 ⑸电子英汉词典设计 ⑹心算抢答系统 ⑺运动会分数统计系统 ⑻小学生心算CAI系统 3.设计要求: 掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。 具体要求如下: ⑴设计课题题目:每位同学根据自己学号除以8所得的余数加一 选择相应题号的课题。换题者不记成绩。 ⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包 括系统设计目的与意义;系统功能需求;输入输出的要求。②完成系统概要设计:程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系; 每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,

c语言课程设计运动会比赛计分系统(含任务书)

. . 一、课程设计目的 将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼: (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) 查询 所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。 二:算法设计: 信息输入模块、比赛结果录入模块以及查询模题目的总体要要建立三个模块:信息输入模块、建立三个模块块。在建立完之后,要求该程序能够在用户将各种必要的信息记录之后,用户可以查询所有学校的比赛成绩,而且也可以生成团体总分表,查看参赛学校信息和比赛项目信息等一切录入的信息,为此,要示编程人员能通过一些具体的程序将以上的功能加以实现。在建立三个模块的大前提下,我们将采用结构体,循环体,指针和各种函数来实现这种功能,在数据结构体中,要采用结构体数组,其中包括学校、项目、运动员三个结构体。学校结构体成员包括学校校名、竞赛项目、得分项目结构体成员包括项目名、权值。(1)在此程序中,包括几个头文件:mainfile.h; dos.h; conio.h; momery.h; 接下来,定义全)局变量,其中包括“参赛学校项目数 N;男子项目数 M;女子项目数 W;参赛学校g_school; 竞赛项目g_sport; 各名次链表指针ptrHead,ptrThis,ptrNew; 总体设计:系统设计为信息输入模块、比赛结果录入模

c语言程序设计--保龄球计分系统,绝对可用,完美测试

#include"stdio、h” #include"stdlib、h" int totscore(); voidpaixu(struct people st[],int n);/*排序函数*/ struct people {int num; int score; };/*定义结构体存储人与其对应得分数*/ intK=1; void main() { int J; printf(”第%d局比赛成绩录入:\n",K);? printf("\n"); FILE*fp;/* FILE*fp就是声明,声明fp就是指针,用来指向FILE类型得对象*/ int i,n;/*n就是参加比赛人数*/ struct peoplest[80]; puts(”---—--请输入总人数:”); scanf("%d”,&n); for(i=0;i

校运动会管理系统报告C语言 含完整代码

目录陈

一、程序分析与设计 (标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符) 1.题目描述 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;即要求输入一些基础数据,如院系名称,每个院系参赛选手及选手编号。竞赛项目名称与代号。这些数据存储在文本文件中,不需要每次都单条录入。 各项目名次取法有如下几种: 取前4名:第1名得分6,第2名得分4,第3名得分2,第4名得分1; 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 2.需求分析 根据题目要求应提供键盘式菜单实现功能选择,还应提供信息的输入操作,由于在程序中提供查询功能所以应有显示、查找等操作。 3.总体设计 根据上面的需求分析,可以将这个系统的设计分为1、信息输入模块2、比赛结果录入模块3、查询模块。具体校际运动会管理系统分为信息的输入、结果的输入、学校各个项目的得分的查寻、总体报表的生成。 4.详细设计 (1)主函数 主函数一般设计的比较简洁,只提供输入,处理和输出部分的函数调用。其中功能模块用菜单方式选择。 (2)密码登陆函数 首先进入欢迎界面,提示用户输入密码进入系统,密码输入次数限制为三次,三次输入错误则退出系统,登陆成功显示菜单栏

(3)菜单函数 提醒用户根据要求选择功能,以及多次功能选取 (4)输入函数 进入该功能后提醒用户输入相应信息,即数据结构,数据结构采用结构体的形式,选手结构体成员包括选手的姓名、编号、各项目的成绩排名、选手所在学院等。 (5)查找函数 提醒用户输入运动员的姓名或编号,根据姓名或编号逐一比对信息,若条件满足则输出该选手的数据,若不满足则返回‘你要找的运动员未找到’(6)排序函数 根据运动员的百米成绩进行冒泡排序,并输出结果 (7)修改函数 提醒用户输入运动员的姓名,根据姓名逐一比对信息,若找到则提供修改选项,对数据进行覆盖 (8)得分计算函数 根据用户输入各项成绩排名,进行得分运算 并得出学院排名 (9)删除函数 用于输入信息的删除 (10)插入函数 用于输入新的信息 (11)保存函数 将用户输入的信息保存到文本文件中 (12)显示函数 显示用户保存的信息

C语言课程设计校际运动会管理系统

中国地质大学本科生课程论文封面 课程名称C语言课程设计 教师姓名邵老师 本科生姓名赵鸿 本科生学号20091000477 本科生专业应用化学 所在院系材化学院 类别: C.本科生 日期: 2010 年7 月5 日

课程设计评语 注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。

目录 课程设计评语 (2) 目录 (3) 1.课程论文题目 (4) 2.程序设计思路 (4) 3.功能模块图 (4) 4.数据结构设计 (5) 5.算法设计 (7) 6.程序代码 (11) 7.程序运行结果 (20) 8.编程中遇到的困难及解决方法 (23) 9.总结心得及良好建议 (23) 10.致谢 (24)

课程论文题目 1.校际运动会管理系统 一、题目要求 (1)信息初始化 输入:N─参赛学校总数,M─男子竞赛项目数,W─女子竞赛项目数; 各项目名次取法有如下几种: 取前5名:第一名得分7,第二名得分5,第三名得分3,第四名得分2,第五名得分1; 取前3名:第一名得分5,第二名得分3,第三名得分2; 用户自定义:各名次权值由用户指定。 (2)提醒用户填写比赛结果,输入各项目获奖运动员信息。 (3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,察看参赛学校信息和比赛项目信息等。 2.程序设计思路 根据题目要求应提供键盘式菜单实现功能选择,还应提供信息的输入操作,由于在程序中提供查询功能所以应有显示、查找等操作。根据上面的需求分析,可以将这个系统的设计分为1、信息输入模块2、比赛结果录入模块3、查询模块。具体校际运动会管理系统分为信息的输入、结果的输入、学校各个项目的得分的查寻、总体报表的生成。 3.功能模块图 (每个功能模块都标注函数名称,如右图)

校运动会管理系统报告C语言含完整代码

校运动会管理系统报告C语言含完整代码 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

目录 陈

一、程序分析与设计 (标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符) 1.题目描述 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;即要求输入一些基础数据,如院系名称,每个院系参赛选手及选手编号。竞赛项目名称与代号。这些数据存储在文本文件中,不需要每次都单条录 入。 各项目名次取法有如下几种: 取前4名:第1名得分6,第2名得分4,第3名得分2,第4名得分1; 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 2.需求分析 根据题目要求应提供键盘式菜单实现功能选择,还应提供信息的输入操 作,由于在程序中提供查询功能所以应有显示、查找等操作。 3.总体设计 根据上面的需求分析,可以将这个系统的设计分为1、信息输入模块 2、比赛结果录入模块 3、查询模块。具体校际运动会管理系统分为信息的输 入、结果的输入、学校各个项目的得分的查寻、总体报表的生成。 4.详细设计 (1)主函数

主函数一般设计的比较简洁,只提供输入,处理和输出部分的函数调用。其中功能模块用菜单方式选择。 (2)密码登陆函数 首先进入欢迎界面,提示用户输入密码进入系统,密码输入次数限制为三次,三次输入错误则退出系统,登陆成功显示菜单栏 (3)菜单函数 提醒用户根据要求选择功能,以及多次功能选取 (4)输入函数 进入该功能后提醒用户输入相应信息,即数据结构,数据结构采用结构体的形式,选手结构体成员包括选手的姓名、编号、各项目的成绩排名、选手所在学院等。 (5)查找函数 提醒用户输入运动员的姓名或编号,根据姓名或编号逐一比对信息,若条件满足则输出该选手的数据,若不满足则返回‘你要找的运动员未找到’(6)排序函数 根据运动员的百米成绩进行冒泡排序,并输出结果 (7)修改函数 提醒用户输入运动员的姓名,根据姓名逐一比对信息,若找到则提供修改选项,对数据进行覆盖 (8)得分计算函数 根据用户输入各项成绩排名,进行得分运算 并得出学院排名

C语言 运动会管理系统

C语言运动会管理系统 运动员信息包括:运动员编号、班级、姓名、竞技项目等。试设计一运动会管理系统,使之能提供以下功能: 运动员信息录入功能(运动员信息用文件保存)——输入 运动员信息浏览功能——输出 查询和排序功能:(至少一种查询方式)——算法 按竞技项目查询 按姓名查询 运动员信息删除、修改功能(人选项)问题补充: 需要算法,流程图,总结! #include #define A 100 int y=0,f=0,j,W,M,N,p[15],q[15]; struct student { char shool[20]; char name[20]; char item[20]; char sex; int position; int mark; }stu[A]; struct item { char name[20]; char sex; int mark; }it[A]; struct shool { char name[20]; char item[20]; int mark; }sho[A]; main() { menu();

} menu() { int w1,n; do { puts("\t\t*****************MENU********************"); puts("\n\n\t\t 1.The information to writein\n"); puts("\t\t 2.The race result records to writein\n"); puts("\t\t 3.Search the information\n"); puts("\t\t 4.Exit\n"); puts("\n\t\t*****************************************"); puts("\n\nChoice you number:"); scanf("%d",&n); if(n<1||n>4){w1=1;getchar();} else w1=0; }while(w1==1); switch(n) { case 1:establish();break; case 2:enter();break; case 3:search();break; case 4:exit(0); } } establish() { int h,r; extern N,M,W; y=1; printf("\nThe number of shool attended is:"); scanf("%d",&N); printf("\nThe number of men item is:"); scanf("%d",&M); printf("\nThe number of women item is:"); scanf("%d",&W); printf("\nThere are three form of marked you can choice:"); printf("\n\n\t1).1th--7,2th--5,3th--3,4th--2,5th--1."); printf("\n\n\t2).1th--5,2th--3,3th--1."); printf("\n\n\t3).Define by youself."); loop: printf("\n\nChoice the number(1--3):"); scanf("%d",&h); if(h>0&&h<4) switch(h) {case 1:j=1;break; case 2:j=2;break; case 3:define_mark();

c语言课程设计--运动会分数统计系统讲课教案

课程设计报告 课程名称C语言课程设计 课题名称运动会分数统计系统 专业电气工程及其自动化 班级 学号 姓名 指导教师王颖 2012年 6 月25 日

湖南工程学院 课程设计任务书 课程名称C语言课程设计 课题运动会分数统计系统 专业班级电气工程及其自动化 学生姓名 学号 指导老师王颖 审批 任务书下达日期2012年6月16日 任务完成日期2012年6月25日

运动会分数统计系统 一、问题描述: 参加运动会的n 个学校编号为l ~n 。比赛分成m 个男子项目和w 个女子项目,项目编号分别为l ~m 和m +1~m +w 。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。设计一个统计程序按名次产生各种成绩单、得分报表。 二、基本要求: 1.产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次、成绩、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分;均按名次排序。 2.比赛项目既要有径赛,又要有田赛。 三、测试数据: 对于n=4,m=3,w=2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。 四、实现提示: 1.数据结构:线性表 2.数据库结构:下面四张表构成该系统的基本数据库,全部输出报表由系统根据基本表自动生成。 3. 可以假设n ≤20,m ≤30,w ≤20,姓名长度不超过20个字符。每个项目结束时,将其编号、类型符(区分取前五名还是前三名)输入,并输入运动员编号、学校编号和成绩等。 五、选作内容: 允许用户指定某项目采取其他名次取法。 姓名 运动员编号 校名 学校编号 项目名 项目编号 初始化时完成录入 float char char char char char 成绩 类型 性别 项目编号 学校编号 运动员编号

校级运动会管理系统c语言程序

#include #include #include #include #define SIZE 9 #define N 3 #define WM 3 void bsxm(); //比赛项目 void csxx(); //参赛学校 void ttzf() ;//团体总分 void Information(); void main(); void menu(); void printf_back(); void saveathlete(); void saveprogram(); void saveschool(); void savescore(); void Search(); int i; FILE *fp1,*fp2,*fp3,*fp4; struct athlete //定义运动员信息{ char univ[5]; char name[8]; char prog[15]; char mingci[5]; int score; } at[SIZE]; struct xuexiao //定义学校信息{ char univ[5]; char prog[15]; int num_athlete; } xx[N];

struct program //定义项目信息 { char prog[5]; int quming; char ath1[5]; char ath2[5]; char univ1[5]; char univ2[5]; } pro[WM]; struct zongfen //定义学校得分信息 { char univ[5]; char prog1[5]; char prog2[5]; char prog3[5]; int score1; int score2; int score3; int total_score; } zf[N]; void Information()//进入信息录入系统选择系统子函数 { int n,w ; do { puts("\n\n\n"); puts("\t\t***^__^ Welcome to load 信息录入system! ^__^***\n"); puts("\t\t*************************MENU*************************\n"); puts("\t\t******** 1.saveathlete **************\n");//运动员姓名录入 puts("\t\t******** 2.saveschool **************\n");//运动员学校录入 puts("\t\t******** 3.saveprogram() **************\n");//参加项目录入 puts("\t\t******** 4.back **************\n");//退出 puts("\t\t******************************************************\n");

运动会积分系统(C语言)

程序设计报告( 2014 / 2015 学年第 2 学期) 题目:运动会积分系统 专业 组长学号姓名 组员学号姓名 指导教师 指导单位 日期

运动会积分系统 一、课题内容和要求 学生运动会成绩数据库系统记录某校运动会上全部运动项目,各系获得的分数及排名的情况,包括50、100、200,400,1500米,跳高,跳远,标枪,铅球铁饼等。请设计一个积分系统,方便学校对比赛成绩进行统计管理。 二、需求分析 运动会积分系统的功能框架图如图1所示。 图1 功能框架图 管理员: 1)以管理员身份登录,预先设定参加运动会的系院数目,男子项目数女子项目数,(每项目取前三名,分别为10,5,2分) 2)管理员凭密码进入录入成绩状态,填写比赛结果,输入各项目获奖运动员的信息,但录入完成后不得修改成绩。可以按各系院编号输出总分;按总分排序;按男团体总分排序;按系院编号查询;按项目编号查询;按女团体总分排序。 3)审核各院系提交的复核申请,予以批准后修改成绩。 普通用户: 1)普通用户可以查询各个比赛成绩,生成团体总分报表,查看参赛院系的成绩和各比赛项目最终名次等。 2)允许提交复核申请,提请管理员修改成绩。

三、概要设计 1 主要结构体 typedef struct node1{ int school; /*院系编号*/ int record; /*项目成绩*/ struct node1 *next; /*链域*/ }Schools; typedef struct { int item; /*项目编号*/ Schools *firstschool; /*链域指向链表中第一个结点*/ }ITEM; typedef struct { int z; /* 项目总数 */ ITEM a[MAX]; }ALLitems; typedef struct node2 { int item; /*该院系获奖的项目*/ int record; /*项目成绩*/ struct node2 *next; /*链域*/ }Items; typedef struct { int school; /*院系编号*/ int score; /*院系总分*/ int boys; /*男团体总分*/ int girls; /*女团体总分*/ Items *firstitem; /*链域指向链表中第一个获奖项目的结点*/ }SCHNode; typedef struct { int n; /* 院系总数 */

校运动会管理系统

C 语言课程设计

学校运动会管理系统 专业:网络工程 班级:网133 报告人:王先海 139074347 刘随心 139074338 葛翔 139074332 指导老师:陶陶 报告日期:2014年12月13号

一、需求分析 1、问题描述: 建立运动员信息系统,包括运动员、裁判员以及运动信息的成绩管理,运动员信息为编号、姓名、身份信息(教师、学生)、参加的比赛项目等;裁判员信息为编号、姓名、身份信息(教师、学生)、裁判的项目;运动会信息包含各个比赛项目的信息、时间安排、裁判信息、比赛成绩等。 2、功能要求: (1)各种运动信息需要利用文件的形式进行存储。 (2)输入功能:可以从键盘或文件中一次性输入多条信息; (3)输出功能:可将运动员、裁判员、以及比赛信息打印输出或显示; (4)查找功能:根据运动员、裁判员等查找出所需要的比赛信息; (5)增加、删除、修改功能:完成运动员信息的多种更新; (6)统计功能:完成各类比赛信息的统计功能,例如某项比赛的名词排名,各个运动员的积分成绩统计等。 二、总体设计

1、将学校运动会管理系统系统进行模块化分析

三、详细设计 本程序包含除main函数外包含20个函数:menu()、menu2()、reads(struct athletes ath[N]) 、 reads1(struct referee ref[N])、reads2(struct All_the_events sport[N]) 、save(struct athletes ath[N],int n)、 show_athletes()、how_referee()、add()、 According_to_the_number_to_find_players_informat ion ()、 According_to_the_name_to_find_players_informatio n ()、 According_to_the_number_to_Modify_the_players_in formation ()、 According_to_the_name_to_Modify_the_players_info rmation ()、 According_to_the_name_to_delete_the_players_info rmation ()、 According_to_the_name_to_find_referee_informatio n ()、show_all_events () 、 Output_on_a_single_information ()、 sort()、keep() 、sheep()。

校级运动会管理系统c语言程序

#include #include #include<string、h> #define SIZE 9 #define N 3 #defineWM 3? void bsxm();//比赛项目void csxx();//参赛学校void ttzf()?; //团体总分 void Information(); voidmain(); void menu(); void printf_back(); void saveathlete(); void saveprogram(); void saveschool(); void savescore(); void Search(); int i; FILE*fp1,*fp2,*fp3,*fp4; struct athlete?//定义运动员信息 { ?char univ[5]; ?char name[8]; char prog[15]; char mingci[5]; intscore; } at[SIZE]; struct xuexiao??//定义学校信息 { char univ[5]; charprog[15]; ?intnum_athlete; } xx[N]; struct program ?//定义项目信息 { ?char prog[5]; ?intquming; char ath1[5]; ?charath2[5]; ?char univ1[5];

charuniv2[5]; } pro[WM]; struct zongfen //定义学校得分信息 { ?charuniv[5]; ?charprog1[5]; charprog2[5]; char prog3[5]; int score1; ?int score2; ?int score3; int total_score; } zf[N]; voidInformation()//进入信息录入系统选择系统子函数 { int n,w ; do { ?puts("\n\n\n"); puts("\t\t***^__^Weletoload 信息录入system! ^__^***\n"); puts("\t\t*************************MENU*************************\n"); puts("\t\t******** 1、saveathlete **************\n");//运动员姓名录入 puts("\t\t********2、saveschool **************\n");//运动员学校录入 puts("\t\t******** 3、saveprogram() **************\n");//参加项目录入 puts("\t\t********4、back **************\n");//退出 puts("\t\t******************************************************\n"); printf("Choicyour number(1-4):[ ]\b\b"); scanf("%d",&n); if(n<1||n>4) ?{ ??w=1; ?printf("\n\n\t\t----------------------DATAERROR!----------------------\n\n\n"); ?getchar(); }

相关文档
相关文档 最新文档