1、 1 学生成绩管理系统课程设计学生成绩管理系统课程设计 一一设计的任务设计的任务 根据实用性,我决定设计一个学生成绩管理系统.由于自己也是一个学生,经 常跟成绩打交道,以前的成绩自己搞得很乱,每次想找以前的成绩看一下,做个总 结,以便制定新一个近期计划.可是以前的成绩都没有系统的管理,所以搞起来很 麻烦,于是决定做一个学生成绩管理系统.这个系统实用性非常强,操作起来也非 常简单,可以很容易的查找到你所要的信息.例如:如果你要查看某个学生的成绩, 只需要输入那个学生的姓名就可以了,系统会自动打印出该学生的有关信息,如 学号,姓名,每一学科的成绩等,非常简洁,一目了然.。 二设计要求二设计要求 1
2、. 要求利用 C 语言面向过程的编程思想来完成系统的设计; 2. 突出 C 语言的函数特征,以多个函数实现每一个子功能; 3. 画出功能模块图; 4. 进行简单界面设计,能够实现友好的交互; 5. 具有清晰的程序流程图和数据结构的详细定义; 6. 熟练掌握 C 语言对文件的各种操作。 三设计的作用、目的三设计的作用、目的 通过程序设计,提高编程兴趣与编程水平。设计一个学生成绩管理系统, 上学期的本班的学习成绩进行管理,可以用数组设计这个程序,具有查询和检 索功能,并且能够对指定文件操作,也可将多个文件组成一个文件。通过对此 程序的设计熟练掌握 c 语言。 四总体设计四总体设计: 1.数据结构设
3、计数据结构设计 设计这个系统,我选择了用结构体来存放不同类型的数据.在这个过程当中, 我有打算过用指针,但由于指针这章节非常复杂,而且刚讲不久,自己了解的还不 够透切,而且用指针要非常的小心,不然很容易出错,对刚学不久的同学来说,要查 出其中的错误,也不那么简单,所以为了尽量减少发生错误,我就没有将指针利用 到其中. 2 2.系统的结构设计系统的结构设计 3.算法设计说明算法设计说明 主函数 查 看 学 生 成 绩 功能选择 退出系统 进入系统 插 入 学 生 成 绩 删 除 学 生 成 绩 排 序 学 生 成 绩 3 查看成绩 输入姓名 是否相等 输出相关信息 结束 Y N 插入成绩 输入相
4、关信息 进行整理 输出插入结果 结束 Y N 4 4,资料库里包含有的学生成绩信息: 1,“li“,85,86,87,81, 2,“zhang“,75,76,78,72, 排序成绩 按字母大小 输出排好的信息 结束 Y N 按学号排 按字母排 按学号大小 输出排好的信息 Y N 删除成绩 输入要删除的学号 与哪个相等 将之删除 输出删除结果 结束 Y N 5 3,“wu“,65,66,67,69, 4,“chen“,85,76,71,63, 5,“dai“,65,68,94,83, 6,“hua“,64,84,82,86, 7,“zhuang“,71,78,68,74, 8,“ye“,82,8
5、3.76,65, 9,“zeng“,91,83,86,78, 10,“wang“,68,88,76,95, 五详细设计五详细设计 1.建立主函数与界面建立主函数与界面 #include #include #include void interface(); void search(); void insert(); void dayin(); void dele(); void paixu(); void xuehao(); void zimu(); void exit(); struct student int num; char name20; int computer; int math
6、; int english; int physics; stu10=1,“li“,85,86,87,81, 2,“zhang“,75,76,78,72, 3,“wu“,65,66,67,69, 6 4,“chen“,85,76,71,63, 5,“dai“,65,68,94,83, 6,“hua“,64,84,82,86, 7,“zhuang“,71,78,68,74, 8,“ye“,82,83.76,65, 9,“zeng“,91,83,86,78, 10,“wang“,68,88,76,95, ; void main() int j,i; interface(); for(i=0;i5;i+) printf(“ 请输入你要进行操作的编号,以回车键结束n“); scanf(“%d“, switch(j) case 1: search(); break; case 2: insert(); break; case 3: del