这是一份南京邮电大学程序设计实验课的作业。
一年一度的校运会学校和学院都非常重视。每个比赛项目结束,运动员最关心自己的名次、成绩和得分;学院关心自己学院的总得分情况以及在全校的排名。
本课题拟设计一个校运动会计分系统,包括基本信息管理、成绩录入、查询、统计、审核等功能。
本课题需要综合运用C语言中的流程控制、函数、数组、指针、结构体、文件、字符串等知识,充分体现结构化程序设计思想。
系统中主要有系统管理员、学院管理员、裁判员和运动员四类身份的用户,运动员又细分为:教职工、研究生、本科生这三种成员。各种身份人员具有不同的功能:
(1)以密码登录系统(密码用*显示,不得显示输入的字符)
(2)参赛的院系管理,包括院系编码、院系名称,可进行增、删、改、查。
(3)管理比赛项目的基本信息,主要包括: 项目名称、所属组别(教工老年男子组、教工老年女子组、教工中年男子组、教工中年女子组、教工青年男子组、教工青年女子组、研究生男子组、研究生女子组、本科生男子组、本科生女子组、男女混合等)、项目性质(个人、团体)、名次及对应得分情况,提供增加、修改、删除、查询功能。
(4)可以按各系院编号输出总分;按总分排序;按系院编号查询;按项目编号或运动员号码查询。
(4)审核裁判员上报的比赛成绩,审核通过后,进入成绩公示状态,公示后1小时无异议则自动转为确认状态,不再更改。
(5)接到学院管理员的申诉,复核申请后,给出复核意见:同意,重新填写成绩;不同意,维持原成绩。此时成绩状态为复核完毕,不再允许修改。
(1)以密码登录系统(密码用*显示,不得显示输入的字符)
(2)多种查询:可以本学院的总分及排名、各个项目的得分,运动员的得分情况等
(3)对比赛结果有争议的进行申诉,提交系统,等待总管理员审核,可查询审核结果
(1)登录系统,用自己的学号(教工用职工号)进行登录
(2)可以查询自己的名次及得分情况,也可以查看各比赛项目具体名次得主情况
(3)可以申诉对自己不正确的裁决,要求复核,申诉要求由学院管理员进一步处理
(4)可以查询申诉结果done
(1)登录系统,用自己的职工号(学生裁判用学号)进行登录
(2)提交比赛结束后各个运动员的成绩及对应名次
(3)协助总管理员处理申诉,如果成绩需要更改,需要裁判员的确认。
(1)赛程管理,录入各项比赛时间,参赛者,录入分数时,只能对已结束比赛的项目进行录入。
(2)完善流程管理,如超过多长时间不能要求复核等可行功能。
(3)同学可以自拟扩展功能并实现。
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
本课程是《高级语言程序设计》课程结束之后的实践性课程,原则上要用C语言进行程序设计,可以选择VC++6.0、Visual Studio、DEV_C++等任何支持C语言的集成开发环境。
(1)根据课题要求,定义合适的结构体类型,定义合适的结构体数组或链表。
(2)选择文件存储格式(建议文本文件)和文件名。本课题中需要用到的文件较多。
(3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。设计主程序的流程图和界面。
(4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确函数原型。每一个函数的功能相对单一,单个函数的代码不可过于冗长,过长的函数可以继续按功能进行划分,充分体现结构化程序设计思想
(5)根据设计结果分步开发实现各模块,最后进行总体集成。
前端采用Qt6搭建UI框架,后端采用SQLite和先进的txt数据库存取数据。
| 文件夹 | 用途 |
|---|---|
| ./sys_admin | 系统管理员 |
| ./college_admin | 学院管理员 |
| ./athlete | 运动员 |
| ./referee | 裁判 |
| ./form | ui文件 |
| ./files | 数据库文件 |
| ./cmake-build-debug | cmake自动生成 |
请提前安装Qt环境,并在安装时勾选MinGW和SOURCE。
-
克隆仓库,并用CLion打开项目。
git clone https://github.com/equence/2024_NJUPT_Program_Design.git -
配置CMakeLists.txt,修改**set(CMAKE_PREFIX_PATH "D:/Qt/6.8.0/mingw_64")**为自己的Qt路径。
-
复制**.\Qt\6.8.0\mingw_64\plugins\sqldrivers**(修改为自己的Qt路径)文件夹到工程目录下cmake-build-debug文件夹里。
-
点击构建运行。
选作要求一点没动,来不及了
一周速通Qt和SQL,对付用