C语言课程程序设计——校际运动会管理系统.pdf

上传人:w**** 文档编号:80826254 上传时间:2023-03-23 格式:PDF 页数:20 大小:562.38KB
返回 下载 相关 举报
C语言课程程序设计——校际运动会管理系统.pdf_第1页
第1页 / 共20页
C语言课程程序设计——校际运动会管理系统.pdf_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《C语言课程程序设计——校际运动会管理系统.pdf》由会员分享,可在线阅读,更多相关《C语言课程程序设计——校际运动会管理系统.pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 目 录 摘 要.2 第 1 章 需求分析.2 第 2 章 概要设计.2 2.1 系统总体设计框架.2 2.2 系统功能模块图.3 第 3 章 详细设计.6 第 4 章 主要源程序代码.7 第 5 章 调试分析过程描述.17 第 6 章 总结.19 参考文献.19 学生课程设计报告评分表.20 校际运动会管理系统 摘 要 本文介绍了利用C 语言对校际运动会管理系统进行设计的过程,从系统总体框架,功能分析,模块设计与分析,类的设计与分析,功能测试等环节通过Microsoft Visual C+6.0 对校际运动会管理系统进行详细的设计,并介绍了校际运动会管理系统如何运用,本次设计是基于C 语言的

2、程序设计,利用了 C 语言的强大功能,设计出的程序运行良好,可以在校际运动会管理系统等方面进行良好的运用。关键词:C 语言,班级档案管理系统,Microsoft Visual C+6.0 1 一、需求分析(1)信息初始化 输入:N参赛学校总数,M男子竞赛项目数,W女子竞赛项目数;各项目名次取法有以下几种:取前 5 名:第一名得分 7,第二名得分 5,第三名得分 3,第四名得分 2,第五名得分 1;取前 3 名:第一名得分 5,第二名得分 3,第三名得分 2;用户自定义:各名次权值由用户指定。(2)提醒用户填写比赛结果,输入各项目获奖运动员信息。(3)所有信息记录完毕后,用户可以查询各个学校的比

3、赛成绩,生成团体总分报表,察看参赛学校信息和比赛项目信息等。二、概要设计 分析整个系统,根据以上的需求分析及设计要求,可将整个系统的设计分为以下五个模块:信息输入、录入比赛结果、查询信息、退出.1.系统总体设计框架 Main Information Savescore()比赛结果录入 Search()Saveschool()保存学校信息 Saveprogram()保存项目信息 Ttzf()查询团体总分 Csxx()查询参赛学校信息 Bsxm()查询团体总分 Saveathele()保存运动员信 2 2.系统功能模块图 各功能模块设计模块 (1)信息输入模块 一是参赛学校信息,二是参赛运动员信息

4、,三是比赛项目信息,分别输入并保存 void Information()int n,w;do puts(nnn);puts(tt*_ Welcome to load 信息录入 system!_*n);puts(tt*MENU*n);puts(tt*1.saveathlete *n);puts(tt*2.saveschool *n);puts(tt*3.saveprogram()*n);puts(tt*4.back *n);puts(tt*n);printf(Choic your number(1-4):bb);scanf(%d,&n);信息输入 读入、显示参赛学读入、显示运动员 读入比赛项目

5、图 2 信息输入模块流程图 Exi t(0)图 1 系统总体设计框架 3 if(n4)w=1;getchar();else w=0;while(w=1);switch(n)case 1:saveathlete();break;/保存运动员信息子函数 case 2:saveschool();break;/保存学校信息子函数 case 3:saveprogram();break;/保存项目比赛信息子函数 case 4:exit(0);(2)结果录入模块 (3)查询信息模块 分析 查询信息模块提供按不同方式查询各种信息机返回功能,其中各功能模块用菜单方式选择。菜单部分也可写成函数。录入运动员比赛得分

6、 图 3 比赛结果录入模块流程图 分析计算各学校总分 4 三、详细设计 1.主函数 主函数一般设计的较为简洁,只提供输入、功能处理和输出部分的函数调用。其中各功能模块用菜单方式选择。另外菜单部分也可以写成函数。定义结构体指针UNI*next 输入学校名字 判断输入名字与结构体中学校名是否相同 指针变量值向下一组数据 调用输出函数 图 5 查询学校名流程图 查询信息模块 查询学校 查询运动员 查询项目 返回主菜单 图 4 查询信息模块流程图 5 2.流程图 程序 void main()menu();void menu()int n,w1;do puts(tt*_ Welcome to load

7、sports system!_*n);puts(tt*MENU*n);puts(tt*1.Enter the information *n);puts(tt*2.Score 比赛结果录入 *n);puts(tt*3.Search *n);puts(tt*4.Exit *n);puts(tt*n);printf(Choice your number(1-4):bb);scanf(%d,&n);if(n4)w1=1;getchar();else w1=0;显示一系列功能选项 输入,判断是否是4 根据的值调用各功能模块函数 图 6 主函数流程图 Y 6 while(w1=1);switch(n)ca

8、se 1:Information();break;/输入信息 case 2:savescore();break;/比赛结果录入 case 3:Search();break;/查询模块 case 4:exit(0);四、主要源程序代码:/杨雪.cpp:Defines the entry point for the console application./#include#include#include#include#define SIZE 9#define N 3#define WM 3 void bsxm();void csxx();void Information();void main

9、();void menu();void printf_back();void saveathlete();void saveprogram();void saveschool();void savescore();void Search();void ttzf();int i;FILE*fp1,*fp2,*fp3,*fp4;struct athlete /定义运动员信息 7 char univ5;char name8;char prog15;char mingci5;int score;atSIZE;struct xuexiao /定义学校信息 char univ5;char prog15;i

10、nt num_athlete;xxN;struct program /定义项目信息 char prog5;int quming;char ath15;char ath25;char univ15;char univ25;proWM;struct zongfen /定义学校得分信息 char univ5;char prog15;char prog25;char prog35;int score1;int score2;int score3;int total_score;zfN;void Information()int n,w;do 8 puts(nnn);puts(tt*_ Welcome

11、to load 信 息 录 入 system!_*n);puts(tt*MENU*n);puts(tt*1.saveathlete *n);puts(tt*2.saveschool *n);puts(tt*3.saveprogram()*n);puts(tt*4.back *n);puts(tt*n);printf(Choic your number(1-4):bb);scanf(%d,&n);if(n4)w=1;getchar();else w=0;while(w=1);switch(n)case 1:saveathlete();break;/保存运动员信息子函数 case 2:savesc

12、hool();break;/保存学校信息子函数 case 3:saveprogram();break;/保存项目比赛信息子函数 case 4:exit(0);void saveathlete()/保存运动员信息子函数 printf(n 请输入各项目获奖运动员的信息:);for(i=0;iSIZE;i+)printf(n 请输入第%d 个运动员的信息:n,i+1);printf(姓名:);scanf(%s,ati.name);printf(学校:);scanf(%s,ati.univ);9 printf(参赛项目:);scanf(%s,ati.prog);printf(名次:);scanf(%s

13、,ati.mingci);printf(得分:);scanf(%d,&ati.score);fp1=fopen(ath,w);for(i=0;iSIZE;i+)if(fwrite(&ati,sizeof(struct athlete),1,fp1)!=1)printf(File write error!n);fclose(fp1);fp1=fopen(ath,r);printf(n 现在各运动员的信息如下:nn);printf(姓名 学校 项目 名次 得分n);for(i=0;iSIZE;i+)fread(&ati,sizeof(struct athlete),1,fp1);printf(%-

14、10s%-10s%-18s%-10s%dn,ati.name,ati.univ,ati.prog,ati.mingci,ati.score);fclose(fp1);printf_back();void saveschool()/保存学校信息子函数 printf(n 请输入各参赛学校的信息:);10 for(i=0;iN;i+)printf(n 请输入第%d 个学校的信息:n,i+1);printf(学校:);scanf(%s,xxi.univ);printf(参赛的项目:);scanf(%s,xxi.prog);printf(参赛者数:);scanf(%d,&xxi.num_athlete)

15、;fp3=fopen(xxiao,w);for(i=0;iN;i+)if(fwrite(&xxi,sizeof(struct xuexiao),1,fp3)!=1)printf(File write error!n);fclose(fp3);printf_back();void saveprogram()/保存项目比赛信息子函数 printf(n 请输入关于比赛项目的信息:);for(i=0;iWM;i+)printf(n 请输入第%d 项比赛的信息:n,i+1);printf(项目:);scanf(%s,proi.prog);printf(取分情况:);scanf(%d,&proi.qumi

16、ng);printf(参赛者 1:);11 scanf(%s,proi.ath1);printf(所属学校:);scanf(%s,proi.univ1);printf(参赛者 2:);scanf(%s,proi.ath2);printf(所属学校:);scanf(%s,proi.univ2);fp4=fopen(pr,w);for(i=0;iN;i+)if(fwrite(&proi,sizeof(struct program),1,fp4)!=1)printf(File write error!n);fclose(fp4);printf_back();void savescore()/保存学校

17、得分情况子函数 printf(N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数。n);printf(W.100-女子一百米比赛,M.100-男子一百米,M.200-男子两百米。n);printf(n 各项名次得分权值如下:n);printf(取前三名:第一名 5 分 第二名 3 分 第三名 2 分n);printf(n 请输入各学校的得分情况:);for(i=0;iN;i+)printf(n 请输入第%d 个学校的得分情况:n,i+1);printf(学校:);scanf(%s,zfi.univ);printf(参赛项目 1:);scanf(%s,zfi.prog1);12 print

18、f(得分:);scanf(%d,&zfi.score1);printf(参赛项目 2:);scanf(%s,zfi.prog2);printf(得分:);scanf(%d,&zfi.score2);printf(参赛项目 3:);scanf(%s,zfi.prog3);printf(得分:);scanf(%d,&zfi.score3);zfi.total_score=zfi.score1+zfi.score2+zfi.score3;fp2=fopen(zfen,w);for(i=0;iN;i+)if(fwrite(&zfi,sizeof(struct zongfen),1,fp2)!=1)pr

19、intf(File write error!n);fclose(fp2);printf_back();void Search()int n,w2;do puts(tt*_ Welcome to load search system!_*n);puts(tt*MENU*n);puts(tt*1.search ttzf*n);/查看团体总分 puts(tt*2.search csxx *n);/查看参赛学校信息!puts(tt*3.search bsxm*n);/查看比赛项目信息!puts(tt*4.Exit *n);/退出 puts(tt*n);13 printf(Choice your num

20、ber(1-4):bb);scanf(%d,&n);if(n4)w2=1;getchar();else w2=0;while(w2=1);switch(n)case 1:ttzf();break;case 2:csxx();break;case 3:bsxm();break;case 4:exit(0);break;default:printf(未进行任何操作!);void ttzf()/查看学校团体总分子函数 fp2=fopen(zfen,r);printf(n 各学校的团体总分情况如下:nn);printf(学校 参赛项目 总分n);for(i=0;iN;i+)fread(&zfi,siz

21、eof(struct zongfen),1,fp2);printf(%-8s%s,%s,%-12s%-12dn,zfi.univ,zfi.prog1,zfi.prog2,zfi.prog3,zfi.total_score);fclose(fp2);printf_back();void csxx()/查看参赛学校信息子函数 14 fp3=fopen(xxiao,r);printf(n 各参赛学校的情况如下:nn);printf(学校 参赛项目 参赛者数n);for(i=0;iN;i+)fread(&xxi,sizeof(struct xuexiao),1,fp3);printf(%-8s%-20

22、s%-12dn,xxi.univ,xxi.prog,xxi.num_athlete);fclose(fp3);printf_back();void bsxm()/查看比赛项目子函数 fp4=fopen(pr,r);printf(n 各比赛项目的信息如下:nn);printf(项目 取分情况 参赛者 1 所属学校 参赛者 2 所属学校n);for(i=0;iN;i+)fread(&proi,sizeof(struct program),1,fp4);printf(%-12s%-10d%-10s%-12s%-10s%-12sn,proi.prog,proi.quming,proi.ath1,pro

23、i.univ1,proi.ath2,proi.univ2);fclose(fp4);printf_back();void main()menu();void menu()int n,w1;do 15 puts(tt*_ Welcome to load sports system!_*n);puts(tt*MENU*n);puts(tt*1.Enter the information *n);puts(tt*2.Score 比赛结果录入 *n);puts(tt*3.Search *n);puts(tt*4.Exit *n);puts(tt*n);printf(Choice your number

24、(1-4):bb);scanf(%d,&n);if(n4)w1=1;getchar();else w1=0;while(w1=1);switch(n)case 1:Information();break;/输入信息 case 2:savescore();break;/比赛结果录入 case 3:Search();break;/查询模块 case 4:exit(0);/公共函数 void printf_back()int w;printf(nntSUCCESSFUL!nn);printf(What do you want to do next?nnt1).exit t2).menu:bb);sc

25、anf(%d,&w);if(w=1)exit(0);else menu();结果 各模块界面图如图:16 五、调试分析过程描述 ()主菜单函数 ()信息录入模块 17()查询子菜单 ()按学校名字查询信息 (5)按项目查询项目信息 ()查询团体总分 18 六、总结 C 语言课程设计在基本知识上由老师引导,自己很多都靠自学,不明白的问老师,但由此自学能力得到了很大的培养。在设计过程中,我感觉到一点,程序是不能一气呵成的,至少一气呵成的程序不会尽善尽美:程序编写要一步一步的完成。首先,对于要编的程序要有一个总体思路,要明确想要什么,只要把思路理清楚了,程序就好编写了,把程序分割成几个块,即多个函数

26、,一块一块的编写;然后将分散的函数用另外的函数连接起来或者用 main 函数连接,到这一步,程序也就初步编成了,之后便是调试,检查错误;最后我觉得还可以对于已经编写好的程序进行一些修改添加,使它更加人性化。优化程序的阶段是很重要的。参考文献 1 谭浩强著,C 语言程序设计(第四版),清华大学出版社,2010 年 6 月 2 苏小红等,C 语言大学实用教程学习指导,电子工业出版社,2007 年 4 月 东华理工大学 学年课程设计报告评分表 学生姓名:XXX 学号:XXX 班级:XXX 课程设计题目:校际运动会管理系统 项目内容 满分 实 19 评 选 题 能结合所学课程知识、有一定的能力训练。符

27、合选题要求(3 人一题)5 工作量适中,难易度合理 10 能 力 水 平 能熟练应用所学知识,有一定查阅文献及运用文献资料能力 10 理论依据充分,数据准确,公式推导正确 10 能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等 10 能体现创造性思维,或有独特见解 15 成 果 质 量 模型正确、合理,各项技术指标符合要求。15 摘要叙述简练完整,假设合理、问题分析正确、数学用语准确、结论严谨合理;问题处理科学、条理分明、语言流畅、结构严谨、版面清晰 15 课程设计报告主要部分齐全、合理,符号统一、编号齐全。格式、绘图、表格、插图等规范准确,符合课程设计报告要求 10 正文字数不少于 2000 字,不超过 15000 字 5 总 分 100 指导教师评语:指导教师签名:年 月 日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁