文档介绍:上海交通大学
学籍管理系统
班级
计算机
小组成员
成员1 2008273150
成员2 2008273151
成员3 2008273152
指导教师
开发时间
2009年12月
一、系统简介
设计一个基于结构体数组的学生学籍管理系统,能实现对学生学籍信息进行录入、修改、删除、查询和输出等基本操作。
二、需求分析
学籍管理系统应实现以下功能:
1、能录入学生的基本信息,包括学号、姓名、专业、年级、性别和出生日期信息,保存到结构体数组中。
2、能根据输入的学号查找学生,进行信息的修改。
3、能根据输入的学号从结构体数组中删除学生的记录。
4、实现查询功能,能根据输入的学号或年级在屏幕上显示相应的学生信息。
5、能在屏幕上以列表的方式输出所有学生的信息。
三、概要设计
1、系统功能结构图
根据项目的开发要求,本系统划分成六个主功能模块:录入学生信息模块、修改学生信息模块、删除学生信息模块、查询信息模块、输出模块和系统退出模块。系统功能结构图如下:
2、重要数据的数据结构设计
学生学籍的记录项用结构体StuMessage 表示,包括6个属性,stuNo、name、spec、grade、sex、birthday 分别代表学生的学号、姓名、专业、年级、性别和出生日期,其中 birthday 类型为自定义的结构体类型 Date。
struct StuMessage
{
char stuNo[11]; //学号
char name[9]; //姓名
char spec[21]; //专业
int grade; //年级
char sex; //性别
struct Date birthday; //出生日期
};
日期类型 Date 包括三个属性,分别代表年、月、日。
struct Date
{
int year; //年
int month; //月
int day; //日
};
3、函数设计
学籍管理系统程序采用了结构化程序设计的思想,。程序中除了主函数外,共设计了以下14个函数,。以下是这些函数的函数原型及功能设计。
(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 StuMessage stu[]);
函数功能: 通过输入学号查询学生的相应记录信息,如果存在在屏幕上输出相应学生记录,用户确认删除后调用 DelList() 函数将其删除,否则输出没有找到相关记录。