C语言程序设计运动会成绩统计系统1

合集下载

C运动会分数统计系统

C运动会分数统计系统

课程设计报告运动会分数统计系统1. 系统需求分析问题描述:参加运动会有n个学校,学校编号为1,2,···,n,比赛分为m个男子项目和w个女子项目。

项目编号为男子1,2,···,m个,女子m+1个,m+2个,··,m+w。

不同的项目取得前五名或前三名积分;取前五名的积分分别为7,5,3,2,1;前三名的积分分别为5,3,2;项目编号为奇数的取前五名,项目编号为偶数的取前三名(m≤20,n≤20)。

每个项目结束时,将其编号输入,并按名次顺序输入运动员姓名、学校编号和成绩。

请用C/C++编写一系统,模拟运动会分数统计过程,软件应包括如下几个方面:(一)功能要求:(1)成绩输入:要求:可以输入各个项目的前三名或前五名的成绩。

(2)成绩查询:要求:可以按学校编号查询学校各项目情况;可以按项目编号查询取得前三名或前五名的学校。

(3)成绩统计:要求:能统计各学校总分。

(4)成绩排序:要求:可以按学校编号、学校总分、男女团体总分排序输出。

(二)其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读;(2)至少采用文本菜单界面(如果能采用图形菜单界面更好);(3)学生可自动增加新功能模块(视情况可另外加分);(4)写出课程设计报告,具体要求见相关说明文档。

2 概要设计2.1 系统功能设计根据运动会分数统计系统问题的分析和设计要求,可以将该系统可以分为三个模块:信息统计模块、信息输出模块、信息查询模块,其系统功能结构图如图1所示。

(1)信息统计模实现信息的输入、统计。

(2)信息输出模块,实现信息的输出。

(3)信息查询实现信息的查询。

图1 系统功能结构图3.详细设计:毕业设计有困难?加QQ929486211(1)定义运动项目数据类型,用于存放运动项目,包括项目编号、项目所取名次数、名次、分数。

(2)定义学校数据类型,用来存储参赛学校信息,包括学校编号、学校总分、男团总分、女团总分、项目数组。

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

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

运动会管理系统C语言程序设计
简介
运动会管理系统是一个用C语言编写的程序,用于管理学校或机构举办的各类
运动会活动。

该系统能够帮助组织者有效地安排赛程、记录成绩以及生成相关报表,提高管理效率和赛事质量。

功能模块
1. 用户登录
•提供管理员和裁判员两类用户登录选项
•管理者可以对比赛项目、队伍信息进行管理
•裁判员可以录入比赛成绩
2. 赛事管理
•管理者可以添加、编辑、删除赛事项目
•每个赛事项目包括项目名称、参赛队伍、赛程安排等信息
3. 队伍管理
•管理者可以添加、编辑、删除参赛队伍
•每个参赛队伍包括队名、队员信息等
4. 成绩录入
•裁判员可以录入每个队伍在各个项目中的成绩
•系统可以自动计算并显示队伍的总成绩
5. 报表生成
•系统可以根据录入的成绩数据生成成绩报表
•报表可以按照项目、队伍等不同维度展示成绩数据
技术实现
该系统基于C语言编写,采用了结构体、文件读写、数据处理等基本功能和技术。

通过数据结构的设计和文件操作,实现了用户登录、赛事管理、队伍管理、成绩录入、报表生成等功能。

系统优势
•界面简洁明了,操作便捷高效
•数据处理准确可靠,确保成绩数据的准确性
•面向对象的设计,方便扩展和维护
结语
运动会管理系统C语言程序设计为学校或机构举办运动会提供了一种高效的管理方式,使赛事组织更加顺畅和专业化。

通过不断的优化和改进,该系统能够更好地满足不同运动会的管理需求,为相关活动的顺利进行提供有力支持。

c语言课程设计运动会分数统计系统

c语言课程设计运动会分数统计系统
1.4 实现提示
3.数据结构:线性表 4.数据库结构:下面四张表构成该系统的基本数据库,全部输出报表由
系统根据基本表自动生成。
运动员编号 char
学校编号 char
项目编号 char
性别 类型 char char
成绩 float
运动员编号 学校编号
姓名 校名
初始化时完成录入
项目编号
项目名
3. 可以假设 n≤20,m≤30,w≤20,姓名长度不超过 20个字符。每个项目 结束时,将其编号、类型符(区分取前五名还是前三名)输入,并输入 运动员编号、学校编号和成绩等。
组、函数和 C 语言基本图形编程等方法, 把编程和实际结合起来, 增强对不同的问题运用和
灵活选择合适的数据结构以及算法描述的本领, 熟悉编制和调试程序的技巧, 掌握分析结果
的若干有效方法, 进一步提高上机动手能力, 培养使用计算机解决实际问题的能力, 养成提
供文档资料的习惯和规范编程的思想, 为以后在专业课程中应用计算机系统解决计算、 分析、
3
1.1 问题描述 .....................................................
3
1.2 基本要求 .....................................................
3
1.3 测试数据 .....................................................
9
4.1.1 类属性的详细设计 ........................................
10
第五章 测试与维护 .........................................

运动会成绩处理系统(C语言简单类型版)

运动会成绩处理系统(C语言简单类型版)

一、运动会成绩处理基本过程如下:本系统的特色:(1) 本系统采用模块化(自定义函数)开发方法,基础信息处理模块、运动员检录信息处理模块、预赛信息处理模块、决赛信息处理模块(2) 本系统采用由总装模块(主函数)调用的方式实现各个功能模块的集成。

(3)设置一全局变量,使程序具有报告运动会比赛项目完成情况的功能。

(4)当比赛开始时候,本系统打开运动会开始画面,项目全部完成的时候,本系统将打开结束画面。

存储检录信息的数据对象基础信息录入模块:/*把参赛运动员的基础信息录入到数组变量中保存,下述程序仅能完成一批次6个人的运动员基础信息处理任务)*/#define num 6#define L1 7main(){Int i;char sports_no[num][L1], student_no[num][L1],name[num][L1],goods[num]={0,0,0,0,0,0};for(i=1;i<=num;i=i+1){printf("\ninput %d ‘s sports_no :",i);scanf("\%s", sports_no[i-1]);printf("\ninput %d ‘s student_no :",i );scanf("%s", student_no[i-1]);printf("\ninput %d ‘s name:",i);scanf("%s", name[i-1]);}\*把运动员基本信息保存在文件中*\#include<stdio.h>main()FILE *fp;int i;char name[2][7];fp=fopen("lds.txt","w");for(i=1;i<=2;i++){scanf("%s",name[i-1]);fwrite(name[i-1],7,1,fp);}fclose(fp);}\*从文件中输出运动员基本信息*\ #include<stdio.h>main(){FILE *fp;int i;char name[2][7];fp=fopen("lds.txt","r");for(i=1;i<=2;i++)fread(name[i-1],7,1,fp);}fclose(fp);printf("\n");for(i=1;i<=2;i++) printf("\n%s",name[i-1]);}预赛处理:(1)填写检录名单(具有手动终止检录功能,下述程序仅能完成一批次最多6个人的检录信息处理任务)main(){int i;int k;char sports_no[6][7]={"","","","","",""}; \\本语句形成简单表,而要形成多列表则要定义字符型三维数组。

C语言程序的设计运动会成绩统计系统方案

C语言程序的设计运动会成绩统计系统方案

程序设计工程训练 报告运动会分数统计系统课程名称 姓名 院(系) 专业班级 学号 指导教师教务处制C 语言程序设计工程训练 信息科学与技术学院1 需求分析. (1)2 系统总框图和功能模块说明 (2)2.1 系统总框图 (2)2.2 功能模块说明 (2)3 系统设计. (3)3.1 主要结构体 (3)3.2 主要功能函数 (3)3.3 关键函数的流程图 (4)4 系统调试. (4)5 总结. (7)6 源程序清单. (7)1需求分析1问题描述运动会分数统计参加运动会有n个学校,学校编号为1……n。

比赛分成m个男子项目,和w个女子项目。

项目编号为男子1〜m女子m+仁m+w不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名由使用者设定。

(m<=20 ,n <=202. 基本要求:1) 可以输入各个项目的前三名或前五名的成绩;2) 能统计各学校总分;3) 可以按学校编号、学校总分、男女团体总分排序输出;4) 可以按学校编号查询学校某个项目的情况;5) 可以按项目编号查询取得前三或前五名的学校。

3. 测试数据1) 首先进入成绩录入界面,先输入参赛学校数,再输入男子组数和女子组数;2) 然后进入总目录;3) 输入:1输入成绩;4) 输入:2统计各校总分;5) 输入:3统计各校项目得分;6) 输入:4按学校总分排序输出;7) 输入:5按男团体总分排序输出;8) 输入:6按女团体总分排序输出;9) 输入:7按学校编号查询学校某个项目的成绩;10) 输入:8按项目编号查询取得前三名或前五名的学校;11) 输入:0退出;2系统总框图和功能模块说明2.1 系统总框图2.2 功能模块说明1) 输入:1输入成绩;............. .............. 输入某一项目的成绩2)输入: 2统计各校总分;........ •…统计各校所有项目总分之和3)输入:3 统计各校项目得分;••…•…输出各校各项目得分4)输入:4 按学校总分排序输出;………按照总分从大到小排序5)输入:5 按男团体总分排序输出;••…仅按照男子团体总分从大到小排序6) 输入:6按女团体总分排序输出;••…仅按照女子团体总分从大到小排序按项目编号查询取得前三名或前五名的学校*按学校编号查询学校某个项目的成绩按女团体总分排序输出按男团体总分排序输出1『按学校总分排序输出1统计各校个项目得分7) 输入:7按学校编号查询学校某个项目的成绩;•…输入学校编号及项目编号可查询该校的该项目成绩8) 输入:8按项目编号查询取得前三名或前五名的学校;•…输入项目编号可查询该项目获得名次的学校9) 输入:0退出;....... 退出系统3系统设计3.1主要结构体菜单号choo学校:num项目:ab男团、de女团、ke3.2主要功能函数void exit0()void in put()void each()void biaohao()void zongfen()void nanzon g()void nvzon g()void xuexiao()void xia ngmu()void main()3.3关键函数的流程图void exitO()void input()void each() void biaohao()Z -----------------------------------------------------------------------------------------------------------------------------void zongfen() void nanzon g() void nvzon g()void xuexiao() void xia ngmu()void main()4系统调试<1>开始界面,分别输入3、7、3.***运动会分数统计* *输入1后显示请选拝'1请愉人项甘1先号:1请摻頭第一、第二 弟三的名输丸荻芝学校代号,I 输入完冋2 H M MH M M3 ****** 4MWKHWK 5****** fl****** 9S.总号号成各l i w -1的五目 1分个得岀的出询询刖2多47^7 有几几 共有有少男女12345676?绩的f的五旦项或 分辻一一得蛍某罚Kin分学职的杳一族备校目入井学男辜苗 充岳 dE-一yFC ■-濒一也--止*N1Q输入2后显示请如2 学校代号=团体总成绩 坝或 S个三 得拦屮臺前询i ^^t l w s-l r •■\计期勇玄于项冷 -1嗨绩的的五mr:刖1分 个三 得前八負^学取E 三1234 5 65^13-号号学校代号:团休总成绩 1 : 5 喊绩的f的五 IT —別1分±-・ 得普某 ..屮出逆肆得 /且幫 «遗询<a备杳一二 一刖吨,^・小••戏J.•戏 " 二二一二冷 * * 二★二舞二 砂二一映123456789输入5后显示请选择;5学校代号:男子团体总成绩1 : 5输入6后显示 请选择;6学校代号:女子团体总成绩请选7更查询的学校1弋号’ 1 吏查询曲项刖弋号;1I 1所牟屜第1项目成绩为5肾学校un^刖分 得岀岀某前的出 分an^yt学取 询 分忌总号号叢S子总 成各&雇3JJ 检目 入^#学男玄子 H个一一二输入8后显示12345678校.学绩的f的五亘 项或个三岀岀某前 咸各鳥团团校目入丰学男十Z卄卄北二 I 二123456789分 得岀岀某前wiis八学取总询 的霽查分总总号号 成各套团里目入学男蛊子^^个_输入7后显示123J-5&78输入95总结本次课程设计检验了我的实践能力,感觉自己还有许多东西要学习,并不仅限于课本上的知识,实践才是真理,在学习中实践,实践中去学习。

C语言程序设计运动会成绩统计系统1

C语言程序设计运动会成绩统计系统1

课程设计报告课程名称《C语言程序设计》课题名称运动员分数统计系统专业班级学号姓名指导教师王颖2015 年1月9日湖南工程学院课程设计任务书课程名称《C语言程序设计》课题运动员分数统计系统专业班级学生姓名学号指导老师王颖审批任务书下达日期 2015年 12月 29日任务完成日期2016年 1月 9日设计内容与设计要求1.课程设计目的:全面熟悉、掌握C语言基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为后继课程(数据结构、数据库和汇编语言等课程)的实验以及课程设计打下较扎实的基础。

2.课题题目⑴班级成绩管理系统⑵班级档案管理系统⑶飞机订票系统⑷猜数字游戏⑸电子英汉词典设计⑹心算抢答系统⑺运动会分数统计系统⑻小学生心算CAI系统3.设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。

具体要求如下:⑴设计课题题目:每位同学根据自己学号除以8所得的余数加一选择相应题号的课题。

换题者不记成绩。

⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求;输入输出的要求。

②完成系统概要设计:程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。

③完成系统详细设计:包括采用C语言定义相关的数据类型;写出各模块的类C码算法;画出函数的调用关系图。

④调试分析以及设计体会:测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。

关于运动会分数统计系统数据结构++课程设计实验报告

关于运动会分数统计系统数据结构++课程设计实验报告

#include <stdlib.h>#include"fstream.h"#include <iostream.h>class Record//最小的类,用来记录得奖者的信息{friend class Subject;friend class RankList;private:int school;int score;int mark;public:Record(int s=-1,int sc=0,int m=0):school(s),score(sc),mark(m){} int & ReturnSchool(){return school;}int & ReturnScore(){return score;}int & ReturnMark(){return mark;}};class Subject//它嵌套Record类,正好组成一个项目{friend class RankList;private:Record Rec[5];void SetRecord_3(int i);void SetRecord_5(int i);};class School//主要为了输出的方便{friend class RankList;int WholeScoreM,WholeScoreF,WholeScore;void output(){cout<<WholeScoreM<<"\t"<<WholeScoreF<<"\t"<<WholeScore<<endl; }School(){WholeScoreM=0;WholeScoreF=0;WholeScore=0;}};class RankList{//他嵌套Subject类,正好组成所有的项目private:Subject Subject[5];public:School school[5];void Innput();int SumScoreSchool(int number);//.按照学校代码查找学校总分int MSumScoreSchool(int number);//按照学校代码查找学校男子团体总分int FSumScoreSchool(int number);//按照学校代码查找学校女子团体总分void OutPut(void);//按学校代码输出所有的总分void SumOutPut(void);//输出所有学校总分排名void MSumOutPut(void);//输出学校男子总分排名void save_to_file();//存入文件void FSumOutPut(void);//输出学校女子总分排名void get(char * c);//从文件中读取数据void paixuWhole(void);void paixuWholeM(void);void paixuWholeF(void);void ItemSearch(int SchoolNumber,int ItemNumber);//按学校编号查询学校某个项目的情况void SchoolSearch(int ItemNumber);//可以按项目编号查询取得前三或前五名的学校};void RankList::get(char * c){char ch;fstream fin(c,ios::in|ios::out);if(!fin){cerr<<"open"<<c<<"error!"<<endl;exit(1);}for(int k=0;k<3;k++)for(int j=0;j<5;j++){fin>>Subject[k].Rec[j].ReturnSchool();fin>>Subject[k].Rec[j].ReturnScore();fin>>Subject[k].Rec[j].ReturnMark();//iofile.read((char *)&Subject[k].Rec[j],sizeof(Subject[k].Rec[j]));}for( k=3;k<5;k++)for(int j=0;j<3;j++){fin>>Subject[k].Rec[j].ReturnSchool();fin>>Subject[k].Rec[j].ReturnScore();fin>>Subject[k].Rec[j].ReturnMark();//iofile.read((char *)&Subject[k].Rec[j],sizeof(Subject[k].Rec[j]));}}void RankList::save_to_file(){ofstream outfile("123.txt",ios::out);if(!outfile){cerr<<"open error!"<<endl;exit(1);}for(int k=0;k<3;k++)for(int j=0;j<5;j++){outfile<<Subject[k].Rec[j].ReturnSchool()<<""<<Subject[k].Rec[j].ReturnScore()<<" "<<Subject[k].Rec[j].ReturnMark()<<endl; }for( k=3;k<5;k++)for(int j=0;j<3;j++){outfile<<Subject[k].Rec[j].ReturnSchool()<<""<<Subject[k].Rec[j].ReturnScore()<<" "<<Subject[k].Rec[j].ReturnMark()<<endl; }outfile.close();}void RankList::ItemSearch(int SchoolNumber,int ItemNumber){int temp=0;if(ItemNumber<3){for(int i=0;i<5;i++){if(Subject[ItemNumber].Rec[i].ReturnSchool()==SchoolNumber){cout<<"第"<<SchoolNumber<<"学校在男子项目"<<ItemNumber<<"取得"<<i+1<<"名"<<endl;temp++;}}}else{for(int i=0;i<3;i++){if(Subject[ItemNumber].Rec[i].ReturnSchool()==SchoolNumber){cout<<"第"<<SchoolNumber<<"学校在女子项目"<<ItemNumber<<"取得"<<i+1<<"名"<<endl;temp++;}}}if(temp==0)cout<<"第"<<SchoolNumber<<"学校在项目"<<ItemNumber<<"没有取得名次"<<endl; }void RankList::SchoolSearch(int ItemNumber){if(ItemNumber<3){for(int i=0;i<5;i++){cout<<"取得男子项目第"<<i+1<<"名的学校是"<<Subject[ItemNumber].Rec[i].ReturnSchool()<<endl;}}else{for(int i=0;i<3;i++){cout<<"取得女子项目第"<<i+1<<"名的学校是"<<Subject[ItemNumber].Rec[i].ReturnSchool()<<endl;}}}void Subject::SetRecord_3(int i){ //为取前三名的项目建立记录 int a,j;cout<<"请输入第"<<i+1<<"名的学校,成绩"<<endl;cout<<"学校:";cin>>a;bool Tag=true;while(Tag){if(a>5){cout<<"输入错误!只有5个学校!"<<endl;cout<<"学校:";cin>>a;}elseTag=false;}Rec[i].school=a;cout<<"成绩:";cin>>a;Rec[i].score=a;bool flag=true;if(i>0){while(flag){for(j=0;j<i;j++){if(Rec[i].score>Rec[j].score){cout<<"输入错误!重新输入!"<<endl;cin>>a;Rec[i].score=a;}elseflag=false;}}}switch(i){case 0:Rec[i].mark=5;break;case 1:Rec[i].mark=3;break;case 2:Rec[i].mark=2;break;}}void Subject::SetRecord_5(int i){ //为取前五名的项目建立记录 int a;cout<<"请输入第"<<i+1<<"名的学校,成绩"<<endl;cout<<"学校:";cin>>a;bool Tag=true;while(Tag){if(a>5){cout<<"输入错误!只有5个学校!"<<endl;cout<<"学校:";cin>>a;}elseTag=false;}Rec[i].school=a;cout<<"成绩:";cin>>a;Rec[i].score=a;bool flag=true;if(i>0){while(flag){for(int j=0;j<i;j++){if(Rec[i].score>Rec[j].score){cout<<"输入错误!重新输入!"<<endl;cout<<"成绩:";cin>>a;Rec[i].score=a;}elseflag=false;}}}switch(i){case 0:Rec[i].mark=7;break;case 1:Rec[i].mark=5;break;case 2:Rec[i].mark=3;break;case 3:Rec[i].mark=2;break;case 4:Rec[i].mark=1;break;}}void RankList::Innput(){int i,j;for(i=0;i<3;i++){cout<<"项目"<<i+1<<"(男子,取前五名)"<<endl; for(j=0;j<5;j++){Subject[i].SetRecord_5(j);}}for(i=3;i<5;i++){cout<<"项目"<<i+1<<"(女子,取前三名)"<<endl; for(j=0;j<3;j++){Subject[i].SetRecord_3(j);}}}int RankList::SumScoreSchool(int number)//查找学校总分{int gole=MSumScoreSchool(number)+FSumScoreSchool(number); school[number].WholeScore=gole;return gole;}int RankList::MSumScoreSchool(int number){int WholeScore=0,i,j;for(i=0;i<3;i++){for(j=0;j<5;j++)if(Subject[i].Rec[j].ReturnSchool()==number){WholeScore=WholeScore+Subject[i].Rec[j].ReturnMark(); }}school[number].WholeScoreM=WholeScore;return WholeScore;}int RankList::FSumScoreSchool(int number){int WholeScore=0,i,j;for(i=3;i<5;i++){for(j=0;j<5;j++)if(Subject[i].Rec[j].ReturnSchool()==number){WholeScore=WholeScore+Subject[i].Rec[j].ReturnMark(); }}school[number].WholeScoreF=WholeScore;return WholeScore;void RankList::paixuWhole(){int bound,j,t;School o;bound=4;while(bound!=0){t=0;for(j=0;j<=bound;j++)if(school[j].WholeScore<school[j+1].WholeScore) {o=school[j];school[j]=school[j+1];school[j+1]=o;t=j;}bound=t;}}void RankList::paixuWholeM(){int bound,j,t;School o;bound=4;while(bound!=0){t=0;for(j=0;j<=bound;j++)if(school[j].WholeScoreM<school[j+1].WholeScoreM) {o=school[j];school[j]=school[j+1];school[j+1]=o;t=j;}bound=t;}void RankList::paixuWholeF(){int bound,j,t;School o;bound=4;while(bound!=0){t=0;for(j=0;j<=bound;j++)if(school[j].WholeScoreF<school[j+1].WholeScoreF){o=school[j];school[j]=school[j+1];school[j+1]=o;t=j;}bound=t;}}void RankList::OutPut(void){for(int i=0;i<5;i++){SumScoreSchool(i);MSumScoreSchool(i);FSumScoreSchool(i);}cout<<"学校"<<" "<<"男团总分"<<" "<<"女团总分"<<" "<<"总分"<<endl; for(i=0;i<5;i++){cout<<i<<"\t";school[i].output();}}void RankList::SumOutPut(void){int i,k;for(i=0;i<5;i++){SumScoreSchool(i);MSumScoreSchool(i);FSumScoreSchool(i);}paixuWhole();cout<<"学校总分排名为(根据学校代码)"<<endl;cout<<"学校"<<" "<<"男团总分"<<" "<<"女团总分"<<" "<<"总分"<<endl; for(k=0;k<5;k++){cout<<k<<"\t";school[k].output();}}void RankList::MSumOutPut(void){int i,k;for(i=0;i<5;i++){SumScoreSchool(i);MSumScoreSchool(i);FSumScoreSchool(i);}paixuWholeM();cout<<"学校男子团体总分排名为(根据学校代码)"<<endl;for(k=0;k<5;k++){cout<<k<<"\t";school[k].output();}}void RankList::FSumOutPut(void){int i,k;for(i=0;i<5;i++){SumScoreSchool(i);MSumScoreSchool(i);FSumScoreSchool(i);}paixuWholeF();cout<<"学校女子团体总分排名为(根据学校代码)"<<endl;for(k=0;k<5;k++){cout<<k<<"\t";school[k].output();}}//运动会分数统计系统#include"iostream.h"#include"fstream.h"#include"stdlib.h"//#include"fstream"#include"fgc.h"int main(){cout<<"比赛共设5个项目,共有5个学校参加"<<endl;cout<<"前三为男子组项目,后两个为女子组项目"<<endl;cout<<"每组前三个个项目取前五名,其余取前三名"<<endl;cout<<"取前五名的项目,从第一名开始,积分依次为7分,5分,3分,2分,1分"<<endl;cout<<"取前三名的项目,从第一名开始,积分分别为5分,3分,2分"<<endl;cout<<" ************************************************** "<<endl;int t;RankList Rank;// 定义一个RankList对象bool flag1;//用来控制错误的再次输入char r[9]; //文件名cout<<"请选择你的输入模式:1,文件输入,2,键盘输入,请输入整数1或者2"<<endl; cin>>t;if(t==1||t==2) // 防止错误的输入flag1=true;while(flag1){switch(t){case 1:cout<<"请输入文件名"<<endl;Rank.get(r);flag1=false;break;case 2:Rank.Innput();Rank.save_to_file();flag1=false;break;default :cout<<"你的输入有误,请再次输入1或者2"<<endl;//纠错返回switch cin>>t;flag1=true;}}bool flag=true;//用来控制多次查询while(flag){int i;cout<<"请选择要进行的操作"<<endl;cout<<"1,按学校编号排序"<<endl;cout<<"2,按学校总分排序"<<endl;cout<<"3,男团体总分排序"<<endl;cout<<"4,女团体总分排序"<<endl;cout<<"5,按学校编号查询学校某个项目的情况"<<endl;cout<<"6,可以按项目编号查询取得前三或前五名的学校"<<endl;cout<<"0,退出"<<endl;cin>>i;char o;while(i<0||i>6)//防止错误的输入{cout<<"您的输入有误,请您在0~6之间选一个数输入"<<endl;cin>>i;}switch(i){Rank.OutPut();cout<<"是否继续(y/n)"<<endl;cin>>o;while(o!='y'&&o!='n')//防止错误的输入{cout<<"您的输入有误,请在y与n之间选择一个输入"<<endl; cin>>o;}switch(o){case 'y':system("cls");flag=true;break;case'n':flag=false;break;}break;case 2:Rank.SumOutPut();cout<<"是否继续(y/n)"<<endl;cin>>o;while(o!='y'&&o!='n'){cout<<"您的输入有误,请在y与n之间选择一个输入"<<endl; cin>>o;}switch(o){case 'y':system("cls");flag=true;break;case'n':flag=false;break;}break;Rank.MSumOutPut();cout<<"是否继续(y/n)"<<endl;cin>>o;while(o!='y'&&o!='n'){cout<<"您的输入有误,请在y与n之间选择一个输入"<<endl; cin>>o;}switch(o){case 'y':system("cls");flag=true;break;case'n':flag=false;break;}break;case 4:Rank.FSumOutPut();cout<<"是否继续(y/n)"<<endl;cin>>o;while(o!='y'&&o!='n'){cout<<"您的输入有误,请在y与n之间选择一个输入"<<endl; cin>>o;}switch(o){case 'y':system("cls");flag=true;break;case'n':flag=false;break;}break;int k,l;cout<<"请输入学校编号0~4"<<endl;cin>>k;while(k<0||k>4){cout<<"您的输入有错,请再次输入0~4之间的任意数"<<endl; cin>>k;}cout<<"请输入项目编号0~4"<<endl;cin>>l;while(l<0||l>4){cout<<"您的输入有错,请再次输入0~4之间的任意数"<<endl; cin>>l;}Rank.ItemSearch(k,l);cout<<"是否继续(y/n)"<<endl;cin>>o;while(o!='y'&&o!='n'){cout<<"您的输入有误,请在y与n之间选择一个输入"<<endl; cin>>o;}switch(o){case 'y':system("cls");flag=true;break;case'n':flag=false;break;}break;case 6:cout<<"请输入项目编号"<<endl;int m;cin>>m;Rank.SchoolSearch(m);cout<<"是否继续(y/n)"<<endl;cin>>o;while(o!='y'&&o!='n'){cout<<"您的输入有误,请在y与n之间选择一个输入"<<endl; cin>>o;}switch(o){case 'y':system("cls");flag=true;break;case'n':flag=false;break;}break;case 0:flag=false;break;}}return 0;}。

C语言运动会计分程序编写

C语言运动会计分程序编写

C语言运动会计分程序编写简介本文档将指导您使用C语言编写一个运动会计分程序。

该程序可以用于记录运动会中的各项比赛成绩,并进行排名和统计。

通过编写此程序,您将学习C语言的基本语法和数据结构的应用。

目录•准备工作•程序框架•功能实现– 1. 添加参赛项目– 2. 添加运动员– 3. 记录成绩– 4. 排名和统计•总结准备工作在开始编写程序之前,您需要确保您已经安装了C语言的编译器。

您可以选择使用gcc或者其他常用的C语言编译器进行开发。

程序框架在编写程序之前,我们需要先设计程序的框架。

该程序需要实现以下功能:•添加参赛项目•添加运动员•记录成绩•排名和统计首先,我们需要定义一些数据结构来存储参赛项目、运动员和成绩信息。

接下来,我们将编写一系列的函数来实现上述功能。

以下是程序的框架:#include <stdio.h>// 定义数据结构:参赛项目struct Event {char name[50]; // 项目名称int participantCount; // 参赛人数// 其他项目相关信息...};// 定义数据结构:运动员struct Athlete {char name[50]; // 运动员姓名int score; // 运动员成绩// 其他运动员相关信息... };// 函数:添加参赛项目void addEvent();// 函数:添加运动员void addAthlete();// 函数:记录成绩void recordScore();// 函数:排名和统计void rankAndStats();int mn() {// 主程序逻辑return 0;}void addEvent() {// 添加参赛项目的具体逻辑}void addAthlete() {// 添加运动员的具体逻辑}void recordScore() {// 记录成绩的具体逻辑void rankAndStats() {// 排名和统计的具体逻辑}功能实现现在,我们将逐步实现程序的各个功能。

C语言程序设计运动会成绩统计系统

C语言程序设计运动会成绩统计系统

程序设计工程训练报告运动会分数统计系统课程名称 姓名 院(系)专业班级 学号 指导教师教务处制C 语言程序设计工程训练 信息科学与技术学院1 需求分析. (1)2 系统总框图和功能模块说明 (2)2.1 系统总框图 (2)2.2 功能模块说明 (2)3 系统设计. (3)3.1 主要结构体 (3)3.2 主要功能函数 (3)3.3 关键函数的流程图 (4)4 系统调试. (4)5 总结. (7)6 源程序清单. (7)1 需求分析1 问题描述运动会分数统计参加运动会有n个学校,学校编号为1……n。

比赛分成m个男子项目,和w个女子项目。

项目编号为男子1〜m女子m+仁m+w不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名由使用者设定。

(m<=20,n<=20)2. 基本要求:1) 可以输入各个项目的前三名或前五名的成绩;2) 能统计各学校总分;3) 可以按学校编号、学校总分、男女团体总分排序输出;4) 可以按学校编号查询学校某个项目的情况;5) 可以按项目编号查询取得前三或前五名的学校。

3. 测试数据1) 首先进入成绩录入界面,先输入参赛学校数,再输入男子组数和女子组数;2) 然后进入总目录;3) 输入:1 输入成绩;4) 输入:2 统计各校总分;5) 输入:3 统计各校项目得分;6) 输入:4 按学校总分排序输出;7) 输入:5 按男团体总分排序输出;8) 输入:6 按女团体总分排序输出;9) 输入:7 按学校编号查询学校某个项目的成绩;10) 输入:8 按项目编号查询取得前三名或前五名的学校;11) 输入:0 退出;2系统总框图和功能模块说明2.1 系统总框图2.2 功能模块说明1) 输入:1输入成绩;............. ............... 输入某一项目的成绩2)输入: 2统计各校总分;......... •…统计各校所有项目总分之和3)输入:3 统计各校项目得分;••…•…输出各校各项目得分4)输入:4 按学校总分排序输出;………按照总分从大到小排序5)输入:5 按男团体总分排序输出;••…仅按照男子团体总分从大到小排序6) 输入:6按女团体总分排序输出;••…仅按照女子团体总分从大到小排序7) 输入:7按学校编号查询学校某个项目的成绩;•…输入学校编号及项目编号可查询该校的该项按项目编号查询取得前三名或前五名的学校按男团体总分排序输出1T按学校总分排序输出1F统计各校个项目得分统计各校分数输入成绩目成绩8) 输入:8按项目编号查询取得前三名或前五名的学校;•…输入项目编号可查询该项目获得名次的学校9) 输入:0退出;....... 退出系统3 系统设计3.1 主要结构体菜单号choo学校:num项目:ab男团、de女团、ke3.2 主要功能函数void exit0()void input()void each()void biaohao()void zongfen()void nanzong()void nvzong()void xuexiao()void xiangmu()void main()3.3关键函数的流程图void zongfen() void nanzon g() void nvzon g()4系统调试<1>开始界面,分别输入3、7、3.输入1后显示请场入反冃代尸:1请呻昭第一、第二 第三和名棍恢旅辅人菽牲半校仪帛1£^ol-rl F 9r分 牛 得岀'It K ±l s3i i少男女示几儿 屁;编void xuexiao() void xia ngmu()void main()-M 的五绩的f的近输入2后显示冃前 理』 分 - ■5出 F r rl千帛 rn .-一l:h 面问l Tn .--I:b 询闻,匸环卫蓉宜总E '.'-耳巧也 吗董爲需L J-■»出出蕃 常冃逼汙J7逞取 K H 1 m —r 「订 进宀—f-学总広需嚅 ZJTgoss奉黑 “一刖Irj rr r t-n -I A 丄 M上鸟卫,尸 -T%—■¥I-r I M .J .r■> ; ;T ■ 1三12345£7"9WM 学驾号:团严 顶或 廿 个二得巒#前 讦目“世电-■T 学取 茅曇只#1£ 、-比」r—I*"紅入甘学杲玄壬..n 出输入5后显示请选择*5 学校代号啰子团休总成绩1 : 52 :3 3: 2校学绩的 的古 俗出岀某前的岀总询 的^K K ^S'囹号号成各套团1S 入学男窓子 Iz z1S 34567B 9输入6后显示 ;青选择I 6 校学 绩的 f i n E 富学校的五1女子团体总成绩0 酉 1得岀岀某前 的出SSW分畠專学取 总询的香一 分总思号号成各套团团校目 入男学校代号 1 2 *123456789输入7后显示! 11顶目成绩为51分得出出某】 的出输 分^14*学取 总^^^-询分刍特畐号号 我各各吱団用瑁吕输入8后显示5总结本次课程设计检验了我的实践能力,感觉自己还有许多东西要学习,并不仅限于课本上的知识,实践才是真理,在学习中实践,实践中去学习。

数据结构 课程设计 运动会计分(C语言)

数据结构 课程设计 运动会计分(C语言)

1.问题描述纸质的运动会分数信息统计无法满足人们对信息处理的需求,包括信息查找,排名等各方面信息处理人工处理很慢,严重影响运动会进程,“运动会分数统计系统”是为了帮助人们更快更准确的处理信息。

2.需求分析(1)输入学校基本信息(2)输入项目基本信息(3)输入运动员比赛信息(4)统计运动员信息(5)对同一项目运动员排名(6)对各学校总分排名(7)按学校编号、学校总分、男女团体总分排序输出(8)可对某项目进行修改3.主界面设计为了实现运动会分数统计系统各功能的管理,设计一个含有多个菜单项的主控菜单子程序一链接系统的各项子功能,方便用户使用本系统。

主界面如下:4.存储结构设计本系统主要采用数组结构体类型来表示存储在“运动会分数统计系统”中的信息。

第一个结构体为学校信息包括学校名、学校编号、学校参加比赛运动员获奖积分男子总积分、女子总积分。

第二个结构体为项目属性项目编号、项目名第三个结构体为运动员信息运动员排名、运动员编号、运动员姓名、参加项目编号、积分、学校编号、学校名。

5.系统功能设计(1)输入残社学校数量、男子项目数、女子项目数(2)输入学校编号和学校名字(3)输入项目编号、项目名字(4)输入结束项目编号、选取项目获奖名次、输入获奖的运动员姓名所在学校运动员积分(5)按学校编号排序输出可以一次输出所有参赛学校信息(6)按学校总分排序输出可以按学校运动员总分排序输出(7)按学校男运动员总分排序输出(8)按学校女运动员总分排序输出(9)查询某个项目成绩可以通过项目编号查询运动员成绩(10)修改某项项目获奖名单可以对项目中的获奖运动员进行修改(11)显示运动会上统计的信息6.模块设计本模块包含两个模块 主程序模块和数据结构操作模块 主程序模块7.系统子程序功能设计(1)Ssum(school sa[],athlete sb[][M]) / /统计学校分数 (2)print(school c[],int i){//学校相关信息输出 (3)snorder(school c[]){//按学校编号排序 (4)saorder(school c[])//按学校总分排序 (5)sforder(school c[])//按学校女子总分排序 (6)smorder(school c[])//按学校男子总分排序(7)Snoquery(school sb[],athlete sa[][M])//按学校编码查询 (8)Pnorder(athlete d[][M])//按项目编号查询排名(9)udefine(athlete a[][M],school b[])//修改项目获奖运动员 (10) menu(school b[],athlete sa[][M])//菜单选项 (11)main(int argc, char* argv[])8.本系统10个子程序之间的主要调用关系图9.数据类型定义typedef struct {//运动员属性 int arank;//排名 int No; //编号char Name[20];//姓名int Pno; //参加项目编号数据结构操作模块Main()1103 47568921222int grade;//成绩int Sno; //学校编号char Sna[20];//学校名字}athlete;typedef struct{//学校属性int No; //学校编号char Name[20];//学校名字int Msum; //男运动员总分int Fsum; //女运动员总分int Fnum; //输出标记int Pnum; //项目种类}school;typedef struct{//项目属性int No; //项目编号char Name[20];//项目名}project;10.系统子函数部分详细设计void Ssum(school sa[],athlete sb[][M])//统计学校分数{int i,j,k;for(i=0;i<n;i++){sa[i].Fsum=0;sa[i].Msum=0;//初始化总分。

数据结构课程设计-运动会分数统计(C语言版)

数据结构课程设计-运动会分数统计(C语言版)

目录第一章绪论 (1)1.1 运动会分数统计系统的背景 (1)1.2 运动会分数统计系统的任务和目标 (1)第二章运动会分数统计系统的需求分析 (2)2.1 功能需求 (2)2.2 功能模块 (2)2.3 数据要求 (3)2.4 性能要求 (3)第三章系统开发工具及关键技术 (4)3.1 系统开发工具 (4)3.1.1 CodeBlocks (4)3.2 关键技术 (4)3.2.1 C语言 (4)3.2.2 数组 (4)3.2.3 链表 (4)第四章运动会分数统计系统的实现 (5)4.1 数据结构设计 (5)4.2 结构定义 (5)4.3 系统界面的实现 (6)4.3.1 主菜单窗口 (6)4.3.2 输入各个项目成绩并存储文件 (6)4.3.3 统计各学校总分 (8)4.3.4 按学校编号排序输出 (8)4.3.5 按学校总分排序输出 (8)4.3.6 按男团体总分排序输出 (9)4.3.7 按女团体总分排序输出 (9)4.3.8 按学校编号查询学校某个项目情况 (10)4.3.9 按项目编号查询取得名次的学校 (10)第五章结束语 (11)5.1 课程设计总结 (11)5.2 致谢 (11)参考文献 (12)附录 (13)第一章绪论1.1 运动会分数统计系统的背景在信息技术已经深入人类工作生活的今天,计算机软件得到了广泛的应用,越来越多的政府和企业将其业务纳入计算机软件系统。

随着社会进步,体育事业的发展,为了提高运动会成绩统计准确,减少设计者们的工作量,开发了本系统。

1.2 运动会分数统计系统的任务和目标任务:参加运动会有n个学校,学校编号为1……n。

比赛分成m个男子项目,和w个女子项目。

项目编号为男子1……m,女子m+1……m+w。

不同的项目取前前三名积分;前三名的积分分别为:5、3、2。

(m、w<=20,n<=10)。

目标:1.可以输入各个项目的前三名或前五名的成绩;2.能统计各学校总分;3.可以按学校编号、学校总分、男女团体总分排序输出;4.可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

c语言程序设计学生管理系统统计成绩部分

c语言程序设计学生管理系统统计成绩部分

学生管理系统是现代教育管理中不可或缺的一部分,而统计成绩的功能更是其核心之一。

在C语言程序设计中,学生管理系统的成绩统计部分是非常重要的,因为它涉及到对学生成绩数据的存储、处理和展示。

在本文中,我们将深入探讨C语言程序设计中学生管理系统统计成绩部分的实现原理和功能设计。

1. 数据存储和管理在C语言程序设计中,我们可以通过数组、结构体或指针来存储学生成绩数据。

以数组为例,我们可以定义一个二维数组来存储学生成绩:```cint scores[100][3];```其中,第一维表示学生的数量,第二维表示科目的数量。

这样我们就可以方便地存储每个学生的各科成绩,并且可以通过循环来进行数据的遍历和处理。

2. 成绩统计和计算在学生管理系统中,成绩统计和计算是至关重要的。

我们可以通过定义函数来实现成绩的统计和计算,比如计算平均分、最高分、最低分等。

以下是一个简单的成绩统计函数示例:```cfloat calculateAverage(int scores[], int n) {float sum = 0;for (int i = 0; i < n; i++) {sum += scores[i];}return sum / n;}```通过这样的函数,我们可以方便地计算出学生的平均成绩,并且可以在程序中多次调用以实现不同的统计功能。

3. 数据展示和输出在学生管理系统中,数据的展示和输出是非常重要的一环。

我们可以通过控制台输出或文件输出的方式来展示学生成绩,从而方便教师和学生对成绩进行查看和分析。

以下是一个简单的控制台输出函数示例:```cvoid displayScores(int scores[][3], int n) {for (int i = 0; i < n; i++) {printf("Student %d: ", i+1);for (int j = 0; j < 3; j++) {printf("%d ", scores[i][j]);}printf("\n");}}```通过这样的函数,我们可以将学生成绩在控制台上进行逐行展示,从而让教师和学生能够清晰地了解每个学生的成绩情况。

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

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语言运动会计分程序编写

任务:参加运动会有n个学校,学校编号为1……n。

比赛分成m个男子项目,和w个女子项目。

项目编号为男子1……m,女子m+1……m+w。

不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。

(m<=20,n<=20)功能要求:1).可以输入各个项目的前三名或前五名的成绩;2).能统计各学校总分,3).可以按学校编号、学校总分、男女团体总分排序输出;4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)输出形式:有中文提示,各学校分数为整形界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。

(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。

进行程序测试,以保证程序的稳定。

测试数据及测试结果请在上交的资料中写明;#include<stdio.h>#include<string>#include<iomanip>#include<fstream>using namespace std;int n,m,w;struct pro //表示项目的结构体{string name; //项目名称int snum[6]; //前5名学校的编号}p[21];struct school //表示学校的结构体{int num;string name; //学校名称int score; //学校总分int male; //男子总分int female; //女子总分}sch[21];int integral1[5]={7,5,3,2,1};//前五名得分int integral2[3]={5,3,2};//前三名得分void input(){int i,j,y,x;printf("输入学校数目:");y=0;scanf("%d",&n);if(n>=1&&n<=20)y=1;if(y)break;elseprintf("输入数据有误,请重新输入:");for(i=1;i<=n;i++){printf("输入第%d个学校的名称:",i);scanf("%s",&sch[i].name);sch[i].score=0;sch[i].female=0;sch[i].male=0;sch[i].num=i;}printf("输入男子项目数和女子项目数:");y=0;scanf("%d%d",&m,&w);if(m<=20&&m>=1&&w<=20&&w>=1)y=1;if(y)break;else printf("输入数据有误,请重新输入:");}for(i=1;i<=m+w;i++){printf("输入第%d个项目的名称:\n",i);scanf("%s",& p[i].name);printf("输入第%d个项目的前5名的学校编号:\n",i); for(j=1;j<=5;j++){y=0;while(1){scanf("%d",&x);if(x>=1&&x<=20)y=1;if(y)break;else printf("输入数据有误,请重新输入:");}p[i].snum[j]=x;sch[x].score+=integral[j-1];if(i<=m)sch[x].male+=integral[j-1];else sch[x].female+=integral[j-1];}}void print(int i){printf("%d%d%s%d%d%d%d%d%d",sch[i].num,setw(10),sch[i].name,setw(8),sch[i].score,setw( 9),sch[i].male,setw(10),sch[i].female);}void bianhao() //按编号排序{int i,j;school t;for(i=1;i<n;i++){for(j=i;j<=n;j++)if(sch[i].num>sch[j].num){t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n按编号排列:\n");printf("编号学校名称总分男子总分女子总分\n");for(i=1;i<=n;i++)print(i);}void zongfen() //按学校总分排序{int i,j;school t;for(i=1;i<n;i++){for(j=i;j<=n;j++)if(sch[i].score<sch[j].score){t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n按学校总分排列:\n");printf("编号学校名称总分男子总分女子总分\n");for(i=1;i<=n;i++)print(i);ofstream fout;fout.open("运动会分数统计.txt");fout<<"编号学校名称总分男子总分女子总分"<<endl;for(i=1;i<=n;i++){fout<<sch[i].num<<setw(13)<<sch[i].name<<setw(8)<<sch[i].score<<setw(9)<<sch[i].male<<setw(10)<<sch[i].female<<endl; }fout.close();void malezf() //按学校男总分排序{int i,j;school t;for(i=1;i<n;i++){for(j=i;j<=n;j++)if(sch[i].male<sch[j].male){t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n按学校男子总分排列:\n");printf("编号学校名称总分男子总分女子总分\n"); for(i=1;i<=n;i++)print(i);}void femalezf() //按学校女总分排序{int i,j;school t;for(i=1;i<n;i++){for(j=i;j<=n;j++)if(sch[i].female<sch[j].female){t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n按学校女子总分排列:\n");printf("编号学校名称总分男子总分女子总分\n"); for(i=1;i<=n;i++)print(i);printf("\n");}void cxsch() //查询学校信息{int i,y,s;printf("输入需要查询的学校编号:");y=0;while(1){scanf("%d",&s);if(s>=1&&s<=n)y=1;if(y)break;else printf("输入数据有误,请重新输入:");}printf("该学校相关信息:\n");printf("编号学校名称总分男子总分女子总分\n");for(i=1;i<=n;i++){if(sch[i].num==s){print(i);break;}}printf("\n");}void cxxm() //查询项目信息{int i,y,s;printf("输入需要查询的项目编号:");y=0;while(1){scanf("%d",&s);if(s>=1&&s<=n)y=1;if(y)break;else printf("输入数据有误,请重新输入:");}printf("%s前5名学校编号及名称为\n",p[s].name);printf("名次编号学校名称\n");for(i=1;i<=5;i++)printf(" %d %d%d%s\n",i,p[s].snum[i],setw(12),sch[ p[s].snum[i] ].name); printf("\n");}void solve() //菜单函数{int z;while(1){printf("\n选择您需要的操作(选择序号):\n");printf("1.按学校编号排序输出\n");printf("2.按学校总分排序输出\n");printf("3.按学校男总分排序输出\n");printf("4.按学校女总分排序输出\n");printf("5.查询某个学校成绩\n");printf("6.查询某个项目成绩\n");printf("7.结束\n\n");scanf("%d",&z);if(z==1)bianhao();if(z==2)zongfen();if(z==3)malezf();if(z==4)femalezf();if(z==5)cxsch();if(z==6)cxxm();if(z==7)break;}}int main() //主函数{input();solve();return 0;}#include<stdio.h>#include<string>#include<iomanip>#include<fstream>using namespace std;int n; //n个学校int m; //m个男子项目int w; //w个女子项目struct pro //表示项目的结构体{string name; //项目名称int snum[6]; //前5名学校的编号}p[21];struct school //表示学校的结构体{int num;string name; //学校名称int score; //学校总分int male; //男子总分int female; //女子总分}sch[21];int integral[5]={7,5,3,2,1};//前五名得分void input(){int i,j,y,x;printf("输入学校数目:");y=0;while(1){scanf("%d",&n);if(n>=1&&n<=20)y=1;if(y)break;else printf("输入数据有误,请重新输入:");}for(i=1;i<=n;i++){printf("输入第%d个学校的名称:",i);scanf("%s",&sch[i].name);sch[i].score=0;sch[i].female=0;sch[i].male=0;sch[i].num=i;}printf("输入男子项目数和女子项目数:");y=0;while(1){scanf("%d%d",&m,&w);if(m<=20&&m>=1&&w<=20&&w>=1)y=1;if(y)break;else printf("输入数据有误,请重新输入:");}for(i=1;i<=m+w;i++){printf("输入第%d个项目的名称:\n",i);scanf("%s",& p[i].name);printf("输入第%d个项目的前5名的学校编号:\n",i); for(j=1;j<=5;j++){y=0;while(1){scanf("%d",&x);if(x>=1&&x<=20)y=1;if(y)break;else printf("输入数据有误,请重新输入:");}p[i].snum[j]=x;sch[x].score+=integral[j-1];if(i<=m)sch[x].male+=integral[j-1];else sch[x].female+=integral[j-1];}}}void print(int i){printf("%d%d%s%d%d%d%d%d%d",sch[i].num,setw(10),sch[i].name,setw(8),sch[i].score,setw( 9),sch[i].male,setw(10),sch[i].female);}void bianhao() //按编号排序{int i,j;school t;for(i=1;i<n;i++){for(j=i;j<=n;j++)if(sch[i].num>sch[j].num){t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n按编号排列:\n");printf("编号学校名称总分男子总分女子总分\n");for(i=1;i<=n;i++)print(i);}void zongfen() //按学校总分排序{int i,j;school t;for(i=1;i<n;i++){for(j=i;j<=n;j++)if(sch[i].score<sch[j].score){t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n按学校总分排列:\n");printf("编号学校名称总分男子总分女子总分\n");for(i=1;i<=n;i++)print(i);ofstream fout;fout.open("运动会分数统计.txt");fout<<"编号学校名称总分男子总分女子总分"<<endl;for(i=1;i<=n;i++){fout<<sch[i].num<<setw(13)<<sch[i].name<<setw(8)<<sch[i].score<<setw(9) <<sch[i].male<<setw(10)<<sch[i].female<<endl; }fout.close();}void malezf() //按学校男总分排序{int i,j;school t;for(i=1;i<n;i++){for(j=i;j<=n;j++)if(sch[i].male<sch[j].male){t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n按学校男子总分排列:\n");printf("编号学校名称总分男子总分女子总分\n");for(i=1;i<=n;i++)print(i);}void femalezf() //按学校女总分排序{int i,j;school t;for(i=1;i<n;i++){for(j=i;j<=n;j++)if(sch[i].female<sch[j].female){t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n按学校女子总分排列:\n");printf("编号学校名称总分男子总分女子总分\n");for(i=1;i<=n;i++)print(i);printf("\n");}void cxsch() //查询学校信息{int i,y,s;printf("输入需要查询的学校编号:");y=0;while(1){scanf("%d",&s);if(s>=1&&s<=n)y=1;if(y)break;else printf("输入数据有误,请重新输入:");}printf("该学校相关信息:\n");printf("编号学校名称总分男子总分女子总分\n");for(i=1;i<=n;i++){if(sch[i].num==s){print(i);break;}}printf("\n");}void cxxm() //查询项目信息{int i,y,s;printf("输入需要查询的项目编号:");y=0;while(1){scanf("%d",&s);if(s>=1&&s<=n)y=1;if(y)break;else printf("输入数据有误,请重新输入:");}printf("%s前5名学校编号及名称为\n",p[s].name);printf("名次编号学校名称\n");for(i=1;i<=5;i++)printf(" %d %d%d%s\n",i,p[s].snum[i],setw(12),sch[ p[s].snum[i] ].name); printf("\n");}void solve() //菜单函数{int z;while(1){printf("\n选择您需要的操作(选择序号):\n"); printf("1.按学校编号排序输出\n");printf("2.按学校总分排序输出\n");printf("3.按学校男总分排序输出\n");printf("4.按学校女总分排序输出\n");printf("5.查询某个学校成绩\n");printf("6.查询某个项目成绩\n");printf("7.结束\n\n");scanf("%d",&z);if(z==1)bianhao();if(z==2)zongfen();if(z==3)malezf();if(z==4)femalezf();if(z==5)cxsch();if(z==6)cxxm();if(z==7)break;}}int main() //主函数{input();solve();return 0;}。

C语言课程设计----运动会分数统计系统源代码

C语言课程设计----运动会分数统计系统源代码

源代码:#include<stdio.h>#include<math.h>#include <conio.h>#include <process.h>#define n 2//学校数目#define m 1//男子项目数目#define w 1//女子项目数目#define null 0typedef struct{int itemnum; //项目编号int top; //取名次的数目int range[5]; //名次int mark[5]; //分数}itemnode; //定义项目结点的类型typedef struct{int schoolnum; //学校编号int score; //学校总分int mscore; //男团体总分int wscore; //女团体总分itemnode c[m+w]; //项目数组}headnode;//定义头结点类型headnode h[n];//定义一个头结点数组void inputinformation() //输入信息,建立系统{int i,j,k,s;for(i=0;i<n;i++){h[i].score=0;h[i].mscore=0;h[i].wscore=0;} //初始化头结点for(i=0;i<n;i++){printf("*****学校编号:");scanf("%d",&h[i].schoolnum); //输入头结点信息for(j=0;j<m+w;j++){printf("*****项目编号:");scanf("%d",&h[i].c[j].itemnum);printf("*****取前3名or前5名:");scanf("%d",&h[i].c[j].top);printf("*****获得几个名次:");scanf("%d",&k); //输入项目信息for(s=0;s<5;s++)h[i].c[j].range[s]=0, h[i].c[j].mark[s]=0; //初始化排名和分数for(s=0;s<k;s++){printf("*****名次:");scanf("%d",&h[i].c[j].range[s]); //输入所获名次信息if(h[i].c[j].top==3)switch(h[i].c[j].range[s]){case 0: h[i].c[j].mark[s]=0; break;case 1: h[i].c[j].mark[s]=5; break;case 2: h[i].c[j].mark[s]=3; break;case 3: h[i].c[j].mark[s]=2; break;}elseswitch(h[i].c[j].range[s]){case 0: h[i].c[j].mark[s]=0; break;case 1: h[i].c[j].mark[s]=7; break;case 2: h[i].c[j].mark[s]=5; break;case 3: h[i].c[j].mark[s]=3; break;case 4: h[i].c[j].mark[s]=2; break;case 5: h[i].c[j].mark[s]=1; break;}h[i].score=h[i].score+h[i].c[j].mark[s];//按取前三名还是取前五名分别记分if(j<=m-1)h[i].mscore=h[i].mscore+h[i].c[j].mark[s];//是男子项目则记到男子分数里面去elseh[i].wscore=h[i].wscore+h[i].c[j].mark[s];//是女子项目则记到女子项目里面去}printf("\n");}}}void output() //输出函数{int choice,i,j,k;int remember[n];int sign;do{printf("*******************1.按学校编号输出.*******************\n");printf("*******************2.按学校总分输出.*******************\n");printf("*******************3.按男团总分输出.*******************\n");printf("*******************4.按女团总分输出.*******************\n");printf("\n\n******************* 请选择编号*************************\n\n:");scanf("%d",&choice);switch(choice){case 1:for(i=0;i<n;i++){printf("\n\n*****学校编号:%d\n",h[i].schoolnum);printf("*****学校总分:%d\n" ,h[i].score);printf("*****男团总分:%d\n",h[i].mscore);printf("*****女团总分: %d\n\n\n",h[i].wscore);} //按编号顺序输出break;case 2:for(i=0;i<n;i++)remember[i]=i;for(i=0;i<n;i++){for(j=i+1;j<n;j++)if(h[remember[i]].score<h[j].score)k=remember[i];remember[i]=remember[j],remember[j]=k;} // 用冒泡排序方法,用辅助数组记住头结点下标for(i=0;i<n;i++){printf("\n\n*****学校编号:%d\n",h[remember[i]].schoolnum);printf("*****学校总分:%d\n" ,h[remember[i]].score);printf("*****男团总分:%d\n",h[remember[i]].mscore);printf("*****女团总分: %d\n\n\n",h[remember[i]].wscore);//按所记下标顺序输出} //按学校总分输出break;case 3:for(i=0;i<n;i++)remember[i]=i;for(i=0;i<n;i++){for(j=i+1;j<n;j++)if(h[remember[i]].mscore<h[j].mscore)k=remember[i];remember[i]=remember[j];remember[j]=k;}for(i=0;i<n;i++){printf("\n\n*****学校编号:%d\n",h[remember[i]].schoolnum);printf("*****学校总分:%d\n" ,h[remember[i]].score);printf("*****男团总分:%d\n",h[remember[i]].mscore);printf("*****女团总分: %d\n\n\n",h[remember[i]].wscore);} //按男团总分输出break;case 4:for(i=0;i<n;i++)remember[i]=i;for(i=0;i<n;i++){for(j=i+1;j<n;j++)if(h[remember[i]].wscore<h[j].wscore)k=remember[i];remember[i]=remember[j];remember[j]=k;}for(i=0;i<n;i++){printf("\n\n*****学校编号:%d\n",h[remember[i]].schoolnum);printf("*****学校总分:%d\n" ,h[remember[i]].score);printf("*****男团总分:%d\n",h[remember[i]].mscore);printf("*****女团总分: %d\n\n\n",h[remember[i]].wscore);}break; //按女团总分输出}printf("请选择 2 继续,0 跳出\n");scanf("%d",&sign);}while(sign==2); //循环执行输出语句}void inquiry() //查询函数{int choice;int i,j,k,s;printf("\n*****1:按学校编号查询\n");printf("\n*****2:按项目编号查询\n");printf("\n\n*****请选择查询方式:"); //提供两种查询方式scanf("%d",&choice);switch(choice){case 1:do{printf("要查询的学校编号:");scanf("%d",&i);if(i>n)printf("错误:这个学校没有参加此次运动会!\n\n\n");else{printf("要查询的项目编号:");scanf("%d",&j);if(j>m+w||j==0)printf("此次运动会没有这个项目\n\n\n");//学校编号超出范围,则输出警告else{printf("这个项目取前%d名,该学校的成绩如下:\n", h[0].c[j-1].top);for(k=0;k<5;k++)if(h[i-1].c[j-1].range[k]!=0)printf("名次:%d\n",h[i-1].c[j-1].range[k]);//输出要查询学校项目的成绩}}printf("请选择2 继续, 0 跳出\n");scanf("%d",&s);printf("\n\n\n");}while(s==2); //循环执行输出语句break;case 2:do{printf("要查询的项目编号:");scanf("%d",&s);if(s>m+w||s==0)printf("此次运动会不包括这个项目.\n\n\n");//项目编号超出范围则输出警告else{printf("该项目取前%d名,取得名次的学校\n",h[0].c[s-1].top);for(i=0; i<n;i++)for(j=0;j<5;j++)if(h[i].c[s-1].range[j]!=0)printf("学校编号:%d,名次:%d\n",h[i].schoolnum,h[i].c[s-1].range[j]);} //输出该项目取得名次学校的成绩printf("\n\n\n继续2,跳出0\n");scanf("%d",&i);printf("\n\n\n");}while(i==2);break;}}void writedata() //把数据存储在文件中{FILE *report;int i;if((report=fopen("sportsdata.txt","w"))==null){printf("不能打开文件\n");exit(1);}for(i=0;i<n;i++)fwrite(&h[i],sizeof(headnode),1,report);fclose(report);} //按头结点块写入void readdata() //读出文件中数据的函数{FILE *report;int i,j,k,s;if((report=fopen("sportsdata.txt","r"))==null){printf("file can not be opened\n");exit(1);}for(i=0;i<n;i++){printf("******学校编号:");fread(&k,sizeof(int),1,report);printf("%d\n",k);printf("******学校总分:");fread(&k,sizeof(int),1,report);printf("%d\n",k);printf("******男团总分:");fread(&k,sizeof(int),1,report);printf("%d\n",k);printf("******女团总分:");fread(&k,sizeof(int),1,report);printf("%d\n",k);printf("\n\n\n");getch();for(j=0;j<m+w;j++){printf("******项目编号:");fread(&k,sizeof(int),1,report);printf("%d\n",k);printf("******所取名次数量:");fread(&k,sizeof(int),1,report);printf("%d\n",k);for(s=0;s<5;s++){fread(&k,sizeof(int),1,report);if(k!=0)printf("******名次:"),printf("%d\n",k);}for(s=0;s<5;s++){fread(&k,sizeof(int),1,report);if(k!=0) printf("******分数:"),printf("%d\n",k);}}printf("\n\n\n");getch();}fclose(report); //关闭文件} //按照读一个数据就输出一个数据的方式显示数据内容void main(){int choice;printf("======================欢迎使用======================\n"); printf("\n\n*****************运动会分数统计系统********************\n");printf("\n\n********************1.输入信息*************************\n");printf("********************2.输出信息*************************\n");printf("********************3.查询信息*************************\n");printf("********************4.调用信息*************************\n");printf("********************5.退出系统*************************\n\n\n");printf("================================================\n\n");printf("********请选择要实现步骤的编号:\n\n");scanf("%d",&choice);switch(choice){case 1:inputinformation();writedata();readdata();main();case 2:output();main();case 3:inquiry();main();case 4:readdata();main();case 5:exit(0);default:exit(0);}}。

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

成绩管理系统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语言运动会成绩管理系统课程设计

课程设计运动会成绩管理系统课程设计名称:数据结构课程设计专业班级:学生姓名:学号:指导教师:课程设计时间:表格1计算机类专业课程设计任务书学生姓名专业班级学号题目运动会成绩管理系统课题性质工程设计课题来源D.自拟课题。

指导教师同组姓名主要内容一个运动会成绩管理系统是根据学校的实际运动会工作专门设计的一个管理信息系统。

该系统能够对项目、运动员、成绩进行有效管理。

对以上信息管理主要包括:登记各项比赛成绩、根据预赛成绩产生预(决)赛名单,同时能够进行适当的统计工作和结果输出,可以满足各个单位、个人成绩查询的需求。

任务要求1、撰写课程设计说明书。

其要求如下:(1)基本要求:①能反映完成了上述设计内容要求。

②要求撰写不少于5000个文字(20页)的文档。

③文档中至少要包括:数据流图、数据字典、E-R图、数据库表的详细说明、系统功能结构图、主要功能模块说明。

④课程设计说明书一律用碳素墨水书写,其中用户界面设计可以附界面的计算机截图或手工绘图。

(2)文档格式要求(遵循数据库原理及应用课程设计大纲上的要求)其中,正文部分:①分章、层次等,每一章从新一页开始。

②章节安排可如下安排.概述:包括项目背景、编写目的、软件定义、开发环境等内容。

.需求分析:问题陈述、需完成的功能。

以数据流图和数据字典表达。

.概念结构设计:将上述需求分析的成果抽象为ER模型图。

.逻辑结构设计:把ER模型图转换为关系表;描述每一个基本表关系。

并进行规范化;定义视图、定义索引、主关键字、定义权限。

.软件功能设计:画出系统功能结构图,描述每个功能所完成的任务。

.代码设计和界面设计:给出主要功能的代码并有适当的说明;界面设计要合理,给出主要界面。

2、一个可运行的运动会成绩管理系统原型。

参考文献[1]、张海潘。

软件工程导论。

北京:清华大学出版社,2003年[2]、王珊。

数据库系统概论。

北京:高等教育出版社,2006年[3]、赛奎春,白伟明,赵玉君等。

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

课程设计报告课程名称《C语言程序设计》课题名称运动员分数统计系统专业班级学号姓名指导教师王颖2015 年1月9日湖南工程学院课程设计任务书课程名称《C语言程序设计》课题运动员分数统计系统专业班级学生姓名学号指导老师王颖审批任务书下达日期 2015年 12月 29日任务完成日期2016年 1月 9日设计内容与设计要求1.课程设计目的:全面熟悉、掌握C语言基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为后继课程(数据结构、数据库和汇编语言等课程)的实验以及课程设计打下较扎实的基础。

2.课题题目⑴班级成绩管理系统⑵班级档案管理系统⑶飞机订票系统⑷猜数字游戏⑸电子英汉词典设计⑹心算抢答系统⑺运动会分数统计系统⑻小学生心算CAI系统3.设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。

具体要求如下:⑴设计课题题目:每位同学根据自己学号除以8所得的余数加一选择相应题号的课题。

换题者不记成绩。

⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求;输入输出的要求。

②完成系统概要设计:程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。

③完成系统详细设计:包括采用C语言定义相关的数据类型;写出各模块的类C码算法;画出函数的调用关系图。

④调试分析以及设计体会:测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。

⑤关键源程序(带注释)⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。

目录1 需求分析 (1)2 系统总框图和功能模块说明 (2)2.1 系统总框图 (2)2.2 功能模块说明 (2)3 系统设计 (3)3.1 主要结构体 (3)3.2主要功能函数 (3)3.3 关键函数的流程图 (4)4 系统调试 (4)5 总结 (7)6 源程序清单 (9)1 需求分析1问题描述运动会分数统计参加运动会有n个学校,学校编号为1……n。

比赛分成m个男子项目,和w个女子项目。

项目编号为男子1~m,女子m+1~m+w。

不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名由使用者设定。

(m<=20,n<=20)2. 基本要求1) 可以输入各个项目的前三名或前五名的成绩;2) 能统计各学校总分;3) 可以按学校编号、学校总分、男女团体总分排序输出;4) 可以按学校编号查询学校某个项目的情况;5) 可以按项目编号查询取得前三或前五名的学校。

3.测试数据1)首先进入成绩录入界面,先输入参赛学校数,再输入男子组数和女子组数;2)然后进入总目录;3)输入:1 输入成绩;4)输入:2 统计各校总分;5)输入:3 统计各校项目得分;6)输入:4 按学校总分排序输出;7)输入:5 按男团体总分排序输出;8)输入:6 按女团体总分排序输出;9)输入:7 按学校编号查询学校某个项目的成绩;10)输入:8 按项目编号查询取得前三名或前五名的学校;11)输入:0 退出;2 系统总框图和功能模块说明2.1 系统总框图2.2 功能模块说明1)输入:1 输入成绩;···························输入某一项目的成绩2)输入:2 统计各校总分;···········统计各校所有项目总分之和3)输入:3 统计各校项目得分;·······输出各校各项目得分4)输入:4 按学校总分排序输出;·······按照总分从大到小排序5)输入:5 按男团体总分排序输出;····仅按照男子团体总分从大到小排序6)输入:6 按女团体总分排序输出;····仅按照女子团体总分从大到小排序7)输入:7 按学校编号查询学校某个项目的成绩;···输入学校编号及项目编号可查询该校的该项目成绩8)输入:8 按项目编号查询取得前三名或前五名的学校;···输入项目编号可查询该项目获得名次的学校9)输入:0 退出;······退出系统3 系统设计3.1 主要结构体菜单号choo学校:num项目:ab男团、de女团、ke3.2主要功能函数void exit0()void input()void each()void biaohao()void zongfen()void nanzong()void nvzong()void xuexiao()void xiangmu()void main()3.3 关键函数的流程图4 系统调试<1>开始界面,分别输入3、7、3.输入1后显示void exit0()void input() void each() void biaohao()void zongfen() void nanzong() void nvzong()void xuexiao() void xiangmu()void main()输入2后显示输入3后显示输入4后显示输入5后显示输入6后显示输入7后显示输入8后显示输入9》》》》退出5 总结课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

随着科学技术发展的日新月异,计算机编程已经成为当今计算机应用中空前活跃的领域,在生活着可以说是无处不在。

课程设计马上接近尾声,一周的C语言程序设计让我感触颇深,词不能达意。

毕竟学了一学期的C语言,不管怎么样,还是要面对课程设计。

一开始听到要做课程设计,其实我的内心是抵触的,因为,根本没有想到自己专业的基本课程会涉及到C语言的课程设计,但是上课听老师生动的讲课,又唤起了我阴郁的心情,我们的C语言老师讲课生动有趣,给我感觉是个很负责人的老师,我们班三个女生都在是老师特别负责,很喜欢这个老师,这让我对大学老师的看法改观。

回顾起此次C语言课程设计,至今我仍然感慨颇多。

比如说:有时遇到一个错误怎么找也找不到原因所在,找了老半天却是程序位置都搞不清,有时一个功能不知道怎么实现,照这个,找那个。

花了六个小时编的程序,到头来却很多错误,无法运行,而且不知道怎么改。

再说上机,这一周是我过的最充实的一周,虽然刚刚开始有一点紧张,不知所措,但是通过同学和朋友的鼓励,我慢慢的把自己的态度放端正了。

有一个朋友和我说过,干不好一件你认为困难的事情,那么简单的事情你也干不好,因为,从头到尾,你的态度就没有摆正。

所以,我决定,要想过完这一次课程设计,就必须要端正态度。

于是,我上机的时候就尽量控制自己不玩手机,不神游,不和别人讲笑话。

几天下来,我觉得自己对C语言的了解有了一定的提升。

课设中遇到的开始动手操作,原来编程很有意思,有时遇到了一个错误怎么找也找不到原因所在,找了老半天结果却是一个函数放错了地方所致,有时一个功能不知道怎么实现找这个、找那个。

有所编到最后一运行却告诉我错误,那真的很让人恼火。

以前上课都是学一些最基本的东西,觉得很枯燥,而现在却可以将以前学的东西编出有实际价值的东西,这样自己非常的投入,其实什么事情只要自己用心了,就会有所感触,有所收获。

真的觉得有味道,生活都变充实了。

C语言又是一种系统开发语言。

这一个学期对C语言的接触让我明白了自己的不足之处,对书上内容的理解不够透彻。

这一周的课程设计让我们有机会上机调试,我才发现我们的程序存在这么多的漏洞和错误,我一次一次的更改着自己的程序错误,每次改对了一个错误就特别开心,那时候我才发现原来自己解决一件事情,会得到这么多的自豪感。

通过这次的课程设计,我受益匪浅。

它让我了解了细心的重要性,程序中若有一丝一点的错误就会影响整个程序,而使其不能运行。

当我第一次拿到课程设计的任务书的时候,我都非常的兴奋,因为这是我们一次很好的锻炼机会。

我经过一周的C语言课程设计,我不但实践了课本的所学的知识,还亲自制作了自己的小程序,感觉自己对C语言有了更深入的了解。

在调试过程中,特别让我印象深刻的是自己开始在程序调试的时候,开始并没有并没有看到预期的结果,最后我仔细检查了源程序代码,发现自己在申明函数的时候,出现了一个严重的语法问题,导致我整个程序都不能运行。

当时自己的心里特别挫败,为什么别人都能做好,自己就是做不好呢,我不比别人差啊,心里没来由的感觉特别失败,我开始放弃自己的先前做的工作,觉得自己是第一次做设计,第一次看到这么长的程序代码,有理由放弃。

想着自己很辛苦的写了这么久,还是不想放弃,我开始慢慢去找我出的问题,我从头到尾检查了一面,终于发现了问题之所在,我的心情顿时高兴起来,终于看到了希望!我小心翼翼的把程序编译,调试,出来的结果就是我心里面所想的那样子,我开心极了,那个时候我才知道,什么叫做皇天不负苦心人。

成功往往是留给有准备的人,上帝不会亏待任何人,也不会厚此薄彼,只要肯努力,那么大学也可以是个提升自己的天堂,与善人为伍,如入芝兰之室,久而不闻其香。

不光身边的人重要,环境也重要,在自己喜欢的地方学习知识也是一种别样的享受。

这次C语言的课程设计让我懂得了很多,大学其实根本不想我想象的那样子,浑浑噩噩的过日子是没有什么意义的,大学的学分考试也不是那么容易就拿到就过的,C语言程序设计不仅仅教会了我们知识,还让我懂得了学术的严谨性,严苛性,就拿我们C语言来说,容不得一点点差错,哪怕是一个逗号,一个空格,都会导致你的程序无法运行或者完全崩溃。

相关文档
最新文档