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

上传人:laozhun 文档编号:2384770 上传时间:2023-02-17 格式:DOC 页数:22 大小:152KB
返回 下载 相关 举报
C语言课程程序设计——校际运动会管理系统.doc_第1页
第1页 / 共22页
C语言课程程序设计——校际运动会管理系统.doc_第2页
第2页 / 共22页
C语言课程程序设计——校际运动会管理系统.doc_第3页
第3页 / 共22页
C语言课程程序设计——校际运动会管理系统.doc_第4页
第4页 / 共22页
C语言课程程序设计——校际运动会管理系统.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《C语言课程程序设计——校际运动会管理系统.doc》由会员分享,可在线阅读,更多相关《C语言课程程序设计——校际运动会管理系统.doc(22页珍藏版)》请在三一办公上搜索。

1、课程设计报告课程设计报告题目:校际运动会管理系统 姓 名:xx学 号:XXXXX专 业:XXXXX班 级:XXXXX 指导教师:XXXXX职 称:XXXXX 2012年 06 月 20 日目 录摘 要2第1章 需求分析2第2章 概要设计22.1系统总体设计框架22.2系统功能模块图3第3章 详细设计6第4章 主要源程序代码7第5章 调试分析过程描述17第6章 总结19参考文献19学生课程设计报告评分表20校际运动会管理系统摘 要本文介绍了利用C语言对校际运动会管理系统进行设计的过程,从系统总体框架,功能分析,模块设计与分析,类的设计与分析,功能测试等环节通过Microsoft Visual C

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

3、结果,输入各项目获奖运动员信息。(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,察看参赛学校信息和比赛项目信息等。二、概要设计分析整个系统,根据以上的需求分析及设计要求,可将整个系统的设计分为以下五个模块:信息输入、录入比赛结果、查询信息、退出.Saveathele ()保存运动员信息1. 系统总体设计框架 Saveschool ()保存学校信息InformationSaveprogram ()保存项目信息Savescore() 比赛结果录入Main Ttzf () 查询团体总分Csxx ()查询参赛学校信息Search ( )Bsxm ()查询团体总分Exi t(

4、0)图1 系统总体设计框架 2. 系统功能模块图各功能模块设计模块(1) 信息输入模块一是参赛学校信息,二是参赛运动员信息,三是比赛项目信息,分别输入并保存信息输入读入、显示参赛学校读入、显示运动员读入比赛项目图2信息输入模块流程图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()

5、 *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 : saveschool(); break;/保存学校信息子函数 case 3 : saveprogram();break;/保存项目比赛信息子函数 case 4 : exit(0); (2) 结果录入模块录入

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

7、模块函数图6主函数流程图 Y程序void main()menu(); void menu()int n,w1;do 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(1-4): bb); scanf(%d,&n); if (

8、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); 四、主要源程序代码:/ 杨雪.cpp : Defines the entry point for the console application./#include#include#include#include#define SIZE 9#define N 3 #

9、define WM 3void bsxm();void csxx();void Information();void main();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/定义运动员信息char univ5;char name8;char prog15; char mingci5;int

10、 score;atSIZE;struct xuexiao/定义学校信息char univ5;char prog15;int 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;vo

11、id 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); if (n4) w=1;getchar(); else w

12、=0; while (w=1); switch(n) case 1 : saveathlete(); break;/ 保存运动员信息子函数 case 2 : saveschool(); 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.na

13、me); printf(学校:); scanf(%s,ati.univ); printf(参赛项目:); scanf(%s,ati.prog);printf(名次:);scanf(%s,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现在各运动员的信息如下:n

14、n); printf(姓名 学校 项目 名次 得分n);for(i=0;iSIZE;i+)fread(&ati,sizeof(struct athlete),1,fp1); printf(%-10s%-10s%-18s%-10s%dn,ati.name,ati.univ,ati.prog,ati.mingci,ati.score);fclose(fp1);printf_back();void saveschool()/保存学校信息子函数printf(n请输入各参赛学校的信息:);for(i=0;iN;i+)printf(n请输入第%d个学校的信息:n,i+1);printf(学校:);scan

15、f(%s,xxi.univ);printf(参赛的项目:);scanf(%s,xxi.prog);printf(参赛者数:);scanf(%d,&xxi.num_athlete);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(

16、n请输入第%d项比赛的信息:n,i+1);printf(项目:);scanf(%s,proi.prog);printf(取分情况:);scanf(%d,&proi.quming);printf(参赛者1:);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,

17、fp4)!=1)printf(File write error!n);fclose(fp4); printf_back();void savescore()/保存学校得分情况子函数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);pr

18、intf(学校:);scanf(%s,zfi.univ); printf(参赛项目1:);scanf(%s,zfi.prog1);printf(得分:);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(zfe

19、n,w);for(i=0;iN;i+)if(fwrite(&zfi,sizeof(struct zongfen),1,fp2)!=1)printf(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

20、 bsxm *n);/查看比赛项目信息! puts(tt* 4.Exit *n);/退出 puts(tt*n); printf(Choice your number(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()/查看学校团体

21、总分子函数fp2=fopen(zfen,r); printf(n各学校的团体总分情况如下:nn); printf(学校 参赛项目 总分n);for(i=0;iN;i+)fread(&zfi,sizeof(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()/查看参赛学校信息子函数 fp3=fopen(xxiao,r); printf(n各参赛学校的情况如下:

22、nn); printf(学校 参赛项目 参赛者数n);for(i=0;iN;i+)fread(&xxi,sizeof(struct xuexiao),1,fp3); printf(%-8s%-20s%-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

23、(struct program),1,fp4); printf(%-12s%-10d%-10s%-12s%-10s%-12sn,proi.prog,proi.quming,proi.ath1,proi.univ1,proi.ath2,proi.univ2);fclose(fp4);printf_back();void main()menu(); void menu()int n,w1;do puts(tt*_ Welcome to load sports system! _*n); puts(tt*MENU*n); puts(tt* 1.Enter the information *n); p

24、uts(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; while (w1=1); switch(n) case 1:Information();break; /输入信息 case 2:savescore();break;/比赛结果录入 case 3:Search();break;/查询模块 case 4:exi

25、t(0); /公共函数void printf_back() int w; printf(nntSUCCESSFUL!nn); printf(What do you want to do next?nnt1).exit t2).menu: bb); scanf(%d,&w); if(w=1) exit(0); else menu(); 结果各模块界面图如图:五、调试分析过程描述() 主菜单函数() 信息录入模块() 查询子菜单() 按学校名字查询信息(5) 按项目查询项目信息() 查询团体总分六、总结C语言课程设计在基本知识上由老师引导,自己很多都靠自学,不明白的问老师,但由此自学能力得到了很大

26、的培养。在设计过程中,我感觉到一点,程序是不能一气呵成的,至少一气呵成的程序不会尽善尽美:程序编写要一步一步的完成。首先,对于要编的程序要有一个总体思路,要明确想要什么,只要把思路理清楚了,程序就好编写了,把程序分割成几个块,即多个函数,一块一块的编写;然后将分散的函数用另外的函数连接起来或者用main函数连接,到这一步,程序也就初步编成了,之后便是调试,检查错误;最后我觉得还可以对于已经编写好的程序进行一些修改添加,使它更加人性化。优化程序的阶段是很重要的。参考文献1 谭浩强著,C语言程序设计(第四版),清华大学出版社, 2010年6月2 苏小红等,C语言大学实用教程学习指导,电子工业出版社

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号