1、 程序设计程序设计与算法语言与算法语言课程设计课程设计 报报 告告 书书 题题 目目 学生信息管理系统学生信息管理系统 院系名称院系名称 专专 业业 (班(班 级)级) 信息与计算科学信息与计算科学 姓姓 名名 (学(学 号)号) 指指 导导 教教 师师 完完 成成 时时 间间 2013-01-10 1 一一、问题描述问题描述 在学校对学生的管理中,要掌握每个班级学生的一些基本信息,需要建立一个基本的 学生管理系统。这个系统可以管理学生的一些基本信息姓名,学号,学生科目的成绩;可以 对学生的姓名、学号基本信息录入,修改,注销,成绩的录如,和信息的修改。 二二、基本要求基本要求 1、利用结构体数
2、组实现学生信息的数据结构设计 2、系统的各个功能模块要求用函数形式实现 3、使用学生管理系统对学生一些基本信息的管理 4、结构体成员中包括学生的学号、年龄、名字、所学的科目 5、学生信息管理系统应该提供以下功能 a、学生基本信息的录入 b、学生基本信息的修改 c、学生成绩的录入 d、修改成绩 e、浏览 f、退出 三三、算法思想算法思想 本程序中包括了 11 个函数和一个清屏函数 1、 student-new 2、 student-del 3、 student-edit 4、 score-input 5、 score-edit 6、 brower 7、 page-title 8、 return-
3、confirm 9、 search-id 10、sort-it 11、main 在函数 page-title 中形参 menu-item 被声明为 char *类型的指针变量, 其中函数 page-title 在函数 1、2、3、4、5、6,和主函数 11 中被调用。调用函数 7 时,函数分别将实参(字 符串的首地址)传递给 menu-item,使 menu-item 指向字符串的首地址,在函数中输出 字符串。函数 return-confirm 中定义是一个无形参的函数,其中函数 return-confirm 在函 数 1、2、3、4、5 被调用。函数 student-new 是无形参的函数,
4、在函数 student-new 中, 当学号不等于 0,n 不大于班级学生的总人数是执行函数,采用遍历分别实现学号、姓 名、年龄的录入。在录入学生的基本信息后执行函数 8,返回主菜单。函数 search-id 函数定义为 int 型无形参,定义变量 i 为当前输入的学号,采用遍历法实现当前的学号 与系统已保存的学号比较,当输入的学号已在在系统保存中并且输入的学号不等于 0 时显示学生的信息再返回学号,否者就显示错误或者学号不存在返回-1,其中 search-id 在函数 2、 3、 5 中被调用。 函数 student-del 是无形参函数, 定义 n 为 int 型, 调用 search-i
5、d 函数并将返回值赋值给 n,如果 n 不等于-1,,将 0 赋值给 studentn.id(学号) ,实现这 2 个学号学生信息的注销。在实现学生信息的注销后,执行函数 8,返回主菜单。函数 student-edit 是无形参的函数,定义 n 为 int 型,调用 search-id 函数并将返回值赋给 n。 如果 n 不等于-1 实现学生新信息的输入,依次录入学号、姓名、年龄。在新信息录入 后调用函数 8,返回主菜单。函数 score-input 为无形参的函数,当 studentn.id 不等于 0 时执行 swith 语句,从键盘上输入一个数字,并赋给变量 s,swtich 得到 s
6、的值并把它 和各 case 中的值比较,如果和其中之一相同,则执行该case 后面的语句,分别进行各 个科目成绩的录入。然后调用函数 8 返回主菜单。函数 score-edit 是无形参的函数,定 义 n 为 int 型,调用 search-id 函数并将返回值赋给 n。如果 n 不等于-1 重新进行此学号 学生成绩的录入,实现成绩的修改。然后调用函数 8 返回主菜单。函数 sort-it 形参定义 为 char 型函数,采用 for 语句进行遍历,执行 swith 语句,分别讲学生的学号,各科目 的成绩,和总成绩分别赋给数组 tn,再使用选着排序对数组按学号从前到后,成绩从 高到底进行重新排序,先使用 for 进行遍历,先输入一个数组 tn的一个下标,当下标 小于总人数时,将 0 先赋给 x,-1 先赋给 p,此后再套用一个 for 语句再进行一次遍历, 当下标小于总人数时先判断此数组的元素是否大于 x, 如果大于 x 再将 x 的值赋给数组 元素, 将数组元素的下标赋给 p, 直到找到数