1、 1 * 实践教学实践教学 * 计算机与通信学院 2011 年春季学期 C 程序设计程序设计 课程设计课程设计 题 目:学生信息管理系统 专业班级: 姓 名: 学 号: 指导教师: 成 绩:_ _ 2 摘摘 要要 学生信息管理系统是一个教育单位不可缺少的部分,它的内容对 于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应 该能够为用户提供充足的信息和快捷的查询手段。 此系统具有查询方 便快捷,用简单的界面来展示学生信息,应用简单明了、存储量大、 可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学 生信息管理的效率。 利用 C 语言开发, 实现了简单的学生基本信息的 录入、修
2、改、查询、删除等操作,并且能够利用文件系统长久的保留 原始数据。 3 目目 录录 一、一、 需求分析需求分析 4 4 二、总体设计二、总体设计 5 5 三、详细设计三、详细设计 6 6 1.模块设计 6 2.算法流程图 . 7 四、编码四、编码 1010 五、测试五、测试 1111 六、设计总结六、设计总结 1515 致谢致谢 1717 参考文献参考文献 1818 4 一、一、需求分析需求分析 设计一个学生成绩管理系统,对上学期的本班的学习成绩进行管理,具有查 询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件。 主要功能: 1、键入学生信息 2、查看录入的信息 3、按姓名查看信
3、息 4、按学号查看信息 5、按平均成绩排序 6、删除信息 7、保存信息 8、读取文件 9、我的个人信息 0、退出 5 二、总体设计二、总体设计 根据需求分析,为了实现系统功能,我确定图书信息管理系统总体模块如图所 示。 (图) 学生信息管理系统功能模块图 学生信息 管理系统 学生信息 成绩排序 个人信息 读取文件 6 三、详细设计三、详细设计 1.模块设计模块设计 模块一模块一:头文件,变量定义,函数的声明 对系统所使用的变量进行定义,对函数进行声明 模块二模块二:学生信息系统使用帮助 声明函数 void help(),对整个系统进行使用说明 模块三模块三:录入学生信息 声明函数 void r
4、eadfile(),说明一个文件指针 FILE *fp 打开文件 “student.txt“ 模块四模块四:学生信息的查找 声明 void seek()为查找函数,通过 switch(item)设定用学号查找,用姓名 查找两个分支 模块五模块五:学生信息的修改 声明 void modify()为学生信息修改函数,通过 switch(item)设定所要修改 的项目 模块六模块六:学生信息按学号排序 声明 void sort()将录入学生系按升序排列,用的是“冒泡排序法”实现排序 模模块七块七:增加学生信息 声明 void insert()插入学生信息,先通过判断学生是否存在,若否则继续输 入,若
5、是跳出,重新循环 模块八:模块八:删除学生信息 声明 void del()实现学生信息删除,通过学号对比确定要删除的信息,然后 用后一个替换掉。 模块九:模块九:显示学生信息 通过 display()函数输出学生信息 模块十:模块十:保存信息 通过 fp=fopen(“student.txt“,“w“);写入信息 7 模块十一:模块十一:界面菜单 通过 switch(num)调用,以上各函数,实现功能 2.算法流程图算法流程图 *函数主要功能说明: 输出结果 调 用 sav e 函 数 调 用 sav e 函 数 调 用 sav e 函 数 调 用 openl 函 数 调 用 L o o k
6、函 数 调 用 s a v e 函 数 调 用 search_number 函 数 调 用 search_name 函 数 调 用 de l 函 数 调 用 o r d e r 函 数 调 用 se e 函 数 调 用 w e l co m e 函 数 Main函数 退 出 程 序 调 用 T y p e 函 数 8 1、 输入学生的信息函数功能: type 函数通过循环向结构体中输入学生的学号、 姓名、性别、英语成、数学成绩、语文成绩。 Type 函数流程图 2、查看输入的信息功能:通过 look 函数以一个循环的形式输出所要查看的 信息。 3、查询功能:通查询信息,过 search_name 函数和 search_number 函数来进 判断 i 是否小 于 n 在主界面选择 录入学生信息 确定要录入的学 生人数 n 用 scanf()函数输入信息 开始循环 for (i=0;in;i