1、 1 1 页 C C 语语 言言 课课 程程 设设 计计 报报 告告 2 2 页 这周我们的 C 语言程序课程设计是让学生自主设计学生成绩管理系统 。 C 语言的实质就是以一定的语法规范为准,通过对数据量的复杂结构运算, 完成一定功能的程序,是一门计算机基础语言,我们通过这一学期的学习,对于 其特点和算法有了一定程度的了解。 这一周的课程设计正是让我们巩固以前的知 识并在此基础上能够有所突破。 在设计程序的过程中,我了解到要设计一个完整的程序,其中最难的可能就 属设计整个程序的框架,其中可能会需要经过很多次的修改与调试,所以必须要 有耐心,直至最后设计出自己想要的程序。 另外平时学习 c 语言
2、的基础也很关 键,因为如果平时学得就不怎么样,那么你面对这么一个比较有难度的程序,可 能会望而却步,看懂他人的程序都是个难点,更别说让自己去设计。 设计一个程序的过程就是解决一个实际问题的过程,从解决实际问题的角 度,我们可以这样来看:首先要了解这个问题的基本要求,即输入、输出、完成 从输入到输出的要求是什么;在次我们必须捋清思路,逐一的解决问题的各个方 面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定 所需的变量、数组、函数,然后确定处理过程算法。 经过一周的课程设计,我学到了很多东西: 巩固和加深了对编程的理解,提高综合运用本课程所学知识的能力。 培养了我选用参考书,
3、查阅手册及文献资料的能力。培养独立思考,深入 研究,分析问题、解决问题的能力。 经过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设 计方法。 能够按要求编写课程设计报告书,能正确阐述设计和实验结果, 。 课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机 会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识 认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打 下一个良好的基础。 感谢这次的课程设计,它使我更加深刻地体会到 c 语言程序编写过程的 严谨与细致,还有就是无论做任何事都要有耐心。总的来说,这次程序设计让我 获益匪浅
4、,对 C 语言也有了进一步的认识:C 语言功能高、表达能力强、使用灵 活方便、目标程序效率高等等。C 语言是在国内外广泛使用的一种计算机语言, 相信除了以上优点,还有许多我们还未发现,希望能在以后的学习中有更深入的 认识。 学生成绩管理系统学生成绩管理系统 一 要求设计一个具有以下功能的学生管理系统: 1.系统以菜单方式工作; 2.能够实现对学生基本数据进行添加、删除、修改等维护; 3.能够对课程基本数据进行添加、删除、修改等维护; 4.能够对学生成绩进行添加、删除、修改等维护; 5.具备按学号、姓名或课程名进行成绩查询的功能; 3 3 页 6.具备统计成绩的最高分、最低分、平均分、及格率等。
5、 二 总体设计 根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除 模块,查找模块,显示模块. 学生成绩管理系统 数据输入 数据显示 数据修改 数据删除 数据查找 三 详细设计 1. 主函数: 主函数一般设计得比较简单,只提供输入,处理和输出部分的函数调用,其 中各功能模块用菜单方式选择. 流程图: 显示一系列功能模块 N 输入 n,判断 n 是否是 A-F Y 根据 n 的值调用各功能模块函数 /#include “head.h“ int menu_select() char c; printf(“nn“); printf(“ ttt| 1. 增加学生记录 5.统计信息
6、 |n“); printf(“ ttt| 2. 查询学生记录 6.打开文件 |n“); printf(“ ttt| 3. 修改学生记录 7.保存文件 |n“); printf(“ ttt| 4. 学生纪录排序 8.显示记录 |n“); printf(“ ttt| 9. 增加课程信息 10.修改课程信息 |n“); printf(“ ttt| 11. 查询课程信息 0. 退出系统|n“); printf(“nn“); printf(“ttt 请选择(0-11):“); 4 4 页 c=getchar(); getchar(); return (c-0); 2. 输入模块: void addrecord(student stud) int i=0,j,num; char str