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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
} void menu() {
-10-
山西工商学院课程设计报告
printf("
************************* 运 动 员 成 绩 管 理 系 统
************************ ");
printf("\n
1 添加学生数据");
printf("\n
2 按系排名百度文库);
课程设计报告
课程设计名称:C 语言课程设计 课程设计题目:运动会成绩管理系统
院(系):计算机信息工程学院 专 业:计算机科学与技术(网络方向) 班 级:15计算机网路二班 学 号:2015220240241 姓 名:闫文辉 指导教师:孟 洁 完成日期:2015年12月27日
山西工商学院课程设计报告
-I-
山西工商学院课程设计报告
第 1 章 概要设计
1.1 题目的内容与要求
1. 添加学生数据函数 主要实现程序最初运行时学生数据的录入以及其后的 运行中学生数据的追加功能;
2. 按系排名(参照学生总成绩)函数 按照题目的具体要求实现的是参照不 同院系的学生的总成绩给出院系的排名;
3. 按项目查询函数 允许按照项目名称对学生的各项成绩进行查询; 除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中
这次程序的编写,使我掌握了更多的知识与技巧。在编程中有许多以前从来 没有遇到过的问题,自己查阅了大量的资料,找出并改正。同时,也有常见的问 题,比如符号格式的错误,还有符号运用的失误等等。通过仔细的查找错误,提 高了自己的能力。
-6-
山西工商学院课程设计报告
第 4 章 使用说明与执行结果
运行操作及结果:
目录
第 1 章 概要设计........................................................................................................... 2 1.1 题目的内容与要求..................................................................................................2 1.2 总体结构..................................................................................................................2 1.3 程序总体结构图......................................................................................................3
第 2 章 详细设计........................................................................................................... 4 2.1 按系排名(参照学生总成绩)函数 SORT............................................................ 4 2.2 按项目查询函数 QUERY..........................................................................................5
printf("\n%d%12s%11.2f\n",i,stu[i].xibie,stu[i].race+stu[i].jump+stu[i]. high );
}
void query()
{
int i,a;
printf("请输入 1,2 或 3,1 代表赛跑成绩,2 代跳远成绩,3 代表跳高成绩");
图 2-2 成绩记录模块
-5-
山西工商学院课程设计报告
第 3 章 调试分析
调试是程序编写中的一个重要环节,也是最复杂,对程序编写者来说是一项 艰巨的任务。调试的任务就是及时改正测试过程中发现的错误。具体地说,调试 过程由两个步骤组成,它是从程序中存在错误的某种迹象开始的。首先是确定错 误的准确位置,也就是找出是哪个模块或哪个语句引起的错误。然后仔细研究推 断代码以确定问题的原因,并设法改正。
i++
输出学生学号、姓名、系别和三门成绩
返回
图 1-2 学生信息模块 -3-
山西工商学院课程设计报告
第 2 章 详细设计
2.1 按系排名(参照学生总成绩)函数 sort
循环变量 n=1
当 n<=N 时 j=1
当 j<=N-1 时

第 j 学生总分<第 j+1 学生总分

交换两个学生信息 j++
j++
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].h
igh);
}
} void sort() {int i,j;
printf("********************* 按 系 成 绩 排 序 结 果 如 下 **********************************\n\n");
scanf("%d",&a);
if(a==1)
{
printf("********************* 按 项 目 查 询 结 果 如 下
**********************************\n\n");
第 3 章 调试分析........................................................................................................... 6 第 4 章 使用说明与执行结果....................................................................................... 7 参考文献........................................................................................................................... 9 附 录(程序清单)................................................................................................... 10
调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到 相关的问题所在。本系统调试过程中遇到问题、原因和解决方法如下面介绍:(1) 程序运行不顺利 在程序运行的过程中出现死循环、不运行和提前结束。原因是 程序中出现了逻辑错误,进入查询页面后,查询的时候显示的是逻辑错误。没有 写读取文件的函数 m=reads(stu);所以读取不了存储的文件。
认:\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);
int n; while(1) {
menu(); printf("\n 请输入您要选择的操作序号,按回车键确认:"); scanf("%d",&n); switch(n) {
case 1: add();break; case 2: sort();break; case 3: query();break; case 4: exit(0); default: printf("输入错误,请输入列表中存在的序号!\n "); } }
1.3 程序总体结构图
当1
是 输入值 n=1 ?

添加学 是 n=2 ?

生成绩
函数 按系排 是
n=3 ?

add() 名函数
sort() 按项目查询函数
退出
query()
图 1-1 学生成绩模块
输入添加学生数两 n
循环变量 i=1 当 i<=n 时
输入学号、姓名、系别和三门成绩 学生信息输入结构体中
printf(" 名次 系别 总成绩 \n");
printf("**************************************************************** *********\n"); for(i=1;i<=N;i++)
for(j=1;j<=N-i;j++) {
循环执行所有的功能,并根据需要终止程序的执行。 每一个学生记录都包含学号、姓名、系别,以及赛跑比赛、跳远比赛、跳高
比赛三门成绩,在程序当中,将学生记录类型定义为结构体类型,添加以及追加 的学生信息直接写入定义的结构体中,其它函数每次对学生记录的访问,其数据 来源都是该结构体,这样做不但可以保证学生数据的一致性,而且可以对学生数 据进行永久保存,保证每次运行程序都可以采用原来的数据。
i++
结构体数据更新 i=1
当 i<=N 时 输出系别排名情况
i++
图 2-1 学生排名模块
-4-
山西工商学院课程设计报告
2.2 按项目查询函数 query
输入数字 a (1~3 )
1(代表赛跑) 2 代表(跳远)3(代表跳高) else 循环变量 i=1
当 i<=N 时 i++
错误
输出所选数字所代表的项目(赛跑或 跳远或跳高)的单项成绩
if(stu[j].race+stu[j].jump+stu[j].high <stu[j+1].race+stu[j+1].jump+stu[j+1].high )
{
-11-
山西工商学院课程设计报告
} }
temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp;
for(i=1;i<=N;i++)
1.2 总体结构
整个程序的设计实现大致分为 3 个模块,每一个模块对应一个函数。在这些 函数当中,添加学生数据函数,如图 1-1,按系排名(参照学生总成绩)函数, 如图 2-1,按项目查询学生成绩函数的实现如图 1-2,严格按照题目的要求。主函 数及菜单函数控制程序的整体运行。
-2-
山西工商学院课程设计报告
printf("\n
3 按项目查询");
printf("\n
4 退出");
}
void add()/*添加学生信息*/ {
int n,i;
printf("请输入要添加的学生数量,按回车键确认:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("\n 请输入第%d 个学生的学号、姓名,系别,用空格分开,并按回车键确
1、程序主界面:
2、按项目查询:
3、查询跳高成绩:
-7-
4、添加学生数据:
山西工商学院课程设计报告
-8-
山西工商学院课程设计报告
参考文献
[1] 《SQL 数据库技术》 数据库系统概论(第四版 王珊 萨师煊) [2] Access 2000 中文版实用培训教程 白松涛 [3] visialC#程序设计实用教程 杨建军 清华大学出版社 [4] 全国计算机等级考试二级教程 Access 数据库程序设计 高等教育出版社 [5] WEB 编程实用技术教程-ASP.NET+C# 刘甫迎 刘枝盛 王蓉 高等教育出版社
-9-
山西工商学院课程设计报告
附 录(程序清单)
#include<stdio.h> #include<string.h> #include<stdlib.h> #include"conio.h" #define N 20 struct student {char num[20]; char name[10]; char xibie[10]; float race; float jump; float high; }stu[N],temp; void menu(); void add(); void sort(); void query(); void main() {
相关文档
最新文档