资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
青岛农业大学课程设计报告 题 目: 学生成绩管理系统 姓 名: 学 院: 工程系 专 业: 电子信息工程技术 班 级: 学 号: 指导教师: 目 录一 设计目的.1二 课程设计的内容.2三 课程设计的要求与数据.3四 课程设计应完成的工作.4五 总体设计(包含几大功能模块).5六 详细设计(各功能模块的具体实现算法流程图).6七 调试分析(包含各模块的测试用例,及测试结果).7八 总结.8十 参考资料.9一 设计目的进一步加深、巩固所学专业课程(C语言程序设计)的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能。二 课程设计的内容对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。三 课程设计的要求与数据1、用C语言实现系统;2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:(1) 每一条记录包括一个学生的学号、姓名、3门课成绩(2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录的输入。)(3)、成绩信息显示浏览功能:完成全部学生记录的显示。(4)、查询功能:完成按姓名查找学生记录,并显示。(5)成绩信息的删除:按学号进行删除某学生的成绩.(6)、排序功能:按学生平均成绩进行排序。(7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!四 课程设计应完成的工作(1)编写算法;(2)算法测试,并有具体的测试结果和结果分析;(3)撰写课程设计报告。内容包括:1) 封面扉页2) 设计任务书3) 目录4) 总体设计方案(包括流程图)5) 使用说明及运行实例(包括界面)6) 成员设计内容简介7) 项目源程序代码(注意注释的使用)8) 指导教师评语五 总体设计(包含几大功能模块) 1、成绩录入功能2、成绩输出功能3、成绩查询功能4、删除模块 5、排序功能 6、统计功能 7、退出系统六 详细设计(各功能模块的具体实现算法流程图)6.1各函数的功能和实现1、输入初始的学生信息:输入信息包括学生的姓名、学号以及学生的成绩等相关信息;可用函数void input(STUDENT *data, int *len)来实现此操作。 2、成绩输出模块:输出学生的信息以及成绩void output(STUDENT *data, int len):通过学生的姓名来查看学生的相关成绩,同时也可以分别通过caverage()、maverage()、eaverage()和comaverage()来输出成绩的平均分数、最高和最低分数。3、成绩查询模块:可用void find(STUDENT *data, int len)来实现。找到就输出此学生全部信息。4、删除模块:用函数void delete_item(STUDENT *data, int *len)来实现5、排序模块:用函数void sort(STUDENT *data, int len)来实现6、统计功能能:用函数void stat(STUDENT *data, int len) 来实现7、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。 如图6.1结束开始输出菜单根据菜单输入n的值选择程序输入退出输出保存查找排序统计插入删除 图 6.1七 调试分析(包含各模块的测试用例,及测试结果) 7.1源程序#include #include #include #define MAXN 35#define MAX_NAME 256typedef struct student /学生信息int no;char nameMAX_NAME;double Chinese;double math;double English;double mark_ave;double mark_tot; STUDENT;/*-输入信息子程序-*/void input(STUDENT *data, int *len)int no;putchar(n);printf(%sn, 请输入新的记录,如果需要退出当前菜单请输入-1.);printf(%sn, 格式:n学号n);printf(%sn, 姓名 语文 数学 英语);putchar(n);printf(如:n);printf(1n);printf(杨江彬 93 95 89n);scanf(%d, &no);while(no != -1) data*len.no = no;scanf(%s %lf %lf %lf, data*len.name, &data*len.Chinese, &data*len.math,&data*len.English);data*len.mark_ave=(data*len.Chinese+data*len.math+data*len.English)/3.0;data*len.mark_tot=data*len.Chinese+data*len.math+data*len.English;(*len)+;scanf(%d, &no); /*-输出信息子程序-*/void output(STUDENT *data, int len) int i;system(cls); printf(%8s, 学号); printf(%8s, 姓名); printf(%8s, 语文); printf(%8s, 数学); printf(%10s, 英语); printf(%12s, 平均分); printf(%10s, 总分); putchar(n); for (i =0; i 80; i+) putchar(=); putchar(n); for (i = 0; i len; i+) printf(%8d, datai.no); printf(%8s, datai.name); printf(%8.1lf, datai.Chinese); printf(%8.1lf, datai.math); printf(%10.1lf, datai.English); printf(%12.1lf, datai.mark_ave); printf(%10.1lf, datai.mark_tot); putchar(n); for (i =0; i 80; i+) putchar(=); putchar(n); printf(按回车键继续.); getchar(); getchar();/*-排序子程序-*/void sort(STUDENT *data, int len) int i,j,k; STUDENT temp; for (i=0; ilen-1; i+) for (k=i, j=i+1; j dataj.mark_ave) k=j;if (k != i) temp = datai;datai = datak;datak = temp; /*-搜索子程序-*/void find(STUDENT *data, int len) int find_no, result ; int i;lab: result=0; printf(%sn, 请输入需要查找的学生的学号,退出当前菜单请输入 -1.); scanf(%d, &find_no); if (find_no = -1) return; /*exit the fine sub program*/ while( dataresult.no != find_no & result = len ) printf(%sn, 未查询到相关信息); goto lab; else system(cls); printf(%sn, 查询信息如下:); for (i =0; i 80; i+)
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号