C语言实现学生成绩管理解决方法系统

上传人:不*** 文档编号:93076278 上传时间:2019-07-16 格式:DOC 页数:17 大小:248.50KB
返回 下载 相关 举报
C语言实现学生成绩管理解决方法系统_第1页
第1页 / 共17页
C语言实现学生成绩管理解决方法系统_第2页
第2页 / 共17页
C语言实现学生成绩管理解决方法系统_第3页
第3页 / 共17页
C语言实现学生成绩管理解决方法系统_第4页
第4页 / 共17页
C语言实现学生成绩管理解决方法系统_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《C语言实现学生成绩管理解决方法系统》由会员分享,可在线阅读,更多相关《C语言实现学生成绩管理解决方法系统(17页珍藏版)》请在金锄头文库上搜索。

1、学号102128121 武汉理工大学华夏学院课程设计报告书课程名称: 数据结构 题 目:用C语言实现成绩统计程序的设计 系 名: 信息工程系 专业班级: 软件工程1121 姓 名: 指导教师: 黄启荃 2013 年 6月 28日课程设计任务书设计题目:用C语言实现成绩统计程序的设计设计目的1.巩固和加深课堂所学知识、学会分析研究数据对象的特性及数据的组织方法;2.选择合适的数据的逻辑结构和存储结构以及相应操作,实现一个班的成绩统计3. 提高程序设计能力、加强查阅、运用资料的能力、算法分析与程序设计素质培养 ;设计任务 (在规定的时间内完成下列任务)问题描述给出n个学生的m门课程的考试成绩信息,

2、每条信息由姓名、课程代号与分数组成,要求设计算法:(1)输入每个人的各门课程的成绩,计算每人的平均成绩;(2)按平均成绩的高低次序,打印出出个人的名次,平均成绩相同的为同一名次;(3)按名次列出每个学生的姓名和各科成绩;基本要求 学生的考试成绩必须通过键盘输入,且需对输出进行格式控制;算法提示可以用选择排序、冒泡排序等多种排序算法求解; 具体要完成的任务是: A. 编制完成上述问题的C语言程序、进行程序调试并能得出正确的运行结果。 B. 写出规范的课程设计报告书;时间安排:6月24日-28日第一天布置题目,确定任务、查找相关资料第二天第四天功能分析,编写程序,调试程序、运行系统;第五天程序验收

3、、答辩;撰写设计报告。具体要求1. 课程设计报告按统一通用格式书写,具体内容如下: 设计任务与要求 总体方案与说明 软件主要模块的流程图 源程序清单与注释 问题分析与解决方案(包括调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想); 小结与体会附录: 源程序(必须有简单注释) 使用说明 参考资料2每位学生应独立完成各自的任务且每天至少在设计室工作半天;指 导 教 师 签 名: 2013 年 6月 22日 教研室主任(或责任教师)签名: 2013年 6月 24日1.设计题目及要求1.1设计题目用C语言实现成绩统计程序的设计。1.2具体任务对学生信息(包括学号、语文、数学、英语、平均分)

4、进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。2.系统设计思想2.1 系统设计思想在编写成绩统计管理系统程序的过程中运用结构体,把问题中所涉及的变量定义在结构体中,利用函数来管理学生成绩,循环语句控制所选择的选择界面,case语句进行选择。然后利用相关变量函数把学生成绩记录下来,利用循环语句再回到选择界面,利用查找函数,

5、统计函数来查找统计学生成绩,利用冒泡排序法来对学生平均成绩进行排序。然后按成绩高低对学生进行排名。2.2 系统算法设计2.2.1系统模块结构图 系统结构如图2-1所示图2-1 系统结构图结束开始 菜单显示菜单选择输入退出输出保存查找排序统计插入删除2.2.2主函数流程图 主函数如图2-2所示结束判断输入数 int num; char name20;int score3;float average;开始 输入选择操作t=4t=2t=1插入数据查找t=3输出信息输入信息选择排序法排序平均数保存文件按学号删除输出平均分成绩记载相应模块并进行处理图2-2 主函数流程图3.系统调试与运行3.1开发环境V

6、isual C+6.0,Microsoft Windows XP3.2程序调试 3.2.1主界面调试 选择界面如图3-1所示图3-1 选择界面截图3.2.2成绩录入模块成绩录入界面 录入界面如图3-2所示 图3-2 成绩录入模块3.2.3成绩查询模块成绩查询界面如图3-3所示 图3-3 成绩查询模块3.2.4成绩统计模块成绩统计界面如图3-4所示图3-4 成绩统计模块4.设计评价与修改在数据结构课程设计过程中,许多知识点都没有学过,都要靠自己到课外的资料中去查找。在用的时候难免出现这样那样的错误。如开始设计出来的菜单不是预想的那样,而是窗中出现混乱,要经过自己一遍遍的调试与修改,和老师同学的帮

7、助下逐渐改进完善,最后才渐渐的成型。运行的也基本达到所需要的运算要求。5.心得与体会回顾起此次课程设计,我感慨颇多,从拿到题目到完成整个编程,从理论到实践,在整整一个礼拜的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自

8、己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体。通过这次课程设计之后,一定把以前所学过的知识熟悉了,本次课程设计结束了,我们通过这次实践学到了许多知识。学到了设计一个简单的系统。要注意哪些方面。也使我们知道自己哪些方面做得还不够。这不仅是程序设计,更是锻炼我们处理问题的能力,同时也使我们了解到团队合作的可贵.编写程序是件细心活,稍不留神就会出错,这就必须要求我们对待事情要认真!在编写程序的过程中,错误不断出现,不同的类型(如少写了一个符号,写错了字母,用错了函数等等)层出不穷,这考验我们待事细心,耐心,能不能坚持到底,不能半途而废。每一次的课程设计都是一次对自己曾

9、经学习知识的检验,通过每次的实践,使自己认识之前的不足与缺点,利于以后的改正与今后学习的发展方向,希望每一次的课程设计都能有一个很好的提高参考文献1詹春华 李小艳 黄启荃计算机应用基础科学出版社 2011.52詹春华 杨沙C语言程序设计科学出版社2011.83谭浩强C语言程序设计北京清华大学出版社,2000年1月。4徐孝凯 魏荣数据结构机械工业出版社1996年5徐孝凯数据结构简明教程清华大学出版社1995年6陈文博 朱青数据结构与算法机械工业出版社1996年附录:程序代码#include #include #include #define MAXN 35#define MAX_NAME 256

10、typedef 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);pri

11、ntf(如: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+

12、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);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 专业基础教材

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号