C语言运动会成绩管理系统课程设计.docx
- 文档编号:1028985
- 上传时间:2022-10-15
- 格式:DOCX
- 页数:14
- 大小:151.52KB
C语言运动会成绩管理系统课程设计.docx
《C语言运动会成绩管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《C语言运动会成绩管理系统课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
C语言运动会成绩管理系统课程设计
课程设计
运动会成绩管理系统
课程设计名称:
数据结构课程设计
专业班级:
学生姓名:
学号:
指导教师:
课程设计时间:
表格1
计算机类专业课程设计任务书
学生姓名
专业班级
学号
题目
运动会成绩管理系统
课题性质
工程设计
课题来源
D.自拟课题。
指导教师
同组姓名
主要内容
一个运动会成绩管理系统是根据学校的实际运动会工作专门设计的一个管理信息系统。
该系统能够对项目、运动员、成绩进行有效管理。
对以上信息管理
主要包括:
登记各项比赛成绩、根据预赛成绩产生预(决)赛名单,同时能够进行适当的统计工作和结果输出,可以满足各个单位、个人成绩查询的需求。
任务要求
1、撰写课程设计说明书。
其要求如下:
(1)基本要求:
①能反映完成了上述设计内容要求。
②要求撰写不少于5000个文字(20页)的文档。
③文档中至少要包括:
数据流图、数据字典、E-R图、数据库表的详细说明、系统功能结构图、主要功能模块说明。
④课程设计说明书一律用碳素墨水书写,其中用户界面设计可以附界面的计算机截图或手工绘图。
(2)文档格式要求(遵循数据库原理及应用课程设计大纲上的要求)
其中,正文部分:
①分章、层次等,每一章从新一页开始。
②章节安排可如下安排
.概述:
包括项目背景、编写目的、软件定义、开发环境等内容。
.需求分析:
问题陈述、需完成的功能。
以数据流图和数据字典表达。
.概念结构设计:
将上述需求分析的成果抽象为ER模型图。
.逻辑结构设计:
把ER模型图转换为关系表;描述每一个基本表关
系。
并进行规范化;定义视图、定义索引、主关键字、定义权限。
.软件功能设计:
画出系统功能结构图,描述每个功能所完成的任务。
.代码设计和界面设计:
给出主要功能的代码并有适当的说明;界面
设计要合理,给出主要界面。
2、一个可运行的运动会成绩管理系统原型。
参考文献
[1]、张海潘。
软件工程导论。
北京:
清华大学出版社,2003年 [2]、王 珊。
数据库系统概论。
北京:
高等教育出版社,2006年
[3]、赛奎春,白伟明,赵玉君 等。
JSP信息系统开发实例精选。
北京:
机械工业出版社,2006年
[4]、汪孝宜,刘中兵,徐佳晶 等。
JSP数据库开发实例精粹。
北京:
电子工业出版社,2005年
审查意见
指导教师签字:
教研室主任签字:
2014年6月15日
表格1
计算机类专业课程设计任务书
1需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为3个模块,每一个模块对应一个函数。
在这些函数当中,添加学生数据函数,按系排名(参照学生总成绩)函数,按项目查询学生成绩函数的实现严格按照题目的要求。
主函数及菜单函数控制程序的整体运行。
1.添加学生数据函数主要实现程序最初运行时学生数据的录入以及其后的运行中学生数据的追加功能;
2.按系排名(参照学生总成绩)函数按照题目的具体要求实现的是参照不同院系的学生的总成绩给出院系的排名;
3.按项目查询函数允许按照项目名称对学生的各项成绩进行查询;
除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
每一个学生记录都包含学号、姓名、系别,以及赛跑比赛、跳远比赛、跳高比赛三门成绩,在程序当中,将学生记录类型定义为结构体类型,添加以及追加的学生信息直接写入定义的结构体中,其它函数每次对学生记录的访问,其数据来源都是该结构体,这样做不但可以保证学生数据的一致性,而且可以对学生数据进行永久保存,保证每次运行程序都可以采用原来的数据。
2概要设计
1.程序总体结构图
1
图2添加学生数据函数
(2)按系排名(参照学生总成绩)函数sort
图3按系别排名
(3)按项目查询函数query
3运行环境
1)软件环境
操作系统:
Windows7
2)硬件环境
处理器:
IntelPentium166MX或更高
内存:
32MB以上
硬盘空间:
1GB以上
显卡:
SVGA显示适配
4开发工具和编程语言
MicrosoftvisualC++,
C语言
5详细设计
#include
#include
#include
#include"conio.h"
#defineN20
structstudent
{charnum[20];
charname[10];
charxibie[10];
floatrace;
floatjump;
floathigh;
}stu[N],temp;
voidmenu();
voidadd();
voidsort();
voidquery();
voidmain()
{
intn;
while
(1)
{
menu();
printf("\n请输入您要选择的操作序号,按回车键确认:
");
scanf("%d",&n);
switch(n)
{
case1:
add();break;
case2:
sort();break;
case3:
query();break;
case4:
exit(0);
default:
printf("输入错误,请输入列表中存在的序号!
\n");
}
}
}
voidmenu()
{
printf("*************************运动员成绩管理系统************************");
printf("\n1添加学生数据");
printf("\n2按系排名");
printf("\n3按项目查询");
printf("\n4退出");
}
voidadd()/*添加学生信息*/
{
intn,i;
printf("请输入要添加的学生数量,按回车键确认:
");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("\n请输入第%d个学生的学号、姓名,系别,用空格分开,并按回车键确认:
\n",i);
scanf("%s%s%s",stu[i].num,stu[i].name,stu[i].xibie);
printf("\n请输入第%d个学生的赛跑比赛、跳远比赛、跳高比赛,用空格分开,并按回车键确认:
\n",i);
scanf("%f%f%f",&stu[i].race,&stu[i].jump,&stu[i].high);
printf("%s%s%s%f%f%f\n",stu[i].num,stu[i].name,stu[i].xibie,stu[i].race,stu[i].jump,stu[i].high);
}
}
voidsort()
{inti,j;
printf("*********************按系成绩排序结果如下**********************************\n\n");
printf("名次系别总成绩\n");
printf("*************************************************************************\n");
for(i=1;i<=N;i++)
for(j=1;j<=N-i;j++)
{
if(stu[j].race+stu[j].jump+stu[j].high { temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } } for(i=1;i<=N;i++) printf("\n%d%12s%11.2f\n",i,stu[i].xibie,stu[i].race+stu[i].jump+stu[i].high); } voidquery() { inti,a; printf("请输入1,2或3,1代表赛跑成绩,2代跳远成绩,3代表跳高成绩"); scanf("%d",&a); if(a==1) { printf("*********************按项目查询结果如下**********************************\n\n"); printf("名次学号姓名系别赛跑\n"); printf("*************************************************************************\n"); for(i=1;i<=N;i++) { printf("\n%d%12s%12s%11s%11.2f\n",i,stu[i].num,stu[i].name,stu[i].xibie,stu[i].race); } getch(); } if(a==2) { printf("*********************按项目查询结果如下**********************************\n\n"); printf("名次学号姓名系别跳远\n"); printf("*************************************************************************\n"); for(i=1;i<=N;i++) { printf("\n%d%12s%11s%11s%11.2f\n",i,stu[i].num,stu[i].name,stu[i].xibie,stu[i].jump); } getch(); } if(a==3) { printf("*********************按项目查询结果如下**********************************\n\n"); printf("名次学号姓名系别跳高\n"); printf("*************************************************************************\n"); for(i=1;i<=N;i++) { printf("\n%d%12s%11s%11s%11.2f\n",i,stu[i].num,stu[i].name,stu[i].xibie,stu[i].high); } getch(); } } 6调试分析 调试是程序编写中的一个重要环节,也是最复杂,对程序编写者来说是一项艰巨的任务。 调试的任务就是及时改正测试过程中发现的错误。 具体地说,调试过程由两个步骤组成,它是从程序中存在错误的某种迹象开始的。 首先是确定错误的准确位置,也就是找出是哪个模块或哪个语句引起的错误。 然后仔细研究推断代码以确定问题的原因,并设法改正。 调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。 本系统调试过程中遇到问题、原因和解决方法如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 运动会 成绩管理系统 课程设计