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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、

二、

三、课程设计目的

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

(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 语言的课程设计中,,我不仅学到了许多有庆这

相关文档
最新文档