




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈 阳 工 程 学 院课 程 设 计设计题目: c程序设计基础课程设计 -图书信息管理系统 沈 阳 工 程 学 院课程设计任务书 课程设计题目: 图书信息管理系统 一、课程设计的原始资料及依据目前,随着计算机技术的飞速发展,人工的图书管理显得十分的落后而且效率低下,尤其在查询方面效率低。为了适应现代化的环境,许多的管理事务都由电脑来管理,从而提高了管理的速率,效率。查阅有关资料,进一步理解程序设计模块化的思想,并利用此思想编写一个简单的图书信息管理系统。通过本设计可以加深理解利用程序设计思想开发一个系统的整个流程,提高分析问题、解决问题和实际动手的能力。二、课程设计主要内容及要求基本要求:(1
2、)试设计一图书信息管理系统,使之能提供以下功能:(2)系统以菜单方式工作v(3)图书信息录入功能(图书信息用文件保存)(4)图书信息浏览功能(5)查询和排序功能:(至少一种查询方式)l 按书名查询l 按作者名查询(6)图书信息的删除与修改v(7)图书信息在程序运行期间用链表表示,程序关闭则保存至文件。创新要求:(1)在基本要求达到后,可进行创新设计,如实现会员资料的查询、会员注销,对撤消图书信息的删除。(2)为借书人办理注册。(3)办理借书手续(非注册会员不能借书)。(4)办理还书手续等等。信息描述:图书信息包括:登录号、书名、图书编号、单价、作者名、分类号、出版单位、出版时间、价格等。借阅人
3、信息包括:借书人姓名、性别、学号等。三、对课程设计说明书撰写内容、格式、字数的要求1课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。一般不应少于3000字。2在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。3设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。4课程设计说明书手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书
4、写;打印时采用a4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。5课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献四、设计完成后应提交成果的种类、数量、质量等方面的要求1完成“任务书”中指定的功能,运行结果正确。2课程设计说明书。五、时间进度安排顺序阶段日期计 划 完 成 内 容备注1第1天阅读资料2第23天系统分析设计3第48天程序编制、调试及运行4第9天成绩评定5第10天撰写课程设计说明书六、主要参考资料(文献)1谭浩强.c程序设计(第三版).北
5、京: 清华大学出版社.20062陈天洲.c语言高级程序设计. 北京:人民邮电出版社.2002 3杨旭.c语言程序设计案例教程.北京: 人民邮电出版社.20054郭翠英.程序设计案例经典.中国水利电力出版社.20045谭浩强.程序设计基础.北京:清华大学出版社.20046王为青.c语言高级编程及实例剖析.北京:人民邮电出版社.2008.027徐慧.c语言实例解析精粹.北京:人民邮电出版社.2006.04 8周苏、金海溶. 程序设计案例经典.北京: 科学出版社.20009姚大鹏 栾好利 张翼英 等编著.c语言程序设计教程习题与上机实训指导.中国水利水电出版社.200510郑莉 董渊 张瑞丰 编着.
6、 c+语言程序设计(第3版). 北京:清华大学出版社.2006摘 要图书借阅管理系统产生的主要目的是解决一些实际问题,用来方便和准确的管理图书和会员的各项纪录,使得图书信息的管理既方便又完备。它的产生和发展给图书馆管理带来了巨大的便捷。计算机今后将会应用在各个领域,所以,完善的图书借阅管理程序是很有必要的。它在管理的过程中,对一些数据的存储和计算是相当方便,当然它的准确性很高几乎为无误。图书借阅管理程序的操作也是相当方便和快捷的,并且所用的人力也是相当少的。下面就此课题介绍一下图书借阅管理系统的功能:系统的设计我们主要分为八大块:图书添加、图书查询、图书删除、会员借书、会员还书、会员注册、会员
7、注销。会员借书,还书是按照会员的姓名来实现的,图书的查询,删除是运用比较函数来实现的。 在此系统中应用了结构体,动态链表,基本的指针运用,基本的循环语句,函数的调用,switch语句等来实现的。关键词 图书管理系统、图书添加、图书查询、图书删除、会员借书、会员还书、会员注册、会员注销目 录摘 要i第1章 绪 论1第2章 系统功能介绍32.1 功能介绍32.2 功能说明3第3章 详细设计53.1 界面设计53.2 图书添加功能设计53.3 图书查找功能设计73.4删除图书功能设计83.5会员借书功能设计83.6会员还书功能设计93.7会员注册功能设计113.8 会员注销功能设计12第4章 系统功
8、能实现154.1 图书管理系统主界面154.2 图书添加功能164.3 图书查找功能174.4 图书删除功能184.5 会员借书功能204.6 会员还书功能224.7 会员注册234.8会员注销23结 论26致 谢30参考文献31 第1章 绪 论c语言的发展:早期的操作系统等系统软件主要是用汇编语言编写的(包括 unix操作系 统在内)。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较 差。为了提高可读性和可移植性,最好改用高级语言,但一般的高级语言难以 实现汇编语言的某些功能,人们设想能否找到一种既具有一般高级语言特性 ,又具有低级语言特性的语言,集它们的优点于一身。于是,c语言就
9、在这种情况下应运而生了。c语言是国际上广泛流行的、很有发展前途的计算机高级语言。它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件。c语言是在b语言的基础上发展起来的,经过了1960年的algol60,1963年剑桥大学推出的cpl、bcpl,1970年贝尔实验室简化出的b语言,后衍变出的c语言经多次改进,它的突出优点最终引起人们的广泛关注,至此,c语言便很快风靡全世界,成为世界上应用最广泛的语言之一。c语言的特点:1.语言简洁、紧凑,使用方便、灵活。c语言一共只有32个关键字,9种控制语句,程序书写自由,它把高级语言的基本结构和语句与低级语言的实用性结合起来。程序比其他许多高
10、级语言简练,源程序短,而且可以象汇编语言一样对位、字节和地址进行操作。2.运算符丰富c的运算符包含的范围很广泛,共有种34个运算符。c语言把括号、赋值、强制类型转换等都作为运算符处理。从而运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。3. 数据结构丰富整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等数据类型。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。4c语法限制不太严格、程序设计自由度大对变量的类型使用比较灵活,某些类型数据可以通用;一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而c允许程序
11、编写者有较大的自由度,放宽了语法检查。5c语言允许直接访问物理地址,可以直接对硬件进行操作能实现汇编语言的大部分功能,可直接对硬件进行操作,可用来编写系统软件。6.生成代码质量高,程序执行效率高,可移植性好。一般只比汇编程序生成的目标代码效率低10%20%,与汇编语言相比,c程序基本上不做修改就能用于各种型号的计算机和各种操作系统。由于c语言的这些优点,使其应用面很广,许多大的软件都用c语言编写自20世纪九十年代初以来,我国学习和使用c语言的人越来越多,掌握次语言已成为计算机开发人员的一项基本功。第2章 系统功能介绍 2.1 功能介绍图书馆管理系统操作界面添加图书信息函数删除图书信息函数查询图
12、书信息函数会员注册信息函数借书记录信息函数归还记录信息函数会员注销信息函数图书管理包括以下功能:1. 图书添加功能;2. 图书信息查找功能;3. 图书信息删除功能;4. 会员借书功能;5. 会员还书功能;6. 会员注册功能;7. 会员注销功能; 2.2 功能说明 1图书添加功能是将图书信息存入文件夹中,其中图书信息包括图书名字、图书编号、图书作者、图书价格。2. 图书信息查找功能是将要查找的图书信息通过输入图书名字查找并从文件中提取出来显示。3图书信息删除功能是将无用的图书信息删除4会员借书功能,仅有会员才可以借书,借书之后还会标记该书已借出。5会员还书功能是会员借书之后将书还回并将图书状态改
13、为图书未借出。6会员注册是将会员信息存入文件夹中,会员信息包括会员姓名、会员性别、会员年龄。7会员注销功能是将该会员信息从文件中删除。第3章 详细设计 3.1 界面设计通过printf函数输出“1.添加图书 2.图书查询3.删除图书 4. 会员借书5. 会员还书6. 会员注册7.会员注销8.退出”,再通过scanf函数输入n,最后利用switch(n)函数执行标号为n 的程序。流程图如下图3.1所示 开 始利用printf函数输出8个功能分别为1.添加图书 2.图书查询3.删除图书 4. 会员借书5. 会员还书6. 会员注册7.会员注销8.退出利用scanf函数用键盘输入n结 束利用switc
14、h(n)函数执行标号为n 的程序n=8否图3.1 界面管理流程图3.2 图书添加功能设计添加图书功能,先输入会员姓名,如果不是会员,此系统为了使用更加方便快捷,要求您先注册会员,然后进行借书功能。当你已是会员时,输入会员姓名,再输入想要借阅的图书名称,就可以实现借阅图书这一功能,我运用了指针、数组、链表等基本操作完成了这一功能的操作。流程图如下图3.2所示开始定义指向文件的指针定义结构体以读取的方式打开文件文件为空以写的方式打开文件以追加的方式打开文件输入图书信息图书编号书名作者姓名图书价格否是结束图3.2 图书添加功能流程图3.3 图书查找功能设计查询功能:查询者在此功能界面输入所查询的图书
15、名称,系统自动按图书的名字进行查询,可以显示图书是否存在、以及图书的详细的信息;该功能的实现主要应用scanf函数实现查询者对查询图书名称的输入。if语句来判断所查询图书是否存在于源文件库中,若存在,则以查找的图书名称为指针,建立该指针到源文件库中的具体指向,最后应用printf函数输出所查询图书的详细信息;若不存在,则显示“该图书不存在”类似字样。流程图如下图3.3所示yyfp=null?strcmp(查询图书,文件中图书)=0?printf函数输出图书信息,i+结束、是否继续查找nyynfp=fopen,打开文件scanf函数输入图书名称开始yfeof(fp)?yn 图3.3图书查找功能流
16、程图3.4删除图书功能设计按书名进行删除。输入书名后,调用函数,在函数体里利用指针与每一个书名比较,如果相等就说明找到要删除的图书,用后一个覆盖前一个信息来删除图书信息,并用指针调整地址就完成图书信息的删除了。流程图如下图3.4所示开始打开文件判断文件为空读入信息输入要删除的图书名判断删除条件关闭文件输出未找到图书信息关闭文件判断为文件最后结点输出无此信息关闭文件是否是是否否删除图书图3.4 删除图书功能流程图3.5会员借书功能设计借阅图书功能首先要输入会员姓名,如果不是会员,此系统为了使用更加方便快捷,要求您先注册会员,然后进行借书功能。当你已是会员时,输入会员姓名,再输入想要借阅的图书名称
17、,就可以实现借阅图书这一功能。此功能的实现我运用了指针、数组、链表等基本操作完成了这项功能。流程图如下图3.5所示用scanf函数输入会员姓名用if语句判断是否是会员yn请注册用scanf函数输入图书名称用if语句判断此图书是否存在yn注册成功后用printf函数输出借书成功用printf函数输出此书已借出结束开始图3.5 会员借书流程图3.6会员还书功能设计归还图书功能:先要求输入图书名,如果还书成功显示还书成功,否则显示还书失败。我运用了指针、数组、链表等基本操作完成了这项功能的操作。流程图如下图3.6所示开始定义指向文件类型的指针*p定义指针类型新结点定义书名和会员名数组用if语句判断文
18、件是否为空用printf函数输出不能打开用printf函数输出键入书名返回主界面yn1用scanf函数输入书名1用if语句判断书名是否匹配用printf函数输出还书失败将图书信息写入文件用printf函数输出还书成功返回主界面结束ny图3.6 会员还书功能流程图3.7会员注册功能设计要求输入该会员的名字、性别、年龄进行注册,成功注册后就可在图书馆里借阅图书。会员注册可方便图书归还的管理,也方便图书管理人员对被借图书信息的管理及图书归要。在注册会员后即可进行借书的操作了,我们的系统是根据是否是会员来判断能否进行借书,并且借书时按图书的名字进行借阅。并且,如果成功借书,系统还会显示成功借书,使此项
19、操作更加简单明了。会员注册功能主要使用了scanf函数、结构体类型等在另一文件中建立个人信息。流程图如下图3.7所示 开 始读入指针类型结构体*pprintf“请注册会员”用scanf函数键盘输入会员信息姓名、性别、年龄结 束将会员信息写入文件中定义数组struct member member图3.7会员注册功能流程图3.8 会员注销功能设计会员注销时通过输入会员姓名在文件中查找到该会员信息后将其删除完成的,删除信息用到链表、指针。流程图如下图3.8所示开始if条件句判断fp是否为空将fp指向文件member.txt是输出未找到信息关闭文件否将文件放入链表并将指针head,p,q指向链表的头部
20、读链表当fp不为空时,将p赋值给q,并使p指向链表的头部将q的下一个结点作为当前结点当p的下一个结点为空时循环结束12定义指向文件的指针fp;定义数组struct consultmember member;定义指向struct consultmember的指针head,p,q1关闭文件输入会员姓名将head赋值给p从头部逐个读取,当输入名字和文件中名字相同时打开文件将链表中的数据写入文件中关闭文件结束2删除结点图3.8 会员注册流程图第4章 系统功能实现4.1 图书管理系统主界面 通过输入编号实现编号所指的程序。4.1.1 负责人:孟月4.1.2程序主函数源代码/* note:your cho
21、ice is c ide */#include #include dos.h#include conio.h#include stdlib.h#include math.h#include string.hint bookadd();int bookconsult();int bookdel();int bookborrow();int bookreturn();int memberadd();int memberdel();int bookshow();struct consultbook char num20; char name20; float price; char author20
22、; char person20; int yes; struct consultbook *next;struct consultmember char name20; char sex20; int age; struct consultmember *next;int main() int n; int i=1; for(; i;) printf(1:图书添加功能n); printf(2:图书查询功能n); printf(3:删除图书功能n); printf(4:会员借书功能n); printf(5:会员还书功能n); printf(6:会员注册功能n); printf(7:会员注销功能n
23、); printf(8:退出n); printf(请输入所要执行序号n); scanf(%d,&n); switch(n) case 1: bookadd(); break; case 2: bookconsult(); break; case 3: bookdel(); break; case 4: bookborrow(); break; case 5: bookreturn(); break; case 6: memberadd(); break; case 7: memberdel(); break; case 8: i=0; return 0;4.2 图书添加功能图书添加功能,通过此
24、功能实现向源文件中添加图书的有关信息,实现对后续功能的实现。4.2.1 负责人:李昊航4.2.2图书添加功能源代码 int bookadd()/*添加图书*/ file *fp; struct consultbook book; fp=fopen(book.txt,r);/*以读取的方式打开文件*/ if(fopen=null) fp=fopen(book.txt,w);/*以写的方式打开文件*/ else fclose(fp); fp=fopen(book.txt,ab);/*以追加方式打开文件*/ printf(请输入图书编号:n); scanf(%s, book.num); printf
25、(请输入书名:n); scanf(%s,b); printf(请输入作者姓名:n); scanf(%s, book.author); printf(请输入图书价格:n); scanf(%f,& book.price); book.yes=1;/*表示图书未出借*/ book.next=null; if(fwrite(&book,sizeof(struct consultmember),1,fp)!=1) printf(操作出现错误图书信息未保存n); else printf(图书信息已保存n); fclose(fp);/*关闭文件*/ return 1;4.3 图书查找功能图书
26、查找功能,通过此功能实现对图书价格等信息的查询,方便借书等功能的实现。4.3.1 负责人:张启明4.3.2图书管理功能源代码int bookconsult()/*图书查找*/ file *fp; struct consultbook book; char bookname20;/*定义书名变量*/ int flag=0,i=0; printf(请输入要查找的书名:n); scanf(%s,bookname); fp=fopen(book.txt,r); if(fp=null)/*没有找到文件*/ printf(未找到您所需要的书请核实是否有误重新查找); fclose(fp); return
27、-1; else while(!feof(fp)/*feof(fp)为测试文件是否结束的函数*/ fread(&book,sizeof(struct consultmember),1,fp);/*读取文件*/ if(strcmp(b,bookname)=0)/*两书名字相同*/ printf(图书名为:%sn,b); printf(图书编号为:%sn,book.num); printf(图书作者为:%sn,book.author); printf(图书作价格为:%fn,book.price); printf(图书状态为:%dn,book.yes); i+;/*i
28、为该书的数目*/ flag=1;/*查找数据标志*/ if(flag=0) printf(未找到您所需要的图书n); return -1; fclose(fp); return 1;4.4 图书删除功能由于c语言文件操作没有提供删除和移动的数据功能,所以删除记录采用了从文件中读出所有记录,删除后,再将记录写回文件的方式。从文件中读出记录,以单链表的形式保存,块读取方式,每读取一条记录,按其在文件中的顺序要做好指针链接关系,即将其链接到当前链表的尾部。然后从单链表中查找要删除的图书,如果找到,则从链表中删除该图书信息,所以删除图书资料的操作实质是单链表的删除操作,最后再将变动过的单链表逐条写到文
29、件中。4.4.1 负责人:王珩4.4.2图书删除功能源代码int bookdel()/*删除图书录*/ file *fp; struct consultbook book; struct consultbook *head; struct consultbook *p,*q; char bookname20; fp=fopen(book.txt,r);/*读方式打开文件*/ if(fp=null)/*没有找到文件*/ printf(未找到图书信息n); fclose(fp); return -1; head=p=q=(struct consultbook*)malloc(sizeof(stru
30、ct consultbook);/*开辟新的储存空间*/ fread(p,sizeof(struct consultbook),1,fp);/*读第一条信息*/ while(!feof(fp)/*feof(fp)为测试文件是否结束的函数*/ q=p; p=(struct consultbook*)malloc(sizeof(struct consultbook); fread(p,sizeof(book),1,fp);/*读记录*/ q-next=p;/*新记录插入到链表的尾*/ p-next=null;/*已为最后结点*/ fclose(fp); printf(请输入要删除图书的名:n);
31、scanf(%s,bookname); p=head; while(p!=null)/*按书名删除图书*/ if(strcmp(p-name,bookname)=0)/*找到药删除的书名*/ if(p=head)/*要删除的图书是第一个结点*/ head=head-next; else q-next=p-next;/*要删除的图书是第一个结点*/ break; q=p; p=p-next;/*指针后移*/ fp=fopen(book.txt,w);/*以写的方式打开文件*/ while(head!=null) fwrite(head,sizeof(book),1,fp);/*写文件*/ hea
32、d=head-next; fclose(fp); printf(删除成功!n); return 1;4.5 会员借书功能借阅图书功能:先输入会员姓名,如果不是会员,此系统为了使用更加方便快捷,要求您先注册会员,然后进行借书功能。当你已是会员时,输入会员姓名,再输入想要借阅的图书名称,就可以实现借阅图书这一功能。我运用了指针、数组、链表等基本操作完成了这项功能的操作。4.5.1负责人:赵磊4.5.2会员借书源代码int bookborrow()/*借书*/ file *fp; struct consultbook book; struct consultmember member; char b
33、ookname20,membername20; int flag=0,mflag=0; printf(请输入会员名字:n); scanf(%s,membername); if(fp=fopen(member.txt,r)=null)/*未找到文件*/ printf(无信息n); return -1; else while(!feof(fp)/*查找会员信息*/ fread(&member,sizeof(struct consultmember),1,fp); if(strcmp(m,membername)=0) mflag=1;/*会员标志*/ break; fclose(
34、fp); if(mflag=0) printf(您不是会员请先注册n); return -1; printf(请输入图书名:n); scanf(%s,bookname); if(fp=fopen(book.txt,r+)=null) printf(没有找到图书信息n); return -1; while(!feof(fp)/*查询图书资料*/ fread(&book,sizeof(struct consultbook),1,fp); if(strcmp(b,bookname)=0) if(book.yes=0)/*图书已借出*/ printf(此书已借出n); break; e
35、lse book.yes=0;/*做出借书标记*/ strcpy(book.person,m);/*登记借书会员*/ fseek(fp,sizeof(struct consultbook),1); fwrite(&book,sizeof(struct consultbook),1,fp); printf(借书成功n); flag=1; break; if(flag!=1) printf(借书失败n); fclose(fp); return 1;4.5.3注意借书采用会员制方式,即要借书首先要查询会员登记文件,不是会员,则提示先注册会员,如果是会员,查阅图书文件,如果找不到,
36、要先判断图书是否已先借出,如果没有借出,则可以借书,修改该图书的借书标志yes值,表示已借出,将变动后的数据写入文件,否则,如果没有此图书或图书已借出,本次借书失败。注意数据变动后的保存。因为借书只是更新数据的值,所以采用了直接在文件中查找图书的方法,每读一条纪录进行相应的比较,文件指针后以移一条记录,所以如果找到要借的图书,当前的文件指针则指到该记录的后面,所以要将该数据修改后重新写入,利用函数fseek将指针前移一条记录,回到正在修改的记录,然后将其写入。4.6 会员还书功能归还图书功能:先要求输入图书名,如果还书成功显示还书成功,否则显示还书失败。我运用了指针、数组、链表等基本操作完成了
37、这项功能的操作。4.6.1 负责人:赵磊4.6.2会员还书源代码int bookreturn()/*还书*/ file *fp; struct consultbook book; char bookname20; int flag=0; fp=fopen(book.txt,r); if(fp=null) printf(未找到文件n); return -1; printf(请输入图书名:n); scanf(%s,bookname); while(!feof(fp)/*查询图书资料*/ fread(&book,sizeof(struct consultbook),1,fp); if(strcmp(
38、b,bookname)=0) if(book.yes=0)/*图书已借出*/ book.yes=1;/*图书未借出*/ strcpy(book.person, ); fseek(fp,sizeof(struct consultbook),1); fwrite(&book,sizeof(struct consultbook),1,fp); printf(还书成功n); flag=1; break; if(flag!=1) printf(还书失败n); fclose(fp);4.6.3注意归还图书时,首先输入书名,然后从图书文件中查找书名相同的书,同时标志是已借出的书,将借书标志值
39、恢复为未借出书的标志值,然后将变动后的数据重新写入文件。4.7 会员注册会员注册要求输入该会员的名字、性别、年龄进行注册,成功注册后就可在图书馆里借阅图书。会员注册可方便图书归还的管理,也方便图书管理人员对被借图书信息的管理及图书归要。在注册会员后即可进行借书的操作了,我们的系统是根据是否是会员来判断能否进行借书,并且借书时按图书的名字进行借阅。并且,如果成功借书,系统还会显示成功借书,使此项操作更加简单明了。会员注册功能主要使用了scanf函数、结构体类型等在另一文件中建立个人信息。4.7.1负责人:孟月4.7.2会员注册源代码int memberadd() file *fp; struct
40、 consultmember member; fp=fopen(member.txt,r); if(fp=null)/*无会员记录*/ fp=fopen(member.txt,w); else/*有会员记录*/ fclose(fp); fp=fopen(member.txt,a);/*追加方式打开*/ printf(请输入会员姓名:n); scanf(%s,m); printf(请输入会员性别:n); scanf(%s,member.sex); printf(请输入会员年龄:n); scanf(%d,&member.age); fwrite(&member,sizeof(s
41、truct consultmember),1,fp);/*写入会员信息*/ fclose(fp); return 1;4.8会员注销会员注销功能,实现对退出会员制度人员信息的删除,借阅图书等功能将不对此人员开放。4.8.1 负责人:孟月4.8.2会员注销源代码int memberdel () file *fp; struct consultmember member; struct consultmember *head; struct consultmember *p,*q; char membername20; fp=fopen(member.txt,r); if(fp=null) pri
42、ntf(未找到信息); fclose(fp); return -1; head=p=q=(struct consultmember*)malloc(sizeof(struct consultmember);/*开辟一个新单元*/ fread(p,sizeof(member),1,fp);/*将文件放入链表*/ while(!feof(fp) q=p; p=(struct consultmember*)malloc(sizeof(struct consultmember); fread(p,sizeof(struct consultmember),1,fp);/*读记录*/ q-next =p;
43、 p-next=null; fclose(fp); printf(请输入会员名:n); scanf(%s,&membername); p=head; while(p!=null) if(strcmp(p-name,membername)=0); if(p=head) head=head-next; else q-next=p-next; break; q=p; p=p-next; fp=fopen(member.txt,w); while(head!=null) fwrite(head,sizeof(struct consultmember),1,fp); head=head-next; fc
44、lose(fp); return 1;结 论1. 运行程序,进入主界面,显示主菜单,运行结果如图5.1所示图5.1主界面菜单2.图书添加功能,输入图书有关信息,显示添加成功,运行结果如图5.2所示图5.2图书添加3按图书名称查找图书,输出查找结果,运行结果如图5.3所示图5.3 图示查询4 删除图书功能,输入图书名,对已录入图书及其信息进行删除,运行结果如图5.4所示图5.4删除5会员借书功能,实现已存在会员对图书的借阅情况录入,运行结果如图5.5所示图5.5会员借书6 会员还书功能,实现对所出图书归还信息的管理,运行结果如图5.6所示图5.6 会员还书7员注册功能,实现会员注册,方便图书管理
45、,运行结果如图5.7所示图5.7 会员注册8 会员注销功能,清除退出会员的人员信息,运行结果如图5.8所示图 5.8 会员注销紧张而又繁忙的课程设计实训周过去了,在这两个星期里,我们都体验到了从未有过的劳累与艰辛。本次的课程设计,使我们对c语言这门学科有了更深层次的认识我们克服了很多在程序设计上的难点,结尾更是让我体会到了冲出重围的幸福与喜悦。编写了几百行的代码最后写出一个程序觉得很有成就感。对c语言的掌握提高到了一个新的水平,能够利用c语言编写出一个实用的程序,这一过程很大程度提高了我们程序综合设计能力、分析能力和编程能力,积累了一些编程经验。编写类似图书管理系统的程序其中最重要的一个方面就是要认真,认真编写代码可以大大减少错误的出现;其次是要有耐心,勇于克服困难,迎难而上;再次是要有清晰的思维,能够理清各个函数之间的关系,明确各个函数的职能;最后还要注重同学之间的交流合作,参考书籍。通过对数据结构的课程设计,我了解并发现了很多调试程序的方法,而且懂得了如何处理错误的方法。小组成员的通力合作和大家的共同努力保证了课程设计每一步的顺利进行。至今我仍感慨颇多,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学影像数据的共享与隐私保护的平衡点探索
- 区块链助力教育管理实现数字化升级
- 买方回复销售合同范例
- 医疗设备维护与风险降低方案
- 医疗大数据助力精准疾病预测与防控
- bot水务合同范例
- 视网膜震荡与挫伤的临床护理
- 江苏省徐州市铜山区2024-2025学年高一下学期4月期中考试 化学 PDF版含答案
- 临时雇佣饭店合同范例
- 2024年天然气液化模块项目投资申请报告代可行性研究报告
- 2025-2030年国家甲级资质:中国干燥氯化铵融资商业计划书
- 2025-2030年中国再制造行业当前现状及未来趋势发展预测研究报告
- 2025-2030串番茄行业市场发展分析及前景趋势与投资研究报告
- 安徽省滁州市皖南八校2024-2025学年高一下学期4月期中化学试题(含答案)
- 数据资产的会计确认与计量研究
- 《寻找消失的分数》期中考试分析班会课件
- 合伙买房合同协议
- 北京市公园管理中心所属事业单位招聘笔试真题2024
- 浙江省绍兴市2025届高三下学期二模试题 数学 含解析
- 地球物理反演方法-全面剖析
- 2024年秋江苏开放大学计算机应用基础060019期末理论测试(综合测试在线答题) 参考答案
评论
0/150
提交评论