C语言程序设计学生信息管理系统.doc
文本预览下载声明
数据结构课程设计报告
姓名:
学号:
班级:
2015年6月8日
目录
第一章:实习内容
1.1实习内容简介………………………………………………………(2)
1.2程序代号说明………………………………………………………(3)
第二章:程序流程图
第三章:函数模块介绍
3.1读取文件、存储文件………………………………………………(6)
3.2 管理系统模块………………………………………………………(8)
3.3 恢复区系统模块……………………………………………………(12)
3.4 功能展示……………………………………………………………(12)
第四章:实习总结…………………………………………………………(16)
第五章:实习体会…………………………………………………………(17)
附录:
参考文献………………………………………………………………………(19)
源代码…………………………………………………………………………(19)
第一章:实习内容
1.1实习内容简介
题目:学生通讯录管理系统
要求:1.可实现信息的添加、删除,可按学号、姓名查询;
2.学生信息必须包含学号、姓名、学院、专业、籍贯。地址、电话号码;
3.必须有注释。
日期:2011年6月20日至27日,共8个半天。
地点:信息楼301
指导老师:曹雪莲
完成情况:
程序可完成信息的添加,可按学号、姓名分别查询;
程序可按姓名、学号分别删除,并在删除前显示删除学生的全部信息;按姓名删除,若出现同名情况,会依次出现系统提示是否删除,可选择删除或跳过;
在程序文件夹中有一“学生信息库”的txt文件,可查看学生系统里全部学生信息;
设置有一个恢复区系统,可输出、查询删除的信息,并在可同文件夹中“删除信息库”的txt文件中查看删除信息;
总体结构如下:
1.2程序代号说明
代号说明 结构体student 结构体stu 全局变量 num 学号 inf 学生信息,包含左结构体student全部信息 n 链表节点数量 name 姓名 next 本类型结构体指针 rhead 恢复区链表头指针 academy 学院 searchnum 目标个数 major 专业 province 省份 address phone 函数 add 增加 delet 删除(按姓名或学号) search 查找 search_num 搜索学号 search_name 搜索姓名 print 输出链表上信息 print1 输出链表上单个节点的信息 save 以二进制格式储存数据 txtsave 以文本格式储存数据 crete 从二进制文件中读取信息,建立链表 deletinput 将删除信息导入恢复区链表 system 管理系统主要程序 recover 恢复区系统主要程序 此外,局部变量的含义比较固定:
head 链表头指针,若与rhead一同出现则代表管理系统链表头指针 select、input 为选择的值 filename 文件名
第二章:程序流程图
程序流程图:
本次实习我的思路就是,先从二进制文件中读取信息,形成链表,对链表进行基本操作,如输出、添加、删除、查找。程序结束时将链表保存在二进制文件和文本文件中。
管理系统流程图:
运行管理系统部分时,先从文件“information.xls”中读取数据(若无该文件则创建文件),构建链表;后续操作都是对于链表进行操作,如添加、查找、删除、输出等;离开该部分时则保存链表里的信息到已存在的“information.xls”,并以ASCII形式存储至“学生信息库.txt”,方便检查。
恢复区系统流程图:
恢复区系统思路与管理系统思路类似,连函数调用都是一样的,二进制文件名为“dinformation.xls”,文本文件名为“删除信息库.txt”。
具体函数模块功能将在第三章中具体介绍。
第三章:函数模块介绍
程序分为管理系统和恢复区系统两部分和读取文件、存储文件四部分,以下分别介绍。
3.1读取文件、存储文件
读取文件
该函数模块(程序名为creat)于管理系统或恢复区系统运行前运行,目的是读取二进制文件信息,构建链表;若无目标文件,则创建文件。返回值为头指针。
函数主体为:struct stu *p1,*p2;
struct stu *head;
while(fread((p1-inf),LEN,1,fp))//读取数据
{
n=n+1;//若读取数据成功节点数加一
if(n==1) head=p1;//给头结点赋值
else p2-next=p
显示全部