1、1 信息学院 课程设计报告 课程名称_C 语言程序设计_ _ 题目名称 学生学籍管理系统 学生学院_ 信息学院_ _ _ 专业班级_ 计科 12 学 号 学生姓名 指导教师_ _ _ 2013 年 12 月 26 日 2 目录目录 一、一、 设计目的与要求设计目的与要求 3 3 1.1 1.1 题目与设计要求题目与设计要求 3 3 1.2 1.2 本程序设计的知识点本程序设计的知识点 4 4 二、二、 功能设计功能设计 4 4 2.1 2.1 总体设计总体设计 . . 4 4 2.2 2.2 详细设计详细设计 . . 5 5 4.1 4.1 测试测试结果及分析结果及分析 1212 五、五、 总
2、结总结 1414 六、参考文献六、参考文献 1414 3 一、一、 设计目的与要求设计目的与要求 1.1 1.1 题目与设计要求题目与设计要求 题目:学生学籍管理系统 目的:1、了解和熟悉 Visual C+软件编程开发环境 2、熟练掌握结构化程序设计的步骤和模块化设计方法 3、熟练掌握 C 语言数据类型,熟记字符型数据和整形数据的定义和使用 4、熟练掌握用 while 语句、dowhile 语句和 for 语句实现循环结构程序设计 的方法 5、掌握一维数组、二维数组的定义、赋值和输入输出的方法 6、掌握与数组有关的算法(特别是排序算法,熟练掌握冒泡排序法) 7、熟悉函数的定义、声明方法及全局
3、变量和局部变量的概念与用法,掌握函 数的调用方法 8、掌握结构体类型变量的定义和使用及结构体类型数组的概念和应用 设计要求:学生学籍信息管理系统设计 1、需求分析 学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件 的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实 现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择 菜单以实现功能选择。 2、总体设计 整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和 数据排序模块。 3、详细设计 设计学生基本信息和学生成绩基本信息结构体数组。 Struct int stuNo; /学号 char name20;
4、/姓名 char sex2; /性别 int domNum; /宿舍号 int tel; /电话号码 StuInfo; /学生基本信息结构体 Struct int stuNo; /学号 char courseNo; /课程编号 char courseName; /课程名称 int creditHour; /学分 Int triGrade; /平时成绩 Int experiGrade; /实验成绩 Int examGrade; /卷面成绩 4 Float totalGrade; /综合成绩 Float finalCreHour; /实得学分 StuGraInfo; /学生成绩基本信息结构体 (1
5、)数据录入模块:学生基本信息文件可以在磁盘建立,采用写文件方 式录入学生成绩基本信息。综合成绩和实得学分通过计算得到。 (2)查询模块:通过菜单选择查询功能,再选择学生基本情况查询和成 绩查询,若选择前者,再通过菜单选择学号、姓名或宿舍号码,按照基 本查找算法查找A.TXT, 然后把查找结果输出若选择后者, 则先在A.TXT 中查找学号对应的姓名,再在 B.TXT 中查找该学生的课程情况,并统计 科目和实得总学分,输出结果。 (3) 删除模块: 通过菜单选择删除学生的功能, 输入要删除学生的学号, 则分别在 A.TXT 和 B.TXT 中查找该生信息,删除之;或者输入学生的 姓名,先在 A.T
6、XT 中得到该生的学号,删除该生信息,再在 B.TXT 中 删除该学号对应的信息。注意:C 语言中没有直接删除信息的函数,需 要自己实现,可以采取读出数据,判断数据(如果不删除,则进入缓冲 区,否则删除) ,写入数据(把缓冲区中的数据写入文件)的步骤进行。 (4)排序模块:通过菜单选择排序依据,采用排序算法(冒泡、插入、选择 等)对数据进行排序并输出结果。 1.2 1.2 本程序设计的知识点本程序设计的知识点 陈述开发过程中用到的知识点,如结构体、数组、指针等。 二、二、 功能设计功能设计 2.1 2.1 总体设计总体设计 其中包含数据录入模块、查询模块、删除模块、排序模块四大功能功能模块 5 2.2 2.2 详细设计详细设计 显示主菜单 查 询 功 能 数 据 录 入 删 除 功 能 排 序 功 能 退 出 功 能 按 综 合 成 绩 排 序 按 实 得