c语言课程设计学生学籍管理系统论文
PAGE
PAGE 2
1. 课题的主要功能
1.1 需求分析.
程序的功能: 对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
输入输出的要求
1.2 功能要求
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
2、本系统显示这样的菜单:
请选择系统功能项:
学生基本信息录入
学生基本信息显示
学生基本信息保存
学生基本信息删除
学生基本信息修改(要求先输入密码)
学生基本信息查询
按学号查询
按姓名查询
按性别查询
按年龄查询
g. 退出系统
3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
进入系统之前要先输入密码
2. 概要设计
2.1 抽象数据类型定义
学生数据结构:
学生
{ 学号;
姓名;
性别;
年龄;
地址;
}
2.2 模块组成以及各个模块功能
程序的模块组成:
主函数 void main();
菜单选择函数 int menu_select()
输入记录函数 STUDENT enter()
显示记录函数 void print(STUDENT *head)
查找记录函数 void search(STUDENT *head)
删除记录函数 STUDENT *delete(STUDENT *head)
插入函数 STUDENT *insert(STUDENT *head)
保存数据到文件函数 void save(STUDENT *head)
从文件读数据函数 STUDENT *load()
2.3 各函数主要功能描述
菜单选择函数 int menu_select():这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的八大功能,根据每功能前面的序号进行选择,中间还显示系统当前的时间。等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现!
输入记录函数 STUDENT enter():这是一个无参函数,用来执行第学生基本信息的输入,当学生学号为@时停止输入,函数结束后,带回一个指向链表头的指针head。
显示记录函数 void print(STUDENT *head):这是一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩记录的输出,不足之处就是不能对学生成绩进行分页显示。
查找记录函数 void search(STUDENT *head):这是一个不返回值的有参函数,形参为“链表头的指针”,实现按姓名对某个学生进行查找,并显示所查找到的记录。
删除记录函数 STUDENT *delete(STUDENT *head):这是一个有参函数,形参为“链表头的指针”,先通过密码程序,即输入一个无回显示的字符串a[],如果输入的字符串与系统设定的字符串pass相同,就可以进入删除函数,否则返回菜单。进入删除函数后,输入要删除的学生记录的姓名,找到后显示该学生信息,等确认后便可按回车进行删除。
插入函数 STUDENT *insert(STUDENT *head):这是一个有参函数,形参有两个,一个是“链表头的指针”,一个是“待插入指针”,按照学号进行插入,并返回。
保存数据到文件函数 void save(STUDENT *head):这是一个不返回值的有参函数,形参为“链表头的指针”,可以把学生记录保存在电脑上由自己任意命名的二进制文件。
从文件读数据函数 STUDENT *load():这是一个不返回值的有参函数,形参为“链表头的指针”,根据输入的文件地址进行读取
3. 详细设计
3.1 C语言定义相关数据类型.
struct student
{
char num[13];
char name[20];
char sex;
char address[30];
int age;
};
3.2各模块的类C码算法
void TIANJIA(LB_2 l) /*增加学生信息的函数*/
{要输入的学生学号;
输入学生姓名;
输入学生的性别;
输入学生的年龄;
}
返回主菜单
void SHANCHU(LB_2 l) /*删除学生信息的函数*/
{
int sel;
LB_1 *p,*r;
char findmess[20];
if(!l->next) }
3.3 函数的调用关系图
1 main 函数的下属子功能函数及其调用示意图
menu_select()search()print()delete()
menu_select()
search()
print()
delete()
create()save()main()
create()