c语言大作业-课程设计报告

上传人:第*** 文档编号:55633202 上传时间:2018-10-03 格式:DOC 页数:47 大小:1.04MB
返回 下载 相关 举报
c语言大作业-课程设计报告_第1页
第1页 / 共47页
c语言大作业-课程设计报告_第2页
第2页 / 共47页
c语言大作业-课程设计报告_第3页
第3页 / 共47页
c语言大作业-课程设计报告_第4页
第4页 / 共47页
c语言大作业-课程设计报告_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《c语言大作业-课程设计报告》由会员分享,可在线阅读,更多相关《c语言大作业-课程设计报告(47页珍藏版)》请在金锄头文库上搜索。

1、华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 C 语言课程设计报告设计题目:学生管理系统专 业: 班 级: 姓 名: 学 号:提交时间: 完成方式:(单选)自我评分:(单选)独立完成 优秀参考他人工作的基础上完成 良好在他人的帮助下完成 中等完整拷贝他人成果 及格 不及格华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 设计任务:设计任务:C C 语言课程设计任务书语言课程设计任务书 5 5题目:题目:学生管理系统设计功能:功能:学生管理系统设计,每个学生是一条记录,包括姓名、学号、性别、出生年月、

2、专业、年级、班级、家庭住址、宿舍号码等。系统要求实现以下功能:1、 输入功能:录入学生信息(包括学生学号、姓名、性别、出生年月、专业等) ;2、 显示功能:完成学生记录的显示;3、 查找功能:完成按学号或姓名查找学生的相关记录,并显示。分布实施:分布实施:1、 初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;2、 建立一个文件,将每位学生的信息写入文件中(人数利用宏定义设定)并显示与屏幕上;3、 完成上述显示,查找(姓名、性别等) ,修改等功能;4、 进一步要求,修改记录设置密码操作。要求:要求:1、 用 C 语言实现程序设计;2、 利用结构体数组实现学生信息的数据结构设计;3、

3、系统各个功能模块要求用函数的形式实现;界面良好(良好的人机交互) ,程序必须加必要的注释。课程设计实验报告要求:课程设计实验报告要求:1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法) 、模块划分;2、实验总报告:流程图、主要源程序代码(需打印) 、测试情况及调试中的问华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 题与解决方案、小结等。一总体设计一总体设计1.1.程序的总体设计程序的总体设计本次课程设计,主要通过 main 函数调用 welcome( ),mainmenu( )和close( )函数实现。在 mainmenu(

4、)函数中,又嵌套了五个函数模块,create( )、search( )、change( )、del( )、printall( ),分别实现新建学生信息、查找学生信息、修改学生信息、显示所有信息的功能。在 search ( )中,又调用了search_num( )和 search_name( )两个函数,分别代表用学号查找和用姓名查找两种查找方式。另外,open( )函数用于获得文件的头指针,delay( )延时函数用于 welcome( )中界面的动态显示。2.2.数据结构数据结构本次课程设计中用到的数据结构类型是单链表,链表的结点储存学生的信息,用结构体储存学生信息。typedef stru

5、ct student/定义结构体变量,用于储存学生的信息char num12;/学号,最多输入 12 个字符;char name10;/姓名,最多输入 10 个字符(5 个汉字) ;char sex4;/性别,最多输入 4 个字符(2 个汉字) ;char birthday12;/出生年月日,最多输入 12 个字符;char grade8;/年级,最多输入 8 个字符;char major20;/专业,最多输入 20 个字符;char tel15;/手机号码,最多输入 15 个字符;char wechat15;/微信号,最多输入 15 个字符;struct student *next;/用于存

6、放链表下一个结点的地址,即下一个学生信息的地址 student;/结构体类型为 student 型3.3.函数原型声明的说明函数原型声明的说明华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 delay( )函数输入参数:unsigned int 延长的时间输出参数:无返 回 值:无功能描述:调用 delay( )函数实现延时效果,从而实现字符动态显示在界面中,或字符在界面中停留一段时间再消失。create( )函数输入参数:无输出参数:无返 回 值:无功能描述:调用 create( )函数,能够新建学生信息,并将新建的信息储存到一个文件名为“学生

7、管理系统信息.txt”的文本文件中。open( )函数输入参数:无输出参数:student *fphead返 回 值:fphead 即返回文件的链头指针功能描述:打开文件,将文件“学生管理系统信息.txt”里面的数据载入链表,并将链表的头指针 fphead 返回search_num( )函数输入参数:student *fphead 链头指针输出参数:无返 回 值:无功能描述:按学号查找学生的信息并将信息打印于屏幕search_name( )函数输入参数:student *fphead 链头指针输出参数:无返 回 值:无功能描述:按姓名查找学生信息并将信息打印于屏幕search( )函数华南理工

8、大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 输入参数:无输出参数:无返 回 值:无功能描述:提供学号和姓名两种查询方式给用户选择,若选择按学号查询,则调用 search_num( )函数;若选择按姓名查询,则调用 search_name( )函数change ( ) 函数输入参数:student *fphead 链头指针输出参数:无返 回 值:无功能描述:输入原来修改的密码方可执行此操作输入要修改的姓名,学生信息会打印在屏幕并提供 8 种选择,输入数字可以做相应信息的修改,并将修改的新信息替换原来的信息储存到文本文件“学生管理系统信息.txt”中de

9、l( )函数输入参数:无输出参数:无返 回 值:无功能描述:输入某个学生的名字将参数该学生的信息并显示删除成功printall( )函数输入参数:无输出参数:无返 回 值:无功能描述:将所有学生的信息以表格的形式打印到屏幕上welcome( )函数输入参数:无输出函数:无返 回 值:无功能描述:登录界面将“welcome”以不同颜色显示,随后显示开发者信息并要求输入学号、输入密码以及修改密码close( )函数华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 输入参数:无输出参数:无返 回 值:无功能描述:退出学生管理系统mainmenu( )函数

10、输入参数:无输出参数:无返 回 值:无功能实现:显示主菜单,并根据用户的选择调用以上不同的函数模块以实现新建学生信息、查询学生信息、修改学生信息、删除学生信息、显示所有信息、退出管理系统等不同的功能,是整个学生管理系统 的核心部分以下是调用到的库函数以下是调用到的库函数getch( )输入参数:无输出参数:char 字符类型返 回 值:char 字符类型功能描述:有键盘输入一个字符fopen( )函数输入参数:文件名,使用文件方式输出参数:FILE *fp 文件的地址返 回 值:FILE *fp 文件的地址功能实现:使用文件方式为 wb,则以只写的方式打开文件,若文件不存在,则建立一个新文件;

11、使用文件方式为 ab,则以追加的方式打开文件,即向文件的末尾添加数据,若文件不存在,则出错fwrite( )函数输入参数:student *p, sizeof(student),int ,FILE*fp输出函数:无返 回 值:无华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 功能描述:向指定文件写一个数据块,将新建的信息写入到指定文件中fclose( )函数输入参数:FILE *fp 文件地址输出函数:无返 回 值:无功能描述:把 fp 指定的文件关闭,再次调用 fopen 函数之前 fp 不再指向该文件feof( )函数输入参数:FIEL *f

12、p 输出参数:真值 0 或 1返 回 值:真值 0 或 1功能描述:检查到文件读写位置标志是否移动到文件末尾,即磁盘文件是否结束fread( )函数输入参数:student *p, sizeof(student),int , FILE*fp输出参数:无返 回 值:无功能描述:从指定文件中读一个数据块strcmp( )函数输入参数:两个字符数组输出参数:真值 0 或 1 返 回 值:真值 0 或 1功能描述:若两个字符串一样,返回真值 1;若不同,返回真值 0GetStdHandle( )函数输入参数:STD_OUTPUT_HANDLE输出参数:HANDLE handle返 回 值:HANDLE

13、 handle功能描述:获取控制台句柄SetConsoleTextAttribute( )函数华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 输入参数:HANDLE handle,FOREGROUND_颜色输出函数:无返 回 值:无功能描述:改变字体颜色4.4.流程图流程图主流程图主流程图退出系统界面退出系统界面学生管理系统主菜单新 建 信 息 模 块查 询 信 息 模 块修 改 信 息 模 块删 除 信 息 模 块显 示 信 息 模 块退 出 系 统 模 块按学号查询按姓名查询登录界面登录界面华南理工大学 电子与信息学院 罗静慈 2013302

14、52163 2014 年 5 月 31 日 二详细设计二详细设计1 1各个模块的流程图各个模块的流程图新建信息模块新建信息模块否是开始按输入数据数据数据是否继续 输入将数据写进文本按任何键回主菜单华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 查询信息模块查询信息模块开始输入要查询的方式读取数据输出“还未建立信息”文件不存在是否找到 信息是否找到 信息输出数据输出数据是是否否无此信息无此信息按任何键回主菜单文件存在输入要查询的姓名华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 修改信息模块修改信息模

15、块文件存在文件存在是否继续修改信息开始读取数据输出“还未建立信息”输入要修改的姓名是否找 到信息否无此信息 打印信息是输入数据将数据写进文 本,并输出 “修改成功”按任何键回主菜单文件不存在华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 是否删除信息模块删除信息模块是开始读取数据文件不存在输出“还未建立信息”文件存在输入要删除的姓名是否找到 信息否无此信息删除数据输出“删除 成功”按任何键回主菜单华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 显示信息模块显示信息模块开始读取数据输出“还未建立信息”

16、文件存在文件不存在打印数据按任何键回主菜单华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 退出系统模块退出系统模块2.2.全局变量的说明全局变量的说明本次课程设计中定义了全局变量 unsigned int Num,Code 在 welcome( )函数中用到这两个变量,在 change( )函数中修改信息的时候也用到输入密码,因此定义了全局变量3.3.宏定义说明宏定义说明本次课程设计中用到的宏定义有#define LEN sizeof(student)/宏定义 LEN 为结构体的大小以便对 student 类型的长度的引用开始是否退出 系统否 返回主菜单延迟 2 秒后退出程序华南理工大学 电子与信息学院 罗静慈 201330252163 2014 年 5 月 31 日 三测试

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号