文档详情

学生信息管理系统- 综合设计大作业.doc

发布:2018-09-01约3.01千字共9页下载文档
文本预览下载声明
综合设计概述 综合设计名称 不同排序方法的比较和交换次数的统计 任务要求 学生信息管理系统的设计 学生信息包括学号、姓名、年龄、性别、电话等。试设计一学生的信息管理系统,使之能提供以下功能: 系统以菜单方式工作。 学生信息录入功能(学生信息用文件保存)------输入。 学生信息浏览功能------输出。 查询排序功能: 按学号查询。 按姓名查询。 学生信息的删除与修改(可选项)。 开发环境 开发工具为Microsoft Visual C++ 6.0. 应用平台 Windows XP32位。 总体设计 系统功能需求分析 (1)建立学生信息,每个学生的信息包括:学号、姓名、年龄、性别、电话等。 (2)求出每个学生的总分和平均分。 (3)查找:根据学号、姓名中任一项查询该生的基本信息。 (4)排序:根据学号、各科分数或总分将学生的信息按照一定的顺序进行排序。 (5)根据需要修改学生的基本信息。 (6)根据实际情况注销某生的信息。 (7)根据实际情况插入某生的信息。 (8)将学生信息输出至文本文件中。 系统总体设计框架 1)算法设计 (1)利用switch语句设计如图所示的主菜单。 请输入选项编号 1——输入学生信息 2——修改学生信息 3——注销学生信息 4——查询学生信息 5——录 入 成 绩 6——修 改 成 绩 7—— 浏 览 8—— 输 出 0—— 退 出 图1 学生信息管理系统主菜单 (2)选择1后,调用录入函数student_new,进入录入函数后利用输入学生基本信息。 (3)选项2后,调用修改信息函数student_edit,先进入查找函数后查找到学生信息并进行修改。 (4)选择3后,调用查找函数student_del,查找某个学生的信息。 (5)选择4后,调用删除函数search_num,根据需要删除某个学生的信息。 (6)选择5后,调用浏览函数score_input,浏览所有学生的信息。 (7)选择6后,调用修改成绩函数score_edit,将每个学生的信息排序并全部输出。 (6)选择7后,调用浏览函数student_browser,浏览所有学生的信息。 (7)选择8后,调用输出函数save,将每个学生的信息全部输出。 (8)选择0后,退出学生信息管理系统。 (9)根据所选菜单编号编写相应代码。 排序菜单 输入选项编号 1——按学号排序 2——按语文分数查找 3——按高数分数查找 4——按外语分数查找 5——按总分查找 0——退 出 图3 排序子菜单 系统功能模块图及各功能模块的目的与意义 按学号查找显示欢迎界 面 按学号查找 显示欢迎界 面 主模块 主 模块 按姓名查找显示程序介 绍 按姓名查找 显示程序介 绍 按C语言不及格者查 找 按C语言不及格者查 找 按成绩查找输 入 按成绩查找 输 入 成 绩 按高数不及格者查 找按总分查找查 找 按高数不及格者查 找 按总分查找 查 找 排 序 按平均分查 找修改学生信 息 按平均分查 找 修改学生信 息 按英语不及格者查 找 按英语不及格者查 找 按前三名查 找 删除学生信 息 按前三名查 找 删除学生信 息 按不及格查 找 插入学生信 息 按不及格查 找 插入学生信 息 按不及格者查 找 按不及格者查 找 按学号排序 输出学生信 息 按学号排序 输出学生信 息 按全不及格者查 找按总分排序 显示结束界 面 按全不及格者查 找 按总分排序 显示结束界 面  详细设计 N-S流程图 主函数main( ) 主函数主要通过switch()循环语句,实现菜单界面的操作控制,并且发挥了界面友好,模块化等特点,追求语句简洁,调用简单函数,通俗易懂。但是,由于switch语句的局限性,因而在菜单操作过程中使用了goto语句,这与结构化程序设计理念相悖,也是主函数中的最大缺陷。 主函数的N-S流程图如下: 录入学生基本信息函数student_new( ) 在编写student_new( )函数时,主要设计思路就是通过判断语句进行递归嵌套,以此达到循环连续输入的效果,减少了操作复杂性。 录入学生基本信息函数N-S流程图如下: 当N32且学号为0时 当N32且学号为0时 输入32名学生基本信息 N=0 N++ 输入 输入S0 非0 重新执行成绩录入 0 退出 修改学生档案函数student_ed
显示全部
相似文档