Skip to content

Repository files navigation

2024_NJUPT_Program_Design:校运会计分系统的设计与实现

这是一份南京邮电大学程序设计实验课的作业。

设计要求

1 问题描述

一年一度的校运会学校和学院都非常重视。每个比赛项目结束,运动员最关心自己的名次、成绩和得分;学院关心自己学院的总得分情况以及在全校的排名。

本课题拟设计一个校运动会计分系统,包括基本信息管理、成绩录入、查询、统计、审核等功能。

本课题需要综合运用C语言中的流程控制、函数、数组、指针、结构体、文件、字符串等知识,充分体现结构化程序设计思想。

2 功能要求

2.1 基本要求

系统中主要有系统管理员、学院管理员、裁判员和运动员四类身份的用户,运动员又细分为:教职工、研究生、本科生这三种成员。各种身份人员具有不同的功能:

管理员:

(1)以密码登录系统(密码用*显示,不得显示输入的字符)

(2)参赛的院系管理,包括院系编码、院系名称,可进行增、删、改、查。

(3)管理比赛项目的基本信息,主要包括: 项目名称、所属组别(教工老年男子组、教工老年女子组、教工中年男子组、教工中年女子组、教工青年男子组、教工青年女子组、研究生男子组、研究生女子组、本科生男子组、本科生女子组、男女混合等)、项目性质(个人、团体)、名次及对应得分情况,提供增加、修改、删除、查询功能。

(4)可以按各系院编号输出总分;按总分排序;按系院编号查询;按项目编号或运动员号码查询。

(4)审核裁判员上报的比赛成绩,审核通过后,进入成绩公示状态,公示后1小时无异议则自动转为确认状态,不再更改。

(5)接到学院管理员的申诉,复核申请后,给出复核意见:同意,重新填写成绩;不同意,维持原成绩。此时成绩状态为复核完毕,不再允许修改。

学院管理员:

(1)以密码登录系统(密码用*显示,不得显示输入的字符)

(2)多种查询:可以本学院的总分及排名、各个项目的得分,运动员的得分情况等

(3)对比赛结果有争议的进行申诉,提交系统,等待总管理员审核,可查询审核结果

运动员:

(1)登录系统,用自己的学号(教工用职工号)进行登录

(2)可以查询自己的名次及得分情况,也可以查看各比赛项目具体名次得主情况

(3)可以申诉对自己不正确的裁决,要求复核,申诉要求由学院管理员进一步处理

(4)可以查询申诉结果done

裁判员:

(1)登录系统,用自己的职工号(学生裁判用学号)进行登录

(2)提交比赛结束后各个运动员的成绩及对应名次

(3)协助总管理员处理申诉,如果成绩需要更改,需要裁判员的确认。

2.2 选做要求

(1)赛程管理,录入各项比赛时间,参赛者,录入分数时,只能对已结束比赛的项目进行录入。

(2)完善流程管理,如超过多长时间不能要求复核等可行功能。

(3)同学可以自拟扩展功能并实现。

3 其他要求

(1)界面美观,交互方便。

(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。

(3)程序的层次清晰,可读性强。

(4)变量、函数命名符合规范。

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。

  1. 克隆仓库,并用CLion打开项目。

    git clone https://github.com/equence/2024_NJUPT_Program_Design.git
    
  2. 配置CMakeLists.txt,修改**set(CMAKE_PREFIX_PATH "D:/Qt/6.8.0/mingw_64")**为自己的Qt路径。

  3. 复制**.\Qt\6.8.0\mingw_64\plugins\sqldrivers**(修改为自己的Qt路径)文件夹到工程目录下cmake-build-debug文件夹里。

  4. 点击构建运行。

Todo

选作要求一点没动,来不及了

一周速通Qt和SQL,对付用

About

南京邮电大学程序设计作业:校运会计分系统的设计与实现

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages