1、 C 语言课程设计报告 设计题目:学生管理系统 专 业: 班 级: 姓 名: 学 号: 提交时间: 完成方式: (单选) 自我评分: (单选) 独立完成 优秀 参考他人工作的基础上完成 良好 在他人的帮助下完成 中等 完整拷贝他人成果 及格 不及格 设计任务:设计任务:C C 语言课程设计任务书语言课程设计任务书 5 5 题目:题目:学生管理系统设计 功能:功能:学生管理系统设计,每个学生是一条记录,包括姓名、学号、性别、出 生年月、专业、年级、班级、家庭住址、宿舍号码等。系统要求实现以下功能: 1、 输入功能:录入学生信息(包括学生学号、姓名、性别、出生年月、专业等) ; 2、 显示功能:完
2、成学生记录的显示; 3、 查找功能:完成按学号或姓名查找学生的相关记录,并显示。 分布实施:分布实施: 1、 初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、 建立一个文件,将每位学生的信息写入文件中(人数利用宏定义设定)并显 示与屏幕上; 3、 完成上述显示,查找(姓名、性别等) ,修改等功能; 4、 进一步要求,修改记录设置密码操作。 要求:要求: 1、 用 C 语言实现程序设计; 2、 利用结构体数组实现学生信息的数据结构设计; 3、 系统各个功能模块要求用函数的形式实现; 界面良好(良好的人机交互) ,程序必须加必要的注释。 课程设计实验报告要求:课程设计实验报告要求
3、: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法) 、模块 划分; 2、实验总报告:流程图、主要源程序代码(需打印) 、测试情况及调试中的问题 与解决方案、小结等。 一总体设计一总体设计 1.1.程序的总体设计程序的总体设计 本次课程设计, 主要通过main函数调用welcome( ),mainmenu( )和close( ) 函数实现。 在 mainmenu( )函数中, 又嵌套了五个函数模块, create( )、 search( )、 change( )、del( )、printall( ),分别实现新建学生信息、查找学生信息、修 改学生信息、显示所有信息的功能。在
4、search ( )中,又调用了 search_num( ) 和 search_name( )两个函数,分别代表用学号查找和用姓名查找两种查找方式。 另外,open( )函数用于获得文件的头指针,delay( )延时函数用于 welcome( ) 中界面的动态显示。 2.2.数据结构数据结构 本次课程设计中用到的数据结构类型是单链表,链表的结点储存学生的信 息,用结构体储存学生信息。 typedef struct student/定义结构体变量,用于储存学生的信息 char num12;/学号,最多输入 12 个字符; char name10;/姓名,最多输入 10 个字符(5 个汉字) ;
5、char sex4;/性别,最多输入 4 个字符(2 个汉字) ; char birthday12;/出生年月日,最多输入 12 个字符; char grade8;/年级,最多输入 8 个字符; char major20;/专业,最多输入 20 个字符; char tel15;/手机号码,最多输入 15 个字符; char wechat15;/微信号,最多输入 15 个字符; struct student *next;/用于存放链表下一个结点的地址,即下一个学生 信息的地址 student;/结构体类型为 student 型 3.3.函数原型声明的说明函数原型声明的说明 delay( )函数
6、输入参数:unsigned int 延长的时间 输出参数:无 返 回 值:无 功能描述:调用 delay( )函数实现延时效果,从而实现字符动态显示在界面中, 或字符在界面中停留一段时间再消失。 create( )函数 输入参数:无 输出参数:无 返 回 值:无 功能描述:调用 create( )函数,能够新建学生信息,并将新建的信息储存到一 个文件名为“学生管理系统信息.txt”的文本文件中。 open( )函数 输入参数:无 输出参数:student *fphead 返 回 值:fphead 即返回文件的链头指针 功能描述:打开文件,将文件“学生管理系统信息.txt”里面的数据载入链表, 并将链表的头指针 fphead 返回 search_num( )函数 输入参数:student *fphead 链头指针 输出参数:无 返 回 值:无 功能描述:按学号查找学生的信息并将信息打印于屏幕