《程序设计综合训练(上)》任务书
第 1 页 共 15 页
课程设计
题目名称: 学生档案信息管理系统
姓 名
学 号
专 业
班 级
指导教师
编写日期
(正文部分)
一、需求分析
管理系统应该实现以下功能:
《程序设计综合训练(上)》任务书
第 2 页 共 15 页
1、能录入学生的基本信息,包括学号,姓名,性别,年龄 ,电
话和出生日期信息,保存到结构体数组中。
2、能根据输入的学号查询学生,进行信息的修改。
3、能根据输入的学号从结构体数组中删除学生的记录。
4、实现查询功能,能根据输入的学号或年级在屏幕上显示相应的
学生信息。
5、能在屏幕上以列表的方式输出所有学生的信息。
二、总体设计
根据项目的开发要求,本系统划分成六个主要功能模块:录入学
生信息模块、修改学生信息模块、删除学生信息模块、查询学生
信息模块、输出模块和推出模块。系统功能机构图如下:
学生档案管理系统
输
出
学
生
信
息
查
询
学
生
信
息
系
统
退
出
系
统
删
除
学
生
信
息
修
改
学
生
信
息
录
入
学
生
信
息
《程序设计综合训练(上)》任务书
第 3 页 共 15 页
三、详细设计
1、重要数据的数据结构设计
学生学籍的记录项用结构体 Stu message 表示,包括 6 个属性,
stuno,name、spec、grade、sex、birthday 分别代表学生的学号、专
业、年级、性别和出生日期,其中 birthday 类型为自定义的结构体
类型 Date.
Struct stumessage
{
Char stuno[11]: //学号
Char name[9]: //姓名
Char spec[2]: //专业
Char grade: //年级
Char sex: //性别
Stuct date birthday: //出生日期
};
日期类型 date 包括三个属性,分别代表年、月、日。
Struct date
{int year : //年
按
学
号
查
询
按
班
级
查
询
《程序设计综合训练(上)》任务书
第 4 页 共 15 页
Int month: //月
Int day: //日
};
2、函数设计
学籍管理系统程序采用了结构化程序设计的思想,由 1 个.h 头文
件和 3 个 C 源文件组成。程序中除了主函数外,共设计了以下 14
个函数,分别包含在 3 个.c 源文件中。以下是这些函数原型及功
能设计。
(1)void sysinfo(void)
函数功能:在屏幕上输入系统及版权信息并等待用户响应。
(2)Void menuofmain(struct stumessage stu[]);
函数功能:在屏幕上显示主菜单,接收用户选择并响应用户相应
操作。
(3)Void append(struct stumessage stu[]);
函数功能:录入一条学生记录数组的末尾。
(4)void modify(struct stumessage stu[])
函数功能:通过输入学号查询学生相关信息,如果存在在屏幕上
输出相应学生记录并通过重新输入学生信息的方法修改该学生的
记录,否则输出没有找到相关记录。;
(5)void Delet(struct stu Message stu[])
函数功能:通过输入学号查询学生的相应记录信息,如果存在在
屏幕上输出相应学生记录,用户确认删除后用 DelList()否则输出
《程序设计综合训练(上)》任务书
第 5 页 共 15 页
没有找到相关记录。
(6)Void menuOfsear(struct stumessage stu[]);
函数功能:在屏幕上显示查询了主菜单,接受用户选择并响应用户
操作。
(7)void listall(struct stumessage stu[]);
函数功能:在屏幕上以列表的方式输出学生所有信息。调用
printhead()输出表头,在调用 listone()函数注意输出个条记录。
(8)void quit(void);
函数功能:退出菜单系统,并调用 exit(0)系统函数结束程序运行。
(9)void stear num(struct stumessage stu[]);
函数功能:通过输入学号调用 numofsear()函数查询学生的相应
的记录信息,如果存在调用 printhead()函数和 listone()函数
在屏幕上输出相应学生记录,否则输出没有找到相关记录。
(10)voidsteargrade(stuct stumessage stu[]);
函数功能:通过输入年级查询学生的相关记录信息,如果存在在
屏幕以列表方式输出相应学生记录,并输出统计满足条件的学生
个数,否则输出没有找到相关记录。
(11)int numofsear(struct stumessage stu[].char stunumber[]);
函数功能:根据接收到的学生学号,在相应记录数组中进行查询,
如果存在相应记录,返加相应的数组下标,否则返回-1.
(12)void printhead(void)
函数功能:在屏幕上显示输出列表的表头。