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