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