c语言课程设计___学生成绩管理系统.doc





《c语言课程设计___学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《c语言课程设计___学生成绩管理系统.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、广东工业大学华立学院 课 程 设 计课程名称_程序设计基础_题目名称_学生成绩管理系统_学生学部(系)_计算机与艺术设计学部_专业班级_09计算机(2)班_学 号_学生姓名_吴洲洋_指导教师_卢清秀_ 2010 年 7 月 2 日广东工业大学华立学院课程设计任务书题目名称学生成绩管理系统学生学部(系)计算机与艺术设计学部专业班级09计算机(2)班姓 名吴洲洋学 号一、课程设计的内容对学生信息(包括学号、数学、英语、计算机、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.每个教师都将各自班学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学
2、生的成绩员。假设,教师现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。二、课程设计的要求与数据1、用C语言实现系统;对学生信息(包括学号、数学、英语、C语言、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.是高等学校教务管理的重要组成部分,学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:(1) 每一条记录包括一个学生的学号、姓名、3门课成绩(2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录的输入。)(3)、成
3、绩信息显示浏览功能:完成全部学生记录的显示。(4)、查询功能:完成按姓名查找学生记录,并显示。(5)成绩信息的删除:按学号进行删除某学生的成绩.(6)、排序功能:按学生平均成绩进行排序。(7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!三、课程设计应完成的工作(1)编写算法;(2)算法测试,并有具体的测试结果和结果分析;(3)撰写课程设计报告。四、课程设计(论文)进程安排序号设计(论文)各阶段内容地点起止日期1审题、搜集资料综合楼6082编写算法并测试综合楼6083撰写课程设计报告综合楼608五、应收集的资料及主要参考文献1谭浩强. C程序设计(第三版) .
4、北京:清华大学出版社, 2005 2谭浩强. C程序设计题解与上机指导(第三版) . 北京:清华大学出版社, 20053谭浩强. C程序设计教程 北京:清华大学出版社, 20074谭浩强. C+程序设计 北京:清华大学出版社, 20045李春葆,张植民,肖忠付.C语言设计题典M.北京:清华大学出版社,2002发出任务书日期: 2010 年 6 月 9 日 指导教师签名:计划完成日期: 2010 年 7 月 2 日 教学单位责任人签章:目 录一 总体设计(包含几大功能模块)1二 详细设计(各功能模块的具体实现算法流程图)5三 调试分析(包含各模块的测试用例,及测试结果)153.1源程序153.2
5、调试与测试15四 总结15五 参考资料15 一 总体设计(包含几大功能模块) 1、成绩录入功能 2、成绩输出功能 3、成绩查询功能 4、删除模块 5、排序功能 6、统计功能 7、退出系统二、详细设计(各功能模块的具体实现算法流程图)2.1各函数的功能和实现1、输入初始的学生信息:输入信息包括学生的姓名、学号以及学生的成绩等相关信息;可用函数void input(STUDENT *data, int *len)来实现此操作。 2、成绩输出模块:输出学生的信息以及成绩void output(STUDENT *data, int len):通过学生的姓名来查看学生的相关成绩,同时也可以分别通过cav
6、erage()、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()来实现,首先将信息保存
7、到文件中,释放动态创建的内存空间,再退出此程序。 结束开始输出菜单根据菜单输入n的值选择程序输入退出输出保存查找排序统计插入删除三 调试分析(包含各模块的测试用例,及测试结果) 3.1源程序#include #include #include #define MAXN 35#define MAX_NAME 256typedef struct student /学生信息int no;char nameMAX_NAME;double english;double math;double Programming;double mark_ave;double mark_tot; STUDENT;/*-
8、输入信息子程序-*/void input(STUDENT *data, int *len)int no;putchar(n);printf(%sn, 请输入新的记录,如果需要退出当前菜单请输入-1.);printf(%sn, 格式:n学号n);printf(%sn, 姓名 英语 数学 C语言);putchar(n);printf(如:n);printf(5n);printf(黄宏业 100 100 100n);scanf(%d, &no);while(no != -1) data*len.no = no;scanf(%s %lf %lf %lf, data*len.name, &data*le
9、n.english, &data*len.math,&data*len.Programming);data*len.mark_ave=(data*len.english+data*len.math+data*len.Programming)/3.0;data*len.mark_tot=data*len.english+data*len.math+data*len.Programming;(*len)+;scanf(%d, &no);/*-输出信息子程序-*/void output(STUDENT *data, int len) int i;system(cls); printf(%8s, 学号
10、); printf(%8s, 姓名); printf(%8s, 英语); printf(%8s, 数学); printf(%10s, C语言); 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.english); printf(%8.1lf, datai.math); pri
11、ntf(%10.1lf, datai.Programming); 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+
12、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( dataresu
13、lt.no != find_no & result = len ) printf(%sn, 未查询到相关信息); goto lab; else system(cls); printf(%sn, 查询信息如下:); for (i =0; i 80; i+) putchar(=); putchar(n); printf(%8s, 学号); printf(%8s, 姓名); printf(%8s, 英语); printf(%8s, 数学); printf(%10s, C语言); printf(%12s, 平均分); printf(%10s, 总分); putchar(n); printf(%8d,
14、dataresult.no); printf(%8s, dataresult.name); printf(%8.1lf, dataresult.english); printf(%8.1lf, dataresult.math); printf(%10.1lf, dataresult.Programming); printf(%12.1lf, dataresult.mark_ave); printf(%10.1lf, dataresult.mark_tot); putchar(n); for (i =0; i 80; i+) putchar(=); putchar(n); goto lab; /
15、*-插入子程序-*/void insert(STUDENT *data, int *len) int no, pos;double english, math, Programming, mark_ave, mark_tot;int i; char nameMAX_NAME;lab: printf(%sn, 输入新的记录,退出当前菜单请输入-1.); printf(%sn, 格式:学号); printf(%sn, 姓名 英语 数学 C语言); scanf(%d, &no); if (no = -1) return; data*len.no = no; scanf(%s %lf %lf %lf,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 _ 学生 成绩管理系统

限制150内