运动会成绩管理系统 c语言课程设计

合集下载

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

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

课程设计任务书题目:运动会成绩管理系统一、课程设计时间共计1周,20学时。

二、课程设计内容用C语言编写软件完成以下任务:1 录入运动员信息;2 按项目查询运动员成绩;3 按系排名(参照运动员的总成绩)。

三、课程设计要求1. 程序质量:✧贯彻结构化的程序设计思想。

✧用户界面友好,功能明确,操作方便。

✧用户界面中的菜单至少应包括“运动员信息录入”、“按项目查询运动员信息”、“按系排名”、“退出”4项。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。

课程设计说明书的格式和内容参见提供的模板。

四、指导教师和学生签字指导教师:________ 学生签名:________五、说明书成绩沈阳航院设计用纸目录一、需求分析 ...................................... 错误!未定义书签。

二、程序流程图 .................................. 错误!未定义书签。

三、核心技术的实现说明及相应程序段.. 错误!未定义书签。

四、课设总结 ...................................... 错误!未定义书签。

五、参考文献 ...................................... 错误!未定义书签。

六、源程序 .......................................... 错误!未定义书签。

一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为3个模块,每一个模块对应一个函数。

在这些函数当中,添加学生数据函数,按系排名(参照学生总成绩)函数,按项目查询学生成绩函数的实现严格按照题目的要求。

主函数及菜单函数控制程序的整体运行。

1. 添加学生数据函数主要实现程序最初运行时学生数据的录入以及其后的运行中学生数据的追加功能;2. 按系排名(参照学生总成绩)函数按照题目的具体要求实现的是参照不同院系的学生的总成绩给出院系的排名;3. 按项目查询函数允许按照项目名称对学生的各项成绩进行查询;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。

C语言课程设计报告-学校运动会管理系统

C语言课程设计报告-学校运动会管理系统

C语言课程设计报告-学校运动会管理系统研究方案一、研究背景和意义学校运动会是中小学教育体育活动中的重要组成部分,通过开展运动会可以增强学生体质,培养团队合作精神,丰富校园文化。

而学校运动会管理系统作为一种信息化管理工具,能够提高运动会的组织效率和管理水平,有助于实现运动会的顺利进行。

然而目前的学校运动会管理系统存在一些问题,如功能不完善、操作过于复杂、数据统计不准确等。

本研究旨在针对这些问题,提出一种新的学校运动会管理系统,改善运动会管理工作,提高运动会的组织效率和管理水平。

二、研究目标和内容本研究的主要目标是设计和开发一种功能完善、易操作且准确统计数据的学校运动会管理系统。

具体内容包括:1. 分析当前学校运动会管理系统存在的问题和不足,明确改进方向。

2. 设计学校运动会管理系统的整体架构和功能模块,并选择合适的开发工具和技术。

3. 利用所选开发工具和技术进行系统的开发和实现。

4. 对开发完成的学校运动会管理系统进行实地调查和测试,收集相关数据。

5. 对采集到的数据进行整理和分析,总结系统的优缺点,并提出改进建议。

三、方案实施情况1. 针对学校运动会管理系统的问题和不足进行调研和分析,形成问题清单。

2. 根据问题清单,设计学校运动会管理系统的整体架构和功能模块。

3. 选择合适的开发工具和技术,准备开发所需要的环境和资源。

4. 利用所选开发工具和技术进行系统的开发和实现,包括数据库设计、界面设计、功能实现等。

5. 对开发完成的学校运动会管理系统进行实地调查和测试,收集用户的意见和建议。

6. 对收集到的数据进行整理和分析,评估系统的优缺点,并提出改进建议。

数据采集和分析为了对学校运动会管理系统进行评估和改进,我们进行了实地调查和数据采集。

具体步骤如下:1. 设计调查问卷,包括系统使用体验、功能满意度、操作便捷性等方面。

2. 针对学校运动会参与者和管理者,分别发放问卷,要求实名填写,并保证数据的保密性。

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

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

运动会管理系统课程设计c语言运动会管理系统是一种用于管理运动会相关事务的软件系统。

它利用计算机技术,提供了方便、高效、准确和安全的数据处理和管理功能,可以帮助组织者更好地组织和管理运动会。

运动会管理系统的设计需要考虑到以下几个方面:1. 用户管理:包括用户登录、注册、密码管理等功能。

管理员可以对用户进行管理,例如添加、删除和修改用户信息。

2. 比赛项目管理:对运动会的各个比赛项目进行管理,包括添加、删除、修改比赛项目信息,设置比赛规则和参赛资格等。

3. 参赛队伍管理:对各个参赛队伍进行管理,包括添加、删除、修改队伍信息,分配参赛号码等。

4. 参赛运动员管理:对运动员进行管理,包括添加、删除、修改运动员信息,分配运动员到不同队伍等。

5. 比赛成绩管理:记录比赛成绩和排名等信息,可以查询比赛成绩和按照各种条件进行排名。

6. 运动会日程安排:安排比赛项目的时间和场地,避免冲突和重复。

7. 报名管理:管理参赛队伍的报名情况,包括报名费用的收取和查验。

8. 参观指南:提供有关运动会的各种信息,例如比赛项目介绍、场地位置和交通指南等。

为了实现以上功能,可以使用C语言来编写运动会管理系统。

以下是一个简单的参考代码:```c#include <stdio.h>struct User {char name[20];char password[20];int isAdmin;};struct Team {char name[50];int registered;};struct Athlete {char name[50];int teamId;};struct Event {char name[50];int maxParticipants;};struct Result {int eventId;int participantId;float score;};#define MAX_USERS 1000struct User users[MAX_USERS];int userCount = 0;#define MAX_TEAMS 100struct Team teams[MAX_TEAMS];int teamCount = 0;#define MAX_ATHLETES 1000struct Athlete athletes[MAX_ATHLETES];int athleteCount = 0;#define MAX_EVENTS 100struct Event events[MAX_EVENTS];int eventCount = 0;struct Result results[MAX_EVENTS][MAX_ATHLETES]; void addUser(char name[], char password[], int isAdmin) { struct User user;strcpy(, name);strcpy(user.password, password);user.isAdmin = isAdmin;users[userCount++] = user;}void addTeam(char name[]) {struct Team team;strcpy(, name);team.registered = 0;teams[teamCount++] = team;}void addAthlete(char name[], int teamId) {struct Athlete athlete;strcpy(, name);athlete.teamId = teamId;athletes[athleteCount++] = athlete;teams[teamId].registered++;}void addEvent(char name[], int maxParticipants) {struct Event event;strcpy(, name);event.maxParticipants = maxParticipants;events[eventCount++] = event;}void addResult(int eventId, int participantId, float score) {results[eventId][participantId].score = score;}int main() {// 程序入口printf("欢迎使用运动会管理系统!\n");// 初始化管理员addUser("admin", "admin", 1);// 其他功能待实现return 0;}```以上是一个简单的运动会管理系统的设计参考,根据实际需求可以进行详细设计和功能实现。

c语言成绩管理系统课程设计报告

c语言成绩管理系统课程设计报告

c语言成绩管理系统课程设计报告一、引言:成绩管理系统是一种可以有效管理学生课程成绩的工具。

通过该系统,教师可以方便地录入、修改和查询学生的成绩,而学生和家长也可以方便地查看自己的成绩情况。

本次课程设计旨在设计一个基于C语言的成绩管理系统,实现对学生课程成绩的录入、修改和查询等功能。

二、系统设计:1. 数据结构设计:为了实现成绩管理系统的各项功能,需要设计相关的数据结构。

对于学生信息,可以设计一个结构体,包含学号、姓名、性别等字段;对于课程成绩,可以设计一个结构体,包含学号、课程名称、成绩等字段。

2. 功能设计:(1) 学生信息录入功能: 教师可以通过输入学生的学号、姓名、性别等信息,将学生信息录入系统中。

(2) 成绩录入功能: 教师可以通过输入学生的学号和课程名称,将学生的课程成绩录入系统中。

(3) 成绩修改功能: 教师可以根据学生的学号和课程名称,修改学生的课程成绩。

(4) 成绩查询功能: 学生和家长可以通过输入学生的学号,查询学生的课程成绩。

三、系统实现:1. 用户界面设计:使用C语言中的控制台窗口,通过菜单的方式显示系统功能选项,用户可以通过键盘输入选择对应的功能。

2. 数据存储设计:使用文件存储学生信息和课程成绩。

通过读取和写入文件的方式,实现数据的持久化存储。

3. 功能实现:(1) 学生信息录入功能的实现: 用户输入学生的学号、姓名、性别等信息后,将学生信息写入文件。

(2) 成绩录入功能的实现: 用户输入学生的学号、课程名称和成绩后,将成绩信息写入文件。

(3) 成绩修改功能的实现: 用户输入学生的学号、课程名称和新的成绩后,根据学号和课程名称找到对应的成绩信息并修改。

(4) 成绩查询功能的实现: 用户输入学生的学号后,根据学号在文件中查找对应的成绩信息并显示在控制台窗口。

四、系统测试:对于每一个功能,设计相应的测试用例,验证系统的正确性和稳定性。

例如,录入一个学生信息后,查询该学生的信息是否正确;录入一门课程成绩后,修改该成绩并查询是否修改成功等。

原创c语言成绩管理系统课程设计报告

原创c语言成绩管理系统课程设计报告

原创C语言成绩管理系统课程设计报告一、引言本文档旨在介绍一种基于C语言开发的成绩管理系统的设计与实现。

该系统旨在帮助教师管理学生的成绩信息,提高成绩管理的效率和准确性。

本课程设计报告将从需求分析、系统设计、系统实现以及系统测试等方面进行阐述和讨论。

二、需求分析成绩管理系统的主要需求如下:1.存储学生信息:系统需要能够记录学生的基本信息,包括学号、姓名、性别等。

2.成绩录入和查询:系统需要实现成绩的录入和查询功能,教师可以根据学号或姓名查询学生的成绩。

3.成绩统计和分析:系统需要具备成绩统计和分析功能,例如计算学生的平均成绩、最高成绩、最低成绩等。

4.成绩排序:系统需要能够按照成绩进行排序,方便教师进行排名比较。

5.成绩报表生成:系统需要能够生成成绩报表,通过打印或保存成文件的方式输出结果。

6.用户权限管理:系统需要具备用户权限管理功能,不同的用户拥有不同的操作权限。

三、系统设计3.1 系统结构成绩管理系统采用模块化设计结构,主要包括以下几个模块:•用户管理模块:负责用户登录和权限管理。

•学生信息管理模块:负责学生信息的录入、查询、修改和删除。

•成绩管理模块:负责成绩的录入、查询、统计和分析。

•报表生成模块:负责生成成绩报表。

•排序模块:负责成绩排序功能的实现。

3.2 数据结构设计系统使用链表数据结构来存储学生信息和成绩信息,在链表的每个节点中存储学生的基本信息和成绩信息。

3.3 界面设计系统的界面采用命令行交互方式,通过菜单选择来进行操作。

四、系统实现系统的实现主要基于C语言,采用模块化编程的方式。

具体实现步骤如下:•定义结构体:定义学生和成绩信息的结构体。

•用户登录和权限管理:实现用户登录和用户权限管理功能,不同用户登录后只能操作有权限的功能。

•学生信息管理模块:实现学生信息的录入、查询、修改和删除功能,通过链表数据结构来管理学生信息。

•成绩管理模块:实现成绩的录入、查询、统计和分析功能,通过链表数据结构来管理成绩信息。

c语言课程设计学生成绩管理系统代码

c语言课程设计学生成绩管理系统代码

学生成绩管理系统是一个常见的C语言入门项目,可以帮助初学者了解循环、条件控制、结构体、文件操作等基本知识。

以下是一个简单的C语言学生成绩管理系统示例,实现了查询、添加、修改和删除学生成绩等功能。

您可以修改和扩展该代码以满足您的需求:#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct {int id;char name[20];float score;} Student;void display_menu();void add_student();void find_student();void edit_student();void delete_student();void save_data();void load_data();int student_count = 0;Student students[100];int main() {load_data();while (1) {display_menu();int choice;printf("请输入您的选择:");scanf("%d", &choice);switch (choice) {case 1:find_student();break;case 2:add_student();break;case 3:edit_student();break;case 4:delete_student();break;case 5:save_data();printf("数据已保存。

\n");exit(0);default:printf("无效的选项!\n");}}return 0;}void display_menu() {printf("学生成绩管理系统\n");printf("====================\n");printf("1. 查询学生成绩\n");printf("2. 添加学生成绩\n");printf("3. 修改学生成绩\n");printf("4. 删除学生成绩\n");printf("5. 退出系统\n");printf("====================\n");}void add_student() {printf("请输入学生ID:");scanf("%d", &students[student_count].id); printf("请输入学生姓名:");scanf("%s", students[student_count].name); printf("请输入学生成绩:");scanf("%f", &students[student_count].score); student_count++;printf("学生已添加成功!\n");}void find_student() {int id;printf("请输入要查询的学生ID:");scanf("%d", &id);for (int i = 0; i < student_count; ++i) {if (students[i].id == id) {printf("ID:%d, 姓名:%s, 成绩:%.2f\n", students[i].id, students[i].name, students[i].score);return;}}printf("未找到该学生。

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)输入数据并存入文件使用到结构体变量和动态链表,由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。

对输入的信息进行合法性判断,直到输入正确为止。

都输入完成后,调用写文件函数对指定的文件进行写操作,把输入的信息写入到文件中。

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

计算机程序设计课程设计c语言题目:运动会管理系统学院:专业:班级:学号姓名:指导教师:设计日期:2013/6/26一.概述这个程序是运动会管理系统,是为了更好地管理学生运动会而设计的。

二、设计概要本例实现一个综合的校际运动会数据管理系统,用户可以在已建立的数据记录函数中输入数据信息、在已建立的输出函数中查看数据信息。

输入、输出和查看的操作都是通过对函数中for循环的操作完成的。

主体部分:首先在程序开始处,开通语句#include“conio.h”,#include<stdlib.h>,#include<stdio.h>引入头文件,这样就能直接调用库函数.再定义团体n,男子m,女子w.然后定义结构体变量result,match,sclist,school等。

并且编写对数据的输入、输出和查看操作的函数;最后在main函数的内部实现对各子函数的调用,实现数据的综合管理。

任务概述:1.用for循环 , if—else---if---else ,do---while用来控制程序的循环。

2.用函数完成数据的输入输出查看。

3.在主函数中调用函数来实现输入输出查看等功能。

三、设计流程main() 主函数Score() 得分分配函数Input() 输入函数整理函数 index()团体成绩计算函数 teamsco()输出学校成绩列表 output()输出团体报表函数 teamput()四、程序调试#include <conio.h> #include<stdlib.h> #include<stdio.h> int n,m,w;struct result{int scnum;char name[20];int position;int score;};struct match{int matnum;int num;struct result list[5]; };struct sclist{int matnum;int position;char name[20];int score;};struct school{int scnum;struct sclist list[50];int team;int mteam;int fteam;int num;};struct match ma[50];struct school sc[20];score(a,b)int a,b;{if(b==3){ma[a-1].list[0].score=5;ma[a-1].list[1].score=3;ma[a-1].list[2].score=2;}if(b==5){ma[a-1].list[0].score=7;ma[a-1].list[1].score=5;ma[a-1].list[2].score=3;ma[a-1].list[3].score=2;ma[a-1].list[4].score=1;}return;}input(a)int a;{int i;do{printf("\n the %d item:take the former positions (3/5)?",a);scanf("%d",&ma[a-1].num);if((ma[a-1].num!=3)&&(ma[a-1].num!=5))printf("\n!error:please input the number 3or 5!\n");} while((ma[a-1].num!=3)&&(ma[a-1].num!=5));score(a,ma[a-1].num);for(i=0;i<ma[a-1].num;i++){ma[a-1].list[i].position=i+1;printf("\n the %d position:scnum:",i+1);scanf("%d",&ma[a-1].list[i].scnum);printf("name:");scanf("%s",&ma[a-1].list[i].name);printf("the score:%d",ma[a-1].list[i].score);}return;}index(){int i,j,k,t;for(i=0;i<n;i++){sc[i].scnum=i+1;sc[i].num=0;}for(i=0;i<m+w;i++)for(j=0;j<ma[i].num;j++)for(k=0;k<n;k++)if(ma[i].list[j].scnum==sc[k].scnum){sc[k].list[sc[k].num].matnum=ma[i].matnum;sc[k].list[sc[k].num].position=ma[i].list[j].position;for(t=0;t<20;t++){sc[k].list[sc[k].num].name[t]=ma[i].list[j].name[t];} sc[k].list[sc[k].num].score=ma[i].list[j].score;sc[k].num++;}return;}teamsco(){int i,j;for(i=0;i<n;i++){sc[i].team=0;sc[i].mteam=0;sc[i].fteam=0;}for(i=0;i<n;i++)for(j=0;j<sc[i].num;j++){sc[i].team=sc[i].team+sc[i].list[j].score;}for(i=0;i<m;i++)for(j=0;j<sc[i].num;j++){sc[i].mteam=sc[i].mteam+sc[i].list[j].score;}for(i=m+1;i<n;i++)for(j=0;j<sc[i].num;j++){sc[i].fteam=sc[i].fteam+sc[i].list[j].score;}return;}output(a)int a;{int i;printf("\n the grades form scnum:%d\n",a);printf(" matnum pozition name mark\n");for(i=0;i<sc[a-1].num;i++)printf("%6d%10d%10s%15d\n",sc[a-1].list[i].matnum,sc[a-1].list[i].position,sc[a-1].list[i].na me,sc[a-1].list[i].score);return;}teamput(){int i;printf("\n the grades of the team form \n");printf("scnum team mteam fteam\n");for(i=0;i<n;i++)printf("%4d%7d%11d%13d\n",sc[i].scnum,sc[i].team,sc[i].mteam,sc[i].fteam);return;}main(){ int i,c;printf("*******************************************************\n");printf(" welcome \n");printf("*******************************************************\n");printf("please input the number of the schools:");scanf("%d",&n);printf("\n how many man sports:");scanf("%d",&m);printf("\n how many women sports:");scanf("%d",&w);printf("\n this competition have %d school join,get %d matches,%d man's sport,%d women's sports.\n",n,m+w,m,w);c=1;while(c!=0){printf("\n please input the finished competition(0=COTINUE):");scanf("%d",&c);if((c>0)&&(c<=m+w))input();elseif(c==0) break;elseprintf("\n!error:the number must among1-%d!\n",m+w);}index();teamsco();teamput();c=1;while(c!=0){printf("\n\n please input the scnum(0=EXIT):");scanf("%d",&c);if(c==0) break;else if((c>=0)&&(c<=m+w))output();else printf("\n!error: the number must among -%d之间的整数!\n",m+w);}printf("\n THE END!\n");return;};五,心得总结1.程序运行时出现乱码,用英文替换即可。

成绩管理系统c语言程序设计报告(一)

成绩管理系统c语言程序设计报告(一)成绩管理系统C语言程序设计报告项目概述•本项目是一个成绩管理系统的C语言程序设计。

•旨在提供一个简单而高效的成绩管理系统。

•使用C语言编写,具备基本的成绩录入、查询、修改和删除功能。

功能设计1.成绩录入功能–提供用户输入学生的姓名、学号和成绩。

–将录入的成绩保存在文件中。

2.成绩查询功能–用户可以通过学号或姓名查询某个学生的成绩。

–显示学生的成绩信息。

3.成绩修改功能–用户可以通过学号或姓名定位到某个学生的成绩。

–允许用户修改学生的成绩。

4.成绩删除功能–用户可以通过学号或姓名定位到某个学生的成绩。

–允许用户删除学生的成绩。

技术实现•使用C语言作为主要开发语言,具备良好的跨平台性。

•采用文件输入输出方式进行成绩的长期保存。

•使用结构体来管理学生的相关信息,包括姓名、学号和成绩。

•通过循环和条件判断来实现各个功能模块。

流程图以下为成绩管理系统的流程图:graph LRA[开始] --> B{选择功能}B --> C{输入学生信息}C --> D[保存学生信息]C --> BB --> E{查询成绩}E --> F[显示成绩信息]E --> BB --> G{修改成绩}G --> H[定位学生信息]H --> I[修改成绩]H --> GG --> BB --> J{删除成绩}J --> K[定位学生信息]K --> L[删除成绩]K --> JJ --> BB --> M[结束]后续优化•增加用户名和密码的身份验证功能,确保只有授权用户可以使用系统。

•支持更多的查询方式,例如成绩范围查询、按照科目查询等。

•增加对数据的备份和恢复功能,保证数据的安全性。

•提供简洁友好的用户界面,方便用户的操作和理解。

结论本成绩管理系统通过C语言程序设计实现了基本的成绩录入、查询、修改和删除功能。

C语言综合训练课程设计_运动会成绩管理程序设计

沈航北方科技学院课程设计说明书课程名称C语言综合训练教学部工学一部专业网络工程班级 B041111学号学生姓名指导教师2011年9月沈航北方科技学院课程设计任务书教学部工学一部专业网络工程课程设计题目运动会成绩管理程序设计班级B041111 学号姓名课程设计时间: 2011 年 8 月 29 日至 2011 年 9月 15 日课程设计的内容及要求:(一)主要内容设计一个运动会成绩管理程序,主要实现以下功能:1、检录功能,登录参赛运动员的信息;2、记录成绩功能,每项比赛结束后记录参赛运动员的成绩;3、针对不同比赛对运动员的成绩排名次;4、可对运动员的信息和成绩进行修改、删除、查询操作。

(二)基本要求1、系统采用C程序设计语言实现;2、独立完成系统的设计、编码和调试,通过指导教师当场验收;3、交出完整的课程设计报告。

三)主要参考书[1]谭浩强.C程序设计(第三版). 北京:清华大学出版社,2005.7[2]高涛,陆丽娜.C语言程序设计.西安西安交通大学出版社,2007.2 (四)评语(五)成绩指导教师史俊 2011 年 7 月 2 日负责教师年月日运动会成绩管理程序设计于硕目录摘要 (2)1.绪论 (2)2.系统分析 (2)2.1功能需求 (2)2.2数据需求 (3)2.3性能需求 (3)3.总体设计 (3)3.1功能模块设计 (3)3.2系统设计方案 (4)4.详细设计 (5)4.1录入信息模块 (5)4.2查询信息模块 (7)4.3修改信息模块 (8)4.4删除信息模块 (9)4.5成绩排名模块 (10)5.调试和测试 (12)5.1测试 (12)5.2调试 (12)6.结论 (13)结束语 (13)参考文献 (13)附录1—用户手册 (14)附录2—源程序 (18)摘要运动会是一个全民健身的活动,在运动会里可以提高人们的身体素质,培养人们的素养。

在参加运动会的过程中我们可以看到激情和友情的碰撞,人们用自己的实力来赢得第一。

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

沈航北方科技学院课程设计说明书课程名称C语言综合训练教学部工学一部专业网络工程班级 B041111学号 B********学生姓名于硕指导教师史俊2011年9月沈航北方科技学院课程设计任务书教学部工学一部专业网络工程课程设计题目运动会成绩管理程序设计班级B041111 学号B04111131 姓名于硕课程设计时间: 2011 年 8 月 29 日至 2011 年 9月 15 日课程设计的内容及要求:(一)主要内容设计一个运动会成绩管理程序,主要实现以下功能:1、检录功能,登录参赛运动员的信息;2、记录成绩功能,每项比赛结束后记录参赛运动员的成绩;3、针对不同比赛对运动员的成绩排名次;4、可对运动员的信息和成绩进行修改、删除、查询操作。

(二)基本要求1、系统采用C程序设计语言实现;2、独立完成系统的设计、编码和调试,通过指导教师当场验收;3、交出完整的课程设计报告。

三)主要参考书[1]谭浩强.C程序设计(第三版). 北京:清华大学出版社,2005.7[2]高涛,陆丽娜.C语言程序设计.西安西安交通大学出版社,2007.2 (四)评语(五)成绩指导教师史俊 2011 年 7 月 2 日负责教师年月日运动会成绩管理程序设计于硕目录摘要 (2)1.绪论 (2)2.系统分析 (2)2.1功能需求 (2)2.2数据需求 (3)2.3性能需求 (3)3.总体设计 (3)3.1功能模块设计 (3)3.2系统设计方案 (4)4.详细设计 (5)4.1录入信息模块 (5)4.2查询信息模块 (7)4.3修改信息模块 (8)4.4删除信息模块 (9)4.5成绩排名模块 (11)5.调试和测试 (13)5.1测试 (13)5.2调试 (13)6.结论 (14)结束语 (14)参考文献 (14)附录1—用户手册 (15)附录2—源程序 (19)1摘要运动会是一个全民健身的活动,在运动会里可以提高人们的身体素质,培养人们的素养。

在参加运动会的过程中我们可以看到激情和友情的碰撞,人们用自己的实力来赢得第一。

开发本系统是为了更方便,在运动会中做比赛数据的记录,方便记录比赛成绩。

本系统使用C语言作为开发语言。

实现了对运动会的结果提示以及对成绩的储存和对成绩的排名。

本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、详细设计、测试等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结。

关键词:C语言;运动会;信息管理1.绪论运动会成绩管理程序设计的开发是为了方便记录比赛成绩,运动员的状况和成绩,对比赛成绩进行排名。

这个系统以快捷,简便为原则,更加方便了对运动会成绩的记录。

运动会是很早以前就有的一项组织性活动,它的存在使人们的身体得到了锻炼。

运动会是一项必不可少的活动,所以开发这个系统可以使运动会成绩的记录变的更加方便。

设计一个运动会成绩管理程序,主要实现以下功能:1、检录功能,登录参赛运动员的信息;2、记录成绩功能,每项比赛结束后记录参赛运动员的成绩;3、针对不同比赛对运动员的成绩排名次;4、可对运动员的信息和成绩进行修改、删除、查询操作。

2.系统分析2.1功能需求本系统要求对运动员的信息进行登录修改,记录,查询,要求可以对运动员的成绩进行单项排名。

主要实现程序最初运行时运动员数据的录入以及其后的运行数据的追加功能,实现的功能是按照号码对运动员的数据记录进行修改、记录、查询、删除,按照题目的具体要求实现的是某项成绩的递减排序以及名次显示。

22.2数据需求在这些函数当中,添加运动员数据函数例如运动员序号、运动员名称、百米赛跑成绩、三级跳成绩和撑杆跳成绩。

2.3性能需求本系统的性能需求:要求运行稳定、数据可靠、输出准确、响应速度快、可安全运行、能很好的保存、删除、修改。

可以及时保存存储删除数据,可对成绩进行排名,显示即时成绩3.总体设计3.1功能模块设计经过对程序设计题目的分析可知,整个程序的设计实现大致分为5个模块,每一个模块对应一个函数。

在这些函数当中,添加运动员数据函数,删除数据函数,某项成绩排序函数的实现严格按照题目的要求,而更改数据函数和显示函数属于附加功能。

读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。

录入信息模块是录入运动员信息、查询信息模块是查询运动员信息的、修改信息模块可以对运动员信息进行修改、删除模块可对运动员信息进进行删除、成绩排名是对运动员的成绩进行排名,功能模块见图1所示。

3图1 功能模块图3.2系统设计方案本系统中用到了结构体数组和数据的存储。

该结构体数组中包含字符串,系统的设计方案如下:(1)数据结构struct student{char num[20];//运动员号码char name[10];//运动员名字float baimi;//百米赛跑成绩float sanjitiao;//三级跳成绩float chenggantiao;//撑杆跳成绩4};(2)菜单设计一个总菜单,0、查询运动员数据;1、添加运动员数据;2、显示运动员数据;3、删除运动员数据;4、修改运动员数据;5、百米成绩排序;6、三级跳成绩排序;7撑杆跳成绩排序;8、退出;基本功能的实现都将体现在这几个菜单选项中。

(3) 函数定义了12个函数void menu();int reads(struct student stu[N]);//读取运动员信息void save(struct student stu[N],int n);//储存运动员信息void search();//查询运动员信息void add();//添加运动员信息void del();//删除运动员信息void sort();// 按百米赛跑成绩查询void keep();//按三级跳成绩查询void sheep();//按撑杆跳成绩查询void query();//退出程序void show();//显示运动员信息void change();//更改运动员信息4.详细设计4.1录入信息模块1. 添加数据函数添加数据分为两种情况,其一是在运动员文件(student.txt)不存在的情况下,首先由程序创建一个新文件,并将录入的运动员信息写入该文件当中;其二是在运动员文件(student.txt)已经存在的情况下,此时文件以追加的方式打开,这样才可以保证以前已经存在的数据不丢失。

5图2录入信息流程图64.2查询信息模块查询文件是在以存的运动员信息中进行查询,可对运动员信息进行查询显示运动员信息。

通过录入运动员号码num ,与stu[i].num做比较,结果相同进行m++,m=reads(stu);来提取文件中的数据N图3查询信息流程图74.3修改信息模块修改信息是对运动员信息进行修改,通过输入number与stu[i].num比较,如果相同进行n=reads(stu)来提取信息在对信息进行修改。

图4修改信息流程图84.4删除信息模块该函数的核心内容是删除算法以及最终对源文件的更新。

该函数执行时,首先调用reads函数将文件中的运动员信息读入数组当中,并由用户输入待删除运动员的号码,而后按照该号码进行查找,如果文件中存在该运动员的数据,则采用删除算法删除,否则输出运动员信息不存在的提示信息。

对运动员信息的具体删除算法是在结构体数组中实现的,当运动员的信息被找到后,位于数组中该学生后面的运动员记录依次向前移动一个元素的位置,这些操作完成后,要删除运动员信息就被后面的数组元素覆盖掉了,也就实现了删除。

9图5删除信息流程图104.5成绩排名模块对于某项的排序采用的排序算法是冒泡法排序,整个排序过程在结构体数组stu中实现,由于排序算法涉及到两个数组元素的信息交换,因此还需要定义一个中间变量来协助。

排序函数使运动员数据的排列顺序发生了变化,因此也需要对源文件进行更新。

此外,对于运动员排序后名次的确定,仅在结果输出时予以显示,并未将名次信息写入源文件。

具体的程序段如下(由于各项成绩排序函数相同,所以只给出百米赛跑排名程序):11图6成绩排名流程图125.调试和测试5.1测试测试是在完成某一部分功能和全部功能后,根据功能和性能的需求,看看系统有没有实现要求中的功能,是否达到性能要求。

系统测试是软件生存期中的一个重要阶段,系统质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以系统测试应该是“为了发现错误而执行程序的过程”。

或者说,系统测试应该根据程序开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。

过度测试则会浪费许多宝贵的资源。

到测试后期,即使找到了错误,然而付出了过高的代价。

测试数据过程如下。

当运动员成绩管理系统进行对运动员数据的添加数据号码 1 姓名zhanglinlin 百米赛跑10 三级跳9 撑杆跳 4.5 号码2 姓名yushuo 百米赛跑9.8 三级跳7 撑杆跳4。

显示信息即显示添加的数据,修改数据,查询数据,现在测试系统是否能够正确显示录入的所有运动员信息,当系统中已存入一定的运动员信息当执行浏览功能时,系统会将运动员信息全部列出,当系统未存入任何信息是显示无运动员信息。

测试成功,显示正确,完成测试。

5.2调试调试是程序编写中的一个重要环节,也是最复杂,对程序编写者来说是一项艰巨的任务。

调试的任务就是及时改正测试过程中发现的错误。

具体地说,调试过程由两个步骤组成,它是从程序中存在错误的某种迹象开始的。

首先是确定错误的准确位置,也就是找出是哪个模块或哪个语句引起的错误。

然后仔细研究推断代码以确定问题的原因,并设法改正。

调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。

本系统调试过程中遇到问题、原因和解决方法如下面介绍:(1)程序运行不顺利13在程序运行的过程中出现死循环、不运行和提前结束。

原因是程序中出现了逻辑错误,进入查询页面后,查询的时候显示的是逻辑错误。

没有写读取文件的函数m=reads(stu);所以读取不了存储的文件(2)无法将排完序的数据写入到文本文件stu_list.txt中去原因是读写文件的方式不对。

6.结论经过一段时间的学习,制作我的运动会成绩管理系统完成了,但只能说是粗略的完成。

虽然说还存在一写不足的地方,但基本实现了任务说上得所有要求,发现错误并及时修改,她能够统计学生的比赛成绩和通过成绩进行排名,我设计的成绩还存在一定的不足,一开始是没有查询功能的,经过我不断地努力把程序进行了完善,让它变的更加实用。

结束语经过两个星期的思考,设计,编程,我真的感到这不是一件简单容易的事情。

相关文档
最新文档