C++语言程序设计课程设计报告图书借阅管理系统

合集下载

C语言程序课程设计图书管理系统方案

C语言程序课程设计图书管理系统方案

C语言程序课程设计报告标题:图书管理系统专业:软件工程类:设计主题图书馆管理系统主要包括管理图书的库存信息,每本书的借阅信息,每个人的借阅信息。

每本书的库存信息包括数量、书名、作者、出版日期、金额、类别、总入库数量、当前库存、已借出图书数量等。

每本借书包括以下信息:编号、书名、金额、借书证号、借阅日期、到期日期、罚款金额等。

每个人的图书馆信息包括借书证号、班级、学号等。

该系统的功能包括以下几个方面:一、借阅资料管理要求对图书、期刊、报纸、期刊进行分类管理,这样操作会更加灵活方便。

可以随时添加、删除、修改、查询等相关资料。

b、借贷管理(1)借贷操作(2)还书操作(3)更新治疗提示:以上处理需要相互配合,通过编辑赔偿和违约金金额来完成图书借还业务的各种登记。

例如,读者在还书时,不仅要更新图书的库存信息,还要自动计算图书的罚款金额。

并显示读者当天到期未还图书的所有信息。

c、读者管理读者等级:对借阅的读者进行分类,比如可以分为教师和学生两类。

并定义每类读者可以借阅的图书数量及相关借阅时间等信息。

读者管理:可以录入读者信息,以及挂失或注销读者、查询等服务。

D.统计分析可以随时进行统计分析,及时了解当前的借阅情况和相关数据状态。

统计分析包括借阅列表、数据状态统计、借阅统计等功能分析,显示当日所有到期未还的图书信息。

e系统参数设置:您可以设置相关的系统服务器参数,如违约金金额、最大借用天数等。

根据题目分析这项工作分为六个模块。

1.图书数据2.借款人信息3.借用模块4.还书模块5.照看书籍6.查询模块模块一:书号,书名,作者,出版时间,价格,份数,页数。

模块二:单位、借阅书目、借阅时间模块3:输入书名、书号、借书证。

模块四:登记书号,还书,处理罚款。

模块5:管理书库中的书籍,将新书入库,删除旧书,堆栈查询模块6:图书查询。

数据测试源代码汉字菜单可以参照以下代码编写:#包含“stdio.h”。

主(){ char c;int I;做{clr SCR();for(I = 0;i < 80i++)printf(" * ");printf("\t 1:添加书籍\ n ");printf("\t 2:列出书籍\ n ");printf(" \ t 3:s reach books \ n ");printf("\t 4:借书\ n ");printf("\t 5:返回图书\ n ");printf("\t6:退出\n ")printf(" \ t请选择输入选项[1 \ \ 2 \ \ 3 \ \ 4 \ \ 5 \ \ 6]:\ n ");做{c = getchar();}while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&!='6');getchar();开关(c){事例“1”:输入();打破;案例“2”:del();打破;事例“3”:find();打破;case“4”:arrange();打破;事例“5”:right();打破;案例“6”:出口(0);}Printf("按任意键返回主菜单:\ n ");getchar();clr SCR();} while(1);}#include <stdio.h >定义图书结构*/结构书{int _ id#include <stdlib.h >#include <string.h >#定义借入1#定义NOBORROW 0/*//数字,唯一char _ name[32];//书的名称,不唯一int _ type//书的类型,不唯一int _ status//书的状态,借出/未借出int _ count//图书借出的次数struct Book * _ next//下一本书结构书* _ prev//前一本书};定义书籍类型*/操作目录提示*/操作目录提示1 */添加图书类型并显示用户信息*/添加图书状态并显示用户信息。

图书借阅管理c语言课程设计

图书借阅管理c语言课程设计

图书借阅管理c语言课程设计一、教学目标本课程旨在通过图书借阅管理系统的C语言课程设计,让学生掌握C语言的基本语法、数据结构、算法以及文件操作等知识,培养学生运用C语言解决实际问题的能力。

具体目标如下:1.掌握C语言的基本语法和关键字。

2.理解并掌握数组、字符串、指针、动态内存分配等数据结构。

3.学会使用结构体和联合体处理复杂数据。

4.掌握基本的算法和排序技巧。

5.学会文件操作,包括文件的打开、读写、关闭等。

6.能够编写简单的C语言程序,进行基本的输入输出操作。

7.能够使用C语言进行数据处理和分析。

8.能够运用C语言实现图书借阅管理系统的基本功能。

9.能够对程序进行调试和优化。

情感态度价值观目标:1.培养学生的团队合作意识和沟通能力,通过小组合作完成项目。

2.培养学生的创新思维和问题解决能力,能够独立思考并提出改进意见。

3.培养学生的自主学习能力,鼓励学生在课外进行相关知识的探索和学习。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和文件操作等方面。

具体安排如下:1.C语言基本语法:介绍C语言的基本结构和组成,包括变量、常量、运算符、表达式等。

2.数据结构:数组、字符串、指针、结构体和联合体等,以及它们在图书借阅管理中的应用。

3.算法:介绍基本的排序和搜索算法,如冒泡排序、选择排序、插入排序等,以及在图书借阅管理中的实现。

4.文件操作:文件的打开、读写、关闭等操作,以及在图书借阅管理中的应用。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过讲解C语言的基本语法、数据结构、算法和文件操作等内容,使学生掌握相关知识。

2.讨论法:学生进行小组讨论,分享学习心得和解决问题的方法,培养学生的团队合作意识和沟通能力。

3.案例分析法:通过分析具体的图书借阅管理案例,使学生了解并掌握C语言在实际中的应用。

4.实验法:安排实验课,让学生动手编写和调试程序,提高学生的实践能力和问题解决能力。

c语言课程设计报告图书管理系统

c语言课程设计报告图书管理系统

c语言课程设计报告图书管理系统一、教学目标本课程的教学目标是使学生掌握C语言的基本语法和编程方法,能够运用C语言设计简单的图书管理系统。

具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,理解图书管理系统的原理和设计方法。

2.技能目标:学生能够运用C语言编写程序,实现图书的增删改查等基本功能,熟练使用调试工具,能够发现并修复程序中的错误。

3.情感态度价值观目标:培养学生对编程语言的兴趣,提高学生解决问题的能力,培养学生的团队合作意识和创新精神。

二、教学内容教学内容主要包括C语言的基本语法和编程方法,以及图书管理系统的设计和实现。

具体安排如下:1.C语言的基本语法:数据类型、运算符、控制结构、函数等。

2.图书管理系统的设计:系统需求分析、系统模块设计、系统测试等。

3.图书管理系统的实现:图书信息的增删改查功能的实现,系统界面的设计等。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。

1.讲授法:通过讲解C语言的基本语法和编程方法,使学生掌握基础知识。

2.案例分析法:通过分析实际的图书管理系统案例,使学生理解图书管理系统的原理和设计方法。

3.实验法:通过编写程序,实现图书的增删改查等基本功能,使学生掌握编程技巧。

四、教学资源教学资源包括教材、参考书、多媒体资料和实验设备等。

1.教材:选用权威、实用的C语言教材,为学生提供全面、系统的知识体系。

2.参考书:提供相关的编程实践书籍,帮助学生提高编程能力。

3.多媒体资料:制作精美的PPT,为学生提供直观、生动的学习资源。

4.实验设备:提供计算机实验室,让学生进行编程实践,提高实际操作能力。

五、教学评估教学评估是检验学生学习成果的重要手段,主要包括平时表现、作业和考试三个部分。

1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和积极性。

2.作业:布置适量的编程作业,评估学生的编程能力和对知识的掌握程度。

C语言程序设计报告-图书管理系统【范本模板】

C语言程序设计报告-图书管理系统【范本模板】

南京航空航天大学金城学院《C语言程序设计》课程设计报告图书信息管理系统学号:姓名:学号:姓名:日期:目录一、需求分析: (3)二、程序的主要功能: (3)三、程序运行平台: (3)四、系统总框架图: (6)五、程序类的说明:………………………………………………。

6六、模块分析: (8)七、比较有特色的函数: (9)八、存在的不足与编程体会 (10)九、程序源代码: (10)一、需求分析设计与分析一个图书信息管理系统,能够对图书的根据书名、价格或出版社进行统计、处理和更新,并且可以方便学校老师和领导对图书进行整体分析。

二、程序的主要功能➢图书信息界面美观、简洁,采用菜单式显示功能选择;➢能够从磁盘文件输入和输出数据;➢能够对图书信息进行检索操作;➢具有增、删、改信息的功能;➢使用结构体链表数据类型对图书信息进行描述和存储。

三、程序运行平台VC6。

0运行程序“library。

exe”,进入登录界面如下************ 欢迎光临********************************图书信息管理系统************************============1-用户登录=======================0-退出系统===========请输入您的选择:一、输入1进行登录-——-—-----————--——*图书信息管理系统*———--————-—-—----—********************************************************************************************|| 1-添加图书2-删除图书|||| 3-图书列表4-图书排序||||5—查询图书6—修改图书|||| 7-录入数据0-退出系统||********************************************************************************************请输入所选择的序号:选择1进入添加图书模块:请输入您要添加的图书的编号:选择2进入删除图书信息模块:请输入要删除的图书编号:选择3进入显示图书列表模块图书信息列表如下==========================================================编号图书名作者名出版社类别出版时间价格2 2 2 2 2 2 2.003 3 3 3 3 3 3.0033 15 5 2 5 52 5。

c语言课程设计报告图书管理系统

c语言课程设计报告图书管理系统

c语言课程设计报告图书管理系统一、教学目标本课程的目标是使学生掌握C语言的基本语法,熟悉图书管理系统的开发流程,培养学生运用C语言解决实际问题的能力。

具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。

–理解图书管理系统的需求和设计原理。

2.技能目标:–能够使用C语言编写简单的程序。

–学会使用C语言实现图书管理系统的功能。

3.情感态度价值观目标:–培养学生的团队协作意识和沟通能力。

–增强学生对计算机科学和编程的兴趣和热情。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构以及图书管理系统的开发。

具体安排如下:1.C语言的基本语法:–变量和数据类型–运算符和表达式–函数和数组–指针和引用2.数据结构:3.图书管理系统的开发:–系统测试和优化三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。

具体方法如下:1.讲授法:用于讲解C语言的基本语法和数据结构。

2.案例分析法:通过分析具体的图书管理系统案例,使学生更好地理解系统设计和功能实现。

3.实验法:让学生动手编写程序,巩固所学知识,提高实际操作能力。

4.小组讨论法:鼓励学生分组讨论,培养团队协作意识和沟通能力。

四、教学资源本课程所需的教学资源包括:1.教材:《C语言程序设计》2.参考书:《C Primer Plus》、《数据结构与算法分析》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络设备以上教学资源将用于支持教学内容和教学方法的实施,丰富学生的学习体验。

五、教学评估本课程的评估方式包括平时表现、作业、考试等。

评估方式应客观、公正,能够全面反映学生的学习成果。

具体安排如下:1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总评的20%。

2.作业:包括编程练习和理论作业,占总评的30%。

3.考试:包括期中和期末考试,占总评的50%。

期中和期末考试将涵盖C语言基本语法、数据结构以及图书管理系统的开发内容。

C语言图书管理系统程序设计报告

C语言图书管理系统程序设计报告

目录一、设计任务书 (3)二、本组课题及本人任务 (3)三、程序功能简介 (4)四、主体内容 (4)1.设计分析 (4)2.程序结构 (5)3.各模块的功能及程序说明 (5)4. 源程序 (6)5.操作方法 (17)6.试验结果 (18)7.设计体会 (22)五、附录 (23)1.流程图 (23)2.过程列表 (26)一、设计任务书1.目的1)复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握。

2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。

提高学生适应实际,实践编程的能力。

3)培养学生在项目开发中团队合作精神、创新意识及能力。

2.要求:1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理。

2)系统设计要实用,编程简练,可用,功能全面。

3)说明书、流程图要清楚。

4)记录设计情况(备查,也为编写设计说明书作好准备)。

5)要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。

6)设计上交内容:设计报告一份(按格式书写);源程序一份,能编译成可执行文件并能正常运行。

二、本组课题及本人任务课题:图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。

试设计一图书信息管理系统,使之能提供以下功能:1.系统以菜单方式工作。

2.图书信息录入功能(图书信息用文件保存)--输入。

3.图书信息浏览功能--输出。

4.查询和排序功能:(至少一种查询方式)--算法。

a. 按书名查。

b.按作者名查询。

本人任务:负责设计和编写图书信息管理系统的修改图书信息部分。

三、程序功能简介本系统是以visual C++ 6.0 环境下用C语言开发的一个图书管理系统。

本系统具有图书信息录入、浏览、删除、修改、查找(包括按书名、作者查找)功能。

图书借阅管理系统c课程设计

图书借阅管理系统c课程设计

图书借阅管理系统c 课程设计一、教学目标本课程的目标是使学生掌握图书借阅管理系统的基本原理和实际应用,培养学生具备相应的编程能力和实际操作能力。

在知识目标方面,学生需要了解图书借阅管理系统的相关概念、原理和架构,掌握C语言的基本语法和编程方法。

在技能目标方面,学生需要能够运用C语言独立编写图书借阅管理系统的相关模块,并具备一定的调试和优化能力。

在情感态度价值观目标方面,学生需要培养对编程和计算机科学的兴趣和热情,增强团队合作意识和解决问题的能力。

二、教学内容本课程的教学内容主要包括以下几个部分:第一部分是C语言基础知识,包括数据类型、运算符、控制结构等;第二部分是函数和数组,包括函数的定义和调用、数组的操作等;第三部分是图书借阅管理系统的设计和实现,包括系统需求分析、系统架构设计、模块划分和编程实现等。

具体到教材的章节,我们将从第一章C语言基础知识开始,然后依次讲解第二章函数和数组、第三章图书借阅管理系统的设计和实现。

每个章节的学习内容都会结合实际的编程案例进行讲解,让学生在掌握理论知识的同时,能够更好地理解和应用。

三、教学方法为了提高学生的学习兴趣和主动性,我们将采用多种教学方法进行教学。

首先,通过讲授法,为学生系统地传授C语言和图书借阅管理系统相关的理论知识;其次,通过讨论法,引导学生进行思考和讨论,提高学生的解决问题的能力;再次,通过案例分析法,分析实际编程案例,让学生更好地理解和应用知识;最后,通过实验法,学生进行实际编程操作,培养学生的实际动手能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备多种教学资源。

教材方面,我们将采用《C程序设计》作为主教材,辅以《图书借阅管理系统设计与实现》等相关参考书。

多媒体资料方面,我们将准备一些教学视频和PPT课件,以便于学生更好地理解和掌握知识。

实验设备方面,我们将为学生提供计算机实验室,让学生能够进行实际编程操作。

此外,我们还将在课程上提供一些在线资源和练习题,方便学生进行自学和巩固。

图书借阅管理系统课程设计c

图书借阅管理系统课程设计c

图书借阅管理系统课程设计c一、教学目标本课程的目标是让学生了解和掌握图书借阅管理系统的基本原理和实现方法。

通过本课程的学习,学生应能理解图书借阅管理系统的需求分析、系统设计、实现和测试等基本过程,掌握图书借阅管理系统的主要功能和操作方法,具备使用和维护图书借阅管理系统的实际能力。

具体来说,知识目标包括:1.掌握图书借阅管理系统的需求分析方法。

2.理解图书借阅管理系统的系统设计原则。

3.熟悉图书借阅管理系统的实现技术和测试方法。

技能目标包括:1.能够进行图书借阅管理系统的需求分析。

2.能够进行图书借阅管理系统的系统设计。

3.能够实现和测试图书借阅管理系统。

情感态度价值观目标包括:1.培养学生对图书借阅管理工作的热爱和责任感。

2.培养学生团队协作和解决问题的能力。

二、教学内容本课程的教学内容主要包括四个部分:需求分析、系统设计、系统实现和系统测试。

1.需求分析:介绍图书借阅管理系统的需求分析方法,包括调研、分析、编写需求说明书等。

2.系统设计:介绍图书借阅管理系统的系统设计原则,包括模块化设计、界面设计、数据库设计等。

3.系统实现:介绍图书借阅管理系统的实现技术,包括编程语言、开发工具、数据库管理等。

4.系统测试:介绍图书借阅管理系统的测试方法,包括功能测试、性能测试、兼容性测试等。

为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。

1.讲授法:用于讲解图书借阅管理系统的相关概念、原理和方法。

2.案例分析法:通过分析实际案例,让学生更好地理解图书借阅管理系统的需求分析和系统设计。

3.实验法:让学生动手实践,实际操作图书借阅管理系统,提高其实际操作能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《图书借阅管理系统设计与实现》。

2.参考书:相关领域的专业书籍。

3.多媒体资料:教学PPT、视频教程等。

4.实验设备:计算机、网络设备等。

五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面、客观、公正地评价学生的学习成果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科生课程设计课程名称: C++语言程序设计课程编号:设计题目:图书借阅管理系统姓名:班级:学号:院系:信息学院网络技术系实验地点:指导教师:成绩:教师签字:目录一.系统设计总说明1.1设计目的 (3)1.2设计要求 (3)1.3设计内容 (4)1.4系统功能简介 (4)1.5设计平台 (4)二.C++语言课程设计报告2.1需求分析2.1.1管理员功能 (5)2.1.2读者功能 (5)2.2概要设计2.2.1整体设计 (6)2.2.2系统层次结构图 (7)2.2.3流程图(部分示例) (7)2.3详细设计2.3.1书籍结构体(Book) (8)2.3.2书籍管理结构体(BookManage) (8)2.3.3读者结构体(Reader) (8)2.3.4读者管理结构体(ReaderManage) (9)2.3.5菜单结构体(Menu) (9)2.3.6主函数(main) (9)2.4编码调试2.4.1各界面菜单显示 (10)2.4.2登录验证 (13)2.4.3注册新读者用户 (13)2.4.4添加新的图书资料 (13)2.4.5修改已有图书资料 (13)2.4.6删除已有图书资料 (14)2.4.7查找已有图书资料 (14)2.4.8显示全部图书资料 (14)2.5参考文献 (14)2.6设计总结 (14)2.7附录:C++图书管理系统源代码 (15)系统设计总说明1.1设计目的《C/C++语言课程设计》是信息管理与信息系统专业的重要实践性课程。

课程设计为学生提供了一个手脑并用、独立实践的机会。

目的在于培养学生分析问题和解决问题的能力,将课本的理论知识与实际应用问题进行有机结合,提高学生程序设计、程序调试及项目开发能力。

通过本课程设计的实践,全面总结C++课程学习中的数据类型、程序结构、数组、函数、指针、结构体等基本概念,掌握其使用方法。

培养使用面向过程的程序设计方法编写计算机程序的能力。

课题的目的主要是考查学生对C/C++语言的综合编程能力的掌握,培养学生的分析问题和解决问题的能力及逻辑思维能力。

该课题主要考察学生对函数、结构体,指针,文件等的操作,以及C/C++语言基本规则和算法的掌握,所以完成本颗题目要求学生较强的设计能力,特别是要具有综合应用能力。

如何调程序也非常重要,通过这个程序可以学习到以前调试短程序没有的的经验。

1.2设计要求①问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么(而不是怎么做),限制条件是什么。

②概要设计:对问题描述中涉及的操作对象定义相应结构体,并按照以设计需要为中心的原则,确定各个结构体之间的关系。

逻辑设计的结果应写出每个结构体抽象数据结构体型的定义(包括数据结构的描述和每个基本操作的功能说明)、各个主要模块的算法,并画出模块之间的调用关系图。

③详细设计:定义相应的储存结构并写出各函数的伪码算法。

在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能做到明确具体。

详细设计的结果写出数据成员储存结构的码类型定义,写出函数形式的算法框架。

④程序编码:把详细设计的结果进一步求精为程序设计语言程序,同时加入一些注解,使程序中逻辑概念清楚。

⑤程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。

能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。

调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。

⑥结果分析:程序运行结果包括正确的输入及输出结果和含有错误的输入及其输出结果。

1.3设计内容设计一个小型图书借阅管理系统。

1.4系统功能简介①管理员功能A.添加新的图书资料B.修改已有图书资料C.删除已有图书资料D.查找已有图书资料E.查看所有图书资料F.修改读者用户信息G.删除读者用户信息H.查看所有读者信息②读者功能A.借阅新的图书B.归还已借图书C.查找所需图书D.查看借阅情况1.5设计平台本系统是在windows环境下开发的,使用软件为Microsoft公司的Visual C++ 6.0,并采用了面向过程的技术。

C++语言课程设计报告信息管理与信息系统专业 200811622233 张媛媛指导教师:2.1需求分析2.1.1管理员功能:①登录:输入管理员密码,若密码错误则不得执行管理员操作。

②添加新书:增加新的图书资料,同时需检查新书的图书编号是否已存在于原图书资料中,若已存在则应取消添加或提示重新输入。

③修改图书:通过编号查询该图书资料,若该编号存在,则显示已有信息,允许修改,否则提示无该图书信息。

④删除图书:通过编号查询该图书资料,若该编号存在,则显示已有信息,允许删除,否则提示无该图书信息。

删除对象包括该图书资料以及“图书状态”和“借阅人”中与此书相关的所有记录。

⑤查找图书:A.按书号查找:通过编号查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。

B.按书名查找:通过书名查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。

C.按作者查找:通过作者查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。

⑥查看全部图书:显示所有图书资料,包括书号、书名、作者、状态和借阅人等信息。

⑦修改读者:通过姓名查询该读者信息,若该姓名存在,则显示已有信息,允许修改,否则提示无该读者信息。

⑧删除读者:通过姓名查询该读者信息,若该姓名存在,则显示已有信息,允许删除,否则提示无该读者信息。

删除对象包括该读者姓名、班级、电话以及“图书状态”和“借阅人”中与此人相关的所有记录。

⑨查看所有读者:显示所有读者资料,包括姓名、班级、电话等信息。

2.1.2读者功能:①登录:输入读者姓名,若未经注册则不得进入读者服务界面。

②注册:新用户经注册方可登录系统并使用读者服务功能。

③借书:A.输入所需图书编号,判断该编号是否存在,若不存在则提示重新输入。

B.若所输入图书编号存在,则判断该书籍是否已被借出,若已借则不允许执行借书操作。

C.若所输入图书未借,则提示输入读者姓名,判断所输入读者姓名是否存在,若不存在则提示重新输入。

D.若读者姓名存在,则允许执行借书操作。

E.借书处理包括在“图书状态”中加上“已借”标记。

④还书:A.输入所借书编号,判断该编号是否存在,若不存在则提示重新输入。

B.判断该书是否已借出,若未借则不允许执行还书操作。

C.借书处理包括在“图书状态”中加上“未借”标记。

⑤查询图书:A.按书号查找:通过编号查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。

B.按书名查找:通过书名查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。

C.按作者查找:通过作者查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。

⑥查看借阅情况:输入读者姓名,若该姓名不存在则提示重新输入,若该姓名存在则显示该读者借阅信息。

2.2概要设计2.2.1整体设计经过需求分析,本系统共设计了五个大模块,分别是书籍数据维护模块、书籍管理模块、读者数据维护模块、读者管理模块和菜单模块。

接着相应定义了五个结构体,分别是书籍结构体(Book)、书籍管理结构体(BookManage)、读者结构体(Reader)、读者管理结构体(ReaderManage)和菜单结构体(Menu)。

书籍结构体(Book)的功能在于存放和维护书籍的基本信息,包括书号、书名、作者、状态(已借/在架)和借阅人;书籍管理结构体(BookManage)的功能在于实现对书籍的相关操作,包括读取书籍文档文件(book.txt)、保存书籍文档文件、添加图书、修改图书、删除图书、显示全部图书和查找图书;读者结构体(Reader)的功能在于存放和维护读者的基本信息,包括姓名、班级和电话;读者管理结构体(ReaderManage)的功能在于实现对读者的相关操作,包括读取读者文档文件(reader.txt)、保存读者文档文件、新读者注册、修改读者、删除读者、显示全部读者和查找读者;菜单结构体(Menu)的功能在于实现各界面的引导工作,包括主登录界面、系统管理界面、读者登录界面、读者服务界面、管理员书籍查找界面和读者书籍查找界面。

2.2.2系统层次结构图2.2.3流程图(部分示例)①管理员登录②读者登录③读者借阅图书④管理员或读者按书名查找图书2.3详细设计2.3.1书籍结构体(Book)①私有数据char bnum[10]; //书号char bname[20]; //书名char bauthor[10]; //作者char rname[10]; //借阅人②公有数据及公有函数int tag; //状态标记判断指标(已借/在架)Book() //构造函数初始化信息void set_bnum(char *no) //设置书号char *get_bnum() //获得书号void set_bname(char *n) //设置书名char *get_bname() //获得书名void set_bauthor(char *a) //设置作者char * get_bauthor() //获得作者姓名void set_tag(int t) //状态设置void set_rname(char *rn) //设置借阅人char *get_rname() //获得借阅人姓名void show_tag() //显示图书状态void copy(Book m) //Book结构体copy函数2.3.2书籍管理结构体(BookManage)①私有数据及函数Book books[100]; //定义Book书籍结构体数组对象,最大容量100本int length; //计数void saveFile() //保存书籍文件void readFile() //读取书籍文件②公有数据及函数BookManage() //构造函数,读取磁盘文件~BookManage() //析构函数,保存磁盘文件bool add(Book book) //添加图书资料int bnu_search(char *bnu) //按书号查找书籍int bna_search(char *bna) //按书名查找书籍int bau_search(char *bau) //按作者查找书籍int rn_search(char *rn) //按借阅人查找书籍void revise(Book book,int i)//带参的修改书籍函数void deleteBook(int index)//带参的删除书籍资料函数void show_book()//不带参的显示书籍函数void show_book(int i)//带参的显示书籍函数void br_book()//读者借、还书功能函数bool in(int i) //判断图书是否在架函数2.3.3读者结构体(Reader)①私有数据及函数char rname[10]; //读者姓名char rclass[10]; //班级char rtel[10]; //电话②公有数据及函数Reader() //构造函数,实现数据初始化void set_rname(char *rn) //设置读者姓名char * get_rname() //获得读者姓名void set_rclass(char *rc) //设置班级char *get_rclass() //获得班级void set_rtel(char *rt) //设置电话char *get_rtel() //获得电话void copy(Reader m) //读者Reader结构体copy函数2.3.4读者管理结构体(ReaderManage)①私有数据及函数Reader readers[50]; //定义读者结构体数组对象,最多50位int length; //计数void readFile() //读取读者文件函数void saveFile() //保存读者文件②公有数据及函数ReaderManage() //构造函数,读取读者文件~ReaderManage() //析构函数,保存读者文件void add_reader(Reader r) //添加读者用户函数int search(char *rn) //按姓名查找读者函数bool revise(Reader reader,int i) //修改读者资料函数void delete_reader(int index) //删除读者函数bool log_reader(Reader r) //登录时判断读者用户是否存在函数void reg_reader() //注册用户函数void show_reader() //不带参的显示读者信息函数void show_reader(int i) //带参的显示读者信息函数2.3.5菜单结构体(Menu)①私有数据及函数BookManage bm; //定义书籍管理结构体对象bmReaderManage rm; //定义读者管理结构体对象rmReader r; //定义读者结构体对象rint choice; //菜单序号选择int key; //管理员密码②公有数据及函数void header() //页眉void log_menu() //主界面登录菜单void admin_menu() //管理员管理菜单void reader_menu() //读者服务菜单void bsearch_menu() //读者查找书籍菜单void absearch_menu() //管理员查找书籍菜单void reader_lr() //读者登录或注册菜单void log_admin() //管理员登录void rn_search() //按书号查找函数void bnu_search() //按书号查找函数void bna_search() //按书名查找函数void bau_search() //按作者查找函数void addBook() //新增书籍函数void reviseBook() //修改书籍函数void delBook() //删除书籍函数void reviseReader()//修改读者用户函数void delReader() //删除读者用户函数2.3.6主函数(main)int main()2.4编码调试、测试2.4.1各界面菜单显示①主登录界面②系统管理界面③读者登录界面④读者服务界面⑤书籍查找界面2.4.2登录验证①管理员登录A.输入错误密码B.输入正确密码②读者登录A.输入已注册姓名B.输入未注册姓名2.4.3注册新读者用户2.4.4添加新的图书资料①输入已存在图书书号②输入未存在图书书号2.4.5修改已有图书资料①输入不存在图书书号②输入已存在图书书号2.4.6删除已有图书资料①输入不存在图书书号②输入已存在图书书号2.4.7查找已有图书资料(以按书号查找为例)①输入不存在图书书号②输入已存在图书书号2.4.8显示所有图书资料2.5参考文献1.MS-DOS命令大全[帮助文件]/落雪飞花;网络资料2.C++函数库参考[帮助文件];刘双印老师提供3.C++基础教程--从问题分析到程序设计[专著]/(美)D. S. Malik著;清华大学出版社2.6设计总结经过近一个星期的努力,前后修修改改,调试又调试,我的C++图书管理系统终于得以诞生!在这个过程中,我发现自己还有很多很多知识都没有学好,看别人的例子的时候好像很简单,自己一上机操作就有问题。

相关文档
最新文档