1、校际运动会管理系统 HOU 第 1 页 2019/7/6 C C 语言课程设计语言课程设计 校 际 运 动 会 管 理 系 统 姓名:姓名: 候姣姣候姣姣 学号:学号: 2007100023320071000233 班级序号:班级序号:0550720205507202 指导老师:刘文中指导老师:刘文中 校际运动会管理系统 HOU 第 2 页 2019/7/6 C 语言程序设计报告书语言程序设计报告书 一、一、C 语言程序设计的目的语言程序设计的目的 巩固已学习的内容,复习程序设计和上机调试的基本方法方法。通过学习一个综合程 序的设计与编写, 使学生能够在较短的时间内掌握综合程序设计的基本步骤和
2、方法。 通过学 习课本上的习题,举一反三,学会构建程序的柜架以及部分常用的算法代码的收发室。在加 强的基础上,动手两个程序的完整设计与编写。 二、二、 课程设计报告正文课程设计报告正文 (一) 、(一) 、题目题目 (1)信息初始化,输入: N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数; 各项目名次取法有以下几种: 1取前 5 名:第 1 名得分 7,第 2 名得分 5,第 3 名得分 3,第 4 名得分 2,第 5 名得 分 1. 2取前 3 名:第 1 名得分 5,第 2 名得分 3,第 3 名得分 2. 3用户自定义:各名次权值由用户指定。 (2)提醒用户填写比赛结果,输入各
3、项目获奖运动员的信息。 (3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看 参赛学校信息和比赛项目信息等。 提示 (1)总体设计:系统设计为信息输入模块、比赛结果录入模块和查询模块三个模块。 (2)数据结构采用结构体数组,包括学校、项目、运动员三个结构体。比如学校结构体成 校际运动会管理系统 HOU 第 3 页 2019/7/6 员包括学校校名、竞赛项目、得分项目结构体成员包括项目名、权值。 (二二)题目的总体要求是要)题目的总体要求是要建立三个模块:信息输入模块、比赛结果录入模块以及查询模建立三个模块:信息输入模块、比赛结果录入模块以及查询模 块。块。 在建立完
4、之后,要求该程序能够在用户将各种必要的信息记录之后,用户可以查询所 有学校的比赛成绩, 而且也可以生成团体总分表, 查看参赛学校信息和比赛项目信息等一切 录入的信息,为此,要示编程人员能通过一些具体的程序将以上的功能加以实现。 在建立三个模块的大前提下,我们将采用结构体,循环体,指针和各种函数来实现这 种功能,在数据结构体中,要采用结构体数组,其中包括学校、项目、运动员三个结构体。 学校结构体成员包括学校校名、竞赛项目、得分项目结构体成员包括项目名、权值。 (1)在此程序中,包括几个头文件:mainfile.h; dos.h; conio.h; momery.h; 接下来,定义全 局变量,其中
5、包括“参赛学校项目数 N;男子项目数 M;女子项目数 W;参赛学校 g_school; 竞赛项目 g_sport; 各名次链表指针 ptrHead,ptrThis,ptrNew; 总体设计:系统设计为信息输入模块、比赛结果录入模块和查询模块三个模块。总体设计:系统设计为信息输入模块、比赛结果录入模块和查询模块三个模块。 (2)各种结构的分析:)各种结构的分析: 静态存储方式:静态存储方式:它是指在程序运行期间由系统分配固定的存储空间的方式, 全局变量全部存 放在静态存储区中,在程序开始执行时给全局变量分配存储区,程序执行完毕就释放,在程 序执行过程中它们占据固定的存储单元,而不是动态地进行分配
6、和释放。 用 static 声明局部变量:使用该变量可以使局部变量的值在函数调用结束后不消失而保留原 值,这即为静态局部变量的特点。 静态局部变量属于静态存储类别, 在静态存储区内分配存储单元, 在程序整个运行期间都不 释放。对静态局部变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值, 以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。 如在定义局部变 量时不赋初值的话, 则对静态局部不说, 编译时自动赋初值 0 (对数值型变量) 或空字符 (对 校际运动会管理系统 HOU 第 4 页 2019/7/6 总体设计 信息输入模块 比赛结果录入模块 查询模块 打印竞赛项目信息 设置竞赛项目信息 设置参赛学校信息 填充参赛学校信息 设置项目名次取法 设置竞赛项目总数 生成报表 主菜单 校际运动会管理系统 HOU 第 5 页 2019/7/6 字符变量) 。而对自动变量来说,如果不赋初值则它的值是一个不确定的值。虽然静态局部 变量在函数调用结束后仍然存在,但其他函数是不能引用它的。 Malloc 函数函数的作用是在内存的动