图书管理系统(含代码)课程设计报告文库_第1页
图书管理系统(含代码)课程设计报告文库_第2页
图书管理系统(含代码)课程设计报告文库_第3页
图书管理系统(含代码)课程设计报告文库_第4页
图书管理系统(含代码)课程设计报告文库_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、屮南农修c+礁程筱针实裁報告<9 /修或信息管理系娩专坐班級;城地1502 指导老师;蒋冲壮% :扬帆%鬲:0202150222完咸时间:2016 4 7月13日中南大学课程设计报告目录成员设计内容简介1第一章系统概述11.1功能简介21 2设计思路3第二章第二章系统功能的分析和简要框图32.1主函数42. 2初始化文件42.3主菜单52.4查询72. 5借书操作82. 6还书操作92.7新增图书102.8删除图书112.9新增读者122. 10读者信息132. 11借阅记录14第三章调试及运行结果153. 1主菜单153. 2查询图书信息163. 3归还图书163.4借阅图书:173.

2、 5读者注册:183. 6图书信息修改193. 7新书米编入库193. 8删除图书信息203. 9借阅记录203. 10读者信息:21第四章总结214.1遇到的问题及解决方法 214.2收获和体会234.3致谢23第五章源代码235. 1 book, h 235. 2 head, h 235. 3 addbook. cpp 245. 4 addreader. cpp 265. 5 brbook cpp 285. 6 checkbr. cpp 325. 7 checkreader. cpp 325. 8 de i book, cpp 335. 9 fi ndbook. cpp 355. 10 m

3、a i n. cpp 425. 11 ma i nmenu. cpp 425. 11 ret urn cpp 445. 11 setf i i e. cpp 461刖s图书管理在生活中运用非常广泛,因此需要用许多的程序来对它们进行管理。此程 序包含了图书信息的录入、图书信息的浏览、图书的查询和排序、图书信息的删除 与借书,还书等。通过编译一个c+语言函数,其中包含一个主函数,多个子函数, 主函数调用其余的子函数实现人们能够简易、快捷的了解并找到自己所想要的信息 的功能。该图书信息管理系统记录了图书馆中图书的图书号、书名、作者姓名、出版社名、 图书的现存量和总库存量等书籍数据,同时有对书籍数据以

4、及借阅者的信息进行管 理,可以实现对书籍和借阅者进行添加和管理。成员设计内容简介一、题目及要求题目三:图书管理系统设计图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、 性别、学号等功能描述1、新进图书基本信息的输入。2、图书基本信息的查询。3、对撤消图书信息的删除。4、为借书人办理注册。5、办理借书手续。6、办理还书手续要求:使用二进制文件方式存储数据,系统以菜单方式工作二、目的与意义c+语言课程设计课程设计是计算机科学与技术专业实践性环节之一,要求明确 课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知 识;通过课程设计的综合训练可以使学生进一

5、步理解和掌握面向对象程序设计课程的 基本知识;掌握面向对象程序设计的思路和方法;基本具有利用面向对象的方法以及 c+的编程思想来完成系统设计的能力提高学生用高级语言进行程序设计的能力,重 点提高用c语言进行文件操作和绘图应用的编程技术水平。三、小组成员及小组分工小组成员:杨帆、余华龙、姚翔宇杨帆:brkook () f i ndbook () addbook () de i book ()姚翔宇:checkreader (), checkbr (), returnbook () ;ma i nmenu (),余华龙:头文件,ma i n (), setf i i e (), addreader

6、 ()四、主要参考文献c+语言程序设计(第三版),郑莉,清华大学出版社,2004c+ pr imer plus (第六版),stephen prata,人民邮电出版社,2012第一章总体设计1.1功能简介本软件是一个简单的图书管理系统,软件为win32控制应用台程序。完成以下功能:1 新进图书基本信息的输入2 图书基本信息的查询3 对撤销图书信息的删除4 为借书人办理注册5 办理借书手续(非注册会员不能借书)6 办理还书手续补充要求:使用二进制文件方式存储数据系统以菜单方式工作1.2设计思路基本功能:主菜单(1)新书采编入库:新购入一种书,登记到图书信息中去。如果这种书在帐中已有, 则只将总库

7、存量增加。(3)删除图书:某种书已无保留价值,将它从图书帐目中删除。(4)查询已在图书库中的图书信息。(5)对读者的信息进行管理:新增,查询。(6)查看借阅记录查询图书信息:a)按书名查询:如查找所有书名为“数据结构”的图书。b)按作者姓名查询:如查找所有“张三”编写的图书。c)按出版社名查询:如查找所有“机械工业出版社”出版的图书。d)按书籍编号查询:如查找书籍编号为“978-7-115-27946-0”的图书。e)组合查询:如查找所有“张三”编写的、由“机械工业出版社”出版的图书。(2)借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的信息,改变该 书的现存量。(3)归还:注销对借阅

8、者的登记,改变该书的现存量。整个程序的主函数由以下部分构成:头文件head.h、头文件book.h、setfile、 ma i nmenu1 头文件 head, h、book, h实现两个类的定义bookdate图书类,实现对图书的描述:图书基本信息如图书编号、书名、作者、出版社、单价等;图书的管理信息如查找图书及新增图书、删除图书(通过书的现存量、书的总库存 量描述)等;readerdata读者及图书管理类,公有继承图书类,实现对读者信息的描叙:读者的个人资料如借阅者姓名、学号、性别、登陆密码等;读者借阅信息如借还图书本数等;类的数据成员和各函数的功能描述c i ass bookdata/数

9、据成员:char book i sn 50/图书编号,bookname 50/ 书名wr iter 50/作者pub i i shing 50/出版社;、nowstore, /书的现存量al i store,书/的总库存量pr ice/单价c i ass managebook 数据成员:reader 50/借阅者姓名,rd id50/学号gender 50/性别password 50/ 登陆密码num/借还图书本数各个功能函数:void setf i le() ;/初始化数据文件void ma inmenu () ;/主菜单函数void findbook (char*f i le) ;/查询图

10、书void brbook (char*f i ie) ;/借阅图书void returnbook () ;/归还图书void returnf (char*fi ie, readerdata p);void addbook 0 ;/新书采编入库void add(char*f i ie, bookdata p);void de i book 0 ;/清除库存,删除图书信息void de i (char*f i ie, bookdata p);voidaddreader ();/新增读者信息voidcheckreader ();/查询读者信息voidcheckbr ();/查看借阅记录第二章系统功能

11、的分析和简要框图算法分析:在本程序中,头文件定义了两个类:c i ass bookdata和class managebook,以 及各个功能函数。运行程序,首先执行void setfileo;函数,该函数初始化数据文件,将在exe程序 所在文件夹生成所有数据文件,若该文件夹没有数据文件,则生成空的数据文件,数据 文件记录图书馆管理系统的所有数据。然后由void ma i nmenu ();生成主菜单,主菜单运用switch语句区分指令进行执行功 能,其他菜单亦雷同形成。1查询图书信息2归还图书3图书信息修改4.读者注册5.读者信息6.借阅记录0.退出系统 分别调用相应函数直接在数据文件上 对图

12、书执行相应功能。在让借阅者执行查询,借阅,归还图书等操作之前,首先要在初始化的数据文件中添加 图书信息,整个图书馆管理系统大体结构就如上所述,大概可分为图书信息管理和借阅者信息 管理2个模块,外加一个借阅记录则构成图书馆管理系统。本程序对数据文件中数据的 编辑是通过将数据文件中的数据编辑后转移至中转文件中,再将中转文件的数据复制回 清空了的数据文件当中,即可完成编辑。2. 1main. cpp /主函数包含三个部分:建立数据文件setfileo;设置背景为紫色字体亮白色/修改窗口名称2. 2 setf i le. cpp/初始化数据文件初始化数据文件,将在exe程序所在文件夹生成所有数据文件,

13、若该文件夹没有数据 文件,则生成空的数据文件,数据文件记录图书馆管理系统的所有数据。包括:中转文件 dat readerdata, dat record, dat bookdata, dat 中转文件 1.dat通过将数据文件中的数据编辑后转移至中转文件中,再将中转文件的数据复制回清空了的数据文件当中,完成编辑。2. 3 mainmenu cpp /主菜单n/n |choice 二 5?wn |choice 二 6?wn |choice=0?n/n |choice 二 5?wn |choice 二 6?wn |choice=0?n/n |n/n |checkreadercheckborrowy

14、/v=退出系统2. 4 f indbook. cpp /查询图书i昨2.6 returnbook cpp/归还图书开始v结束开始结束2.9 addreader cpp/新增读者信息w结束2. 11 checkbr. cpp /查看借阅记录开始v从借阅记录(record.dat)中直接读取结束3. 1主菜单第三章调试及运行结果h中甫天学禺书昔理粟统.exe- x中南大学图书管理系统1. 查帝图巧宿息2. 归还图书3. 图书信息修改4. 读者注册5. 读者信息6. 借阅记录0 退岀系统请选择(0-6):今天已经是2016/07/14周四3. 2查询图书信息严中南k学图书管理浆统£灼 x3

15、. 3归还图书s3中南大学图书管理票统exe- n x请输入所要归还的书籍书名:三体 请蔬入你的姓名:疡机请输入你的学号:0202150222 请输入所要归还的书籍本数:1 成功归还1本此图书! !是否要继续归还其它图书? (y/n):3. 4借阅图书:'口南大学图书管理票统巳x巳请输入要查询的书名:三体 所查询的图书信息:书名:三体作者:刘慈欣图书号:123图书单价:45岀版社:重庆岀版社现存量:32总库存量:32是否要借阅图书? (y/n):该书信息:书名:三体作者:刘慈欣 图书号:123图书单价:45岀版社:重庆岀版社现祥量:32总库存量:32确定要借阅此图书? (y/n):3.

16、 5读者注册:口南大学圏书答理耒统exe定要添加新的借阅者信息?(y/n):根据下面提示输入新的借阅者的信息帆023. 杨02男12 x 名号别码 姓学性密3. 6图书信息修改图书信息修改1. 新书采编入库2. 删除图书信息 o.m0_t层菜单请选择(0-2):3. 7新书采编入库i 口南末学图书笞理浆统£灼根据下面扌杲示输入新书籍的信息书名:三体作者:刘慈欣岀版社:重庆岀版社 图书编号:123单价:45数量:52.微软拼音半:3. 8删除图书信息 口南大学图书笆理亲统£灼请根据下面提示输入所要注销的书籍的信息图书编号:123该书信息:书名:三体作者:刘慈欣图书号:123图

17、书单价:45岀版社:重庆岀版社现存量:52总库存量:52请选择:(1.完全jffl除此种图书)(2.只删除部分此种图书)请输入要注销的本数:成功对该图书进行了注销! ! ! 是否要继续删除图书? (y/n):3. 9借阅记录-口南大学图书琶理矣统借阅记录:3 1 1 12体杨02: _02量 弓.者数 书名阅号阅 图书借学借青按任意键继续 3. 10读者信息:输入要查询的借阅者姓名:杨帆借阅者:杨帆 性别:男学号:0202150222是否要继续查询借阅者信息? (y/n):微软拼音半:第四章总结4.1遇到的问题及解决方案问题一:常出现没有与这些操作符匹配的运算符解决方案是:引入合适的头文件,并

18、重新输入include内容,编译器的报错就会消失。问题二:不懂得对数据文件的操作解决方案:通过对模板程序的模仿,并了解自学fstream常用方法的 使用。问题三:程序常因错误输入而崩溃解决方案:运用些可以容错的语句来防止多余的输入,并能返回重 新输入。也可以运用提示词来减少用户的非法输入。问题四:运用二进制文件读写解决方案:意我们不再使用插入和提取操作符(译者注: << 和 >> 操 作符).你可以这么做,但它不会用二进制方式读写。你必须使用read() 和write()方法读取和写入二进制文件.创建一个二进制文件,看下一 行。ofstream fout("f

19、ile.dat", ios:binary);这会以二进制方式打开文件,而 不是默认的ascii模式。问题五:文件结构的混乱解决方案:在书写时保持良好的书写习惯,并在适当的地方增加注释4. 2收获和体会虽然在这个学期中,我们已经学习了c+语言程序设计这门课,但是知识的运用 完全是一个更高水平的要求。这次设计,不仅巩固了我以前所学的知识,还让我对c+ 语言有了更深一步的了解,掌握了更多的技巧和技能。在这次课程设计中,我们首先对系统的整体功能进行了构思,然后用结构化分析方 法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。而 且尽可能的将模块细分,最后在进行函数的调

20、用。我们在函数的编写过程中,我们不仅 用到了 for循环 while循环和switch语句,还用到了函数之间的调用(包括递归调用)。编写一个完整并且有严密逻辑,以及抗非法输入的程序对于初学者来说还是有相当 的挑战性的,我们在编写的过程中遇到了重重困难,有些克服了进步了。然而更多地是 感受到自己知识储备的不足与实现按想法之间的矛盾。当然,我们的程序还有很多不完善的地方,比如说,我们试图以二进制的方式保存 文件,最终也是心有余而力不足没有做到,程序在调试中不断的冒出bug,大晚上面对电 脑debug到生无可恋。总之,这次设计程序让我受益良多,我好好珍惜了这种难得的机会,并且在这个过 程中深刻认识到

21、了自己的不足。4. 3致谢为期半个月的课设总算是结束了,特此向在这短时间指导过我们的老师,还有机房和蔼可亲的管理老师,一起写报告的同学,深夜debug的自己,道一声谢谢。第五章源代码book.h#pragma once include <iostream> 苴inelude "headh" #include <vector>include <fstream>include <windowsh> using namespace std;void setfileo ;/初始化数据文件void mainmenuo ;/主菜单函数vo

22、id findbook(char*file):/査询图书void brbook(char* -i le, readerdata p) ;/借阅图卩void returnbook() ;/归还图书void returnf(char*filc, readerdata p);void addbook() :/新书采编入库void add(char*file, bookdata p);void de 1 book();/清除库存,删除图书信息void del (char*fi1e, bookdata p);void addreader 0;/新增读者信息void checkreader():/查询读者

23、信息void checkbro :/査看借阅记录head.h#pragma once#include<iostream> include <string h> #inelude <iomanip> #i nciudc<fstream> include <cstdlib> using namespace std;/图书类class bookdatapublic:/构造函数bookdata(char*bn 二"bookchar*w 二 writer0", char*p 二"publishing'o&q

24、uot;, char *1)isn 二"bookisn0", int n 二 0,int a = 0, int pri = 0)strcpy_s(bookname, bn);strcpy_s(writer, w);strcpy_s(publishing, p);strcpy_s(bookisn, bisn);nowstore = n;allstore = a;price = pri;bookdata *ncxt;/数据成员作者、出版社char*p =char bookisn50, bookname50, writer50, publishing50;/图书编号、书名、 in

25、t n owstorc, all store, price; /书的现存量、书的总库存量、单价;/读者及图书管理类,公有继承图书类class readerdata :public bookdatapublic:/构造函数readerdata(char*rn = "reader、。", char *id = "02021502220", char*ge ="男0","password0")strcpy_s(reader, rn);strcpy_s(rdid, id);strcpy_s(gender, ge);stre

26、py s (password, p);char reader50, rdld50, gender50, password50;/借阅者姓名、学号、性别、 int num;/借还图书本数;addbook.cpp#include"head.h"#include"book. h" void addbook()system("cls"); while (1)bookdata p; char work;cout «确定要添加新书? (y/n) :" « cndl;while (1)cin >> work

27、;if (work = ' y | work = 'y')break;else if (work 二二'n | | work = rf ) systcin("cls") ; return; else cout << z,nt 输入错误,请重新输入! ! " endl; continue; systcm("cls);cout « endl << "tt根据下面提示输入新书籍的信息"<< endl << endl << "t书名

28、:" cin >> p. bookrmmo;cout « "t 作者:";cin >> p. writer;cout « "t 出版社:"cin >> p. publishing;cout « "t图书编号:;cin >> p.bookisn;cout « "t 单价:"cin >> p. price;cout « "t 数量:"cin >> p. nowstore;add(

29、,zbookdata. dat,z, p);system("cls);char ch;cout « "t添加成功! ! nt是否要继续添加新书? (y/n) :" << endl;while 仃)cin >> ch;if (ch =,y' | | ch =,y,)systom(cls); addbook();/函数嵌套调用,判断是否继续进行添加操作else if (ch 二二n' | ch =二n') system("cis");return; else cout << &q

30、uot;nt 输入错误,请重新输入! ! " < endl; continue; void add(char*file, bookdata p) int c = 0;bookdata t;int j = 0;/标记书籍是否已经存在ofstream f (中转文件.datz,, ios: bi naryios: :out); f close ();/清空中转文件ifstream fa(file, ios:binary | ios:in);f. open c中转文件.dat ios:bi nary | ios:app);while (fa » tbookname >

31、> twriter >> tbookisn >> tprice » t. publishing » tnowstore >> t allstorc)if (!strcmp(t booknamo, p. booknamo) && (!strcnip(t writer, p. writer) &&(!strcmp(t publishing, p. publishing)cout « t该书籍己存在,诸输入新增加的本数:;判断新添加的书籍是否已存在cin >> c;t.nowstore

32、 = t.nowstore + c;tallstore = t.allstore + c; j = 1;新添加的书籍已存在,则直接改动现存量和总库存量f « t. bookname << "t" « t. writer << "t" « t. bookisn « "t" << t. price << "t" « t.publishing << "t" << t. nowsto

33、re << "t" << t. allstore « endl;if (j) fa closeo ; f. close();f. open (file, ios: : binary | ios: :out) ; f. close ();fa. open("中转文件.dat", ios:binary | ios: in);f. open (file, ios:bi nary | ios:app);while (fa » t booknamo >> t writer >> t bookisn

34、 >> t price >> t. publishing >> t nowstorc » t. allstore)f « t. bookname «« t. writer « "t" « t. bookisn « "t/ << t. price « "t"<< t. publishing << "t" << t. nowstore << "t

35、" << t. allstore << endl:fa. closeo ;f. close ();else fa. closeo ; f. closeo ;f.open (file, ios:binary | ios:app);p. allstore = p. nows tore; /新添加的书籍尚未存在,贝u直接在数据文件中追加f << p. bookname << "l" << p. wri ter <<<< p. bookisn "t/ << p. pr

36、ice << "t/ <<p. publishing << "t" « p. nowstore «<< p> all store « endl;f closeo ;addreader epp ttincludchcad h苴incluclcz/book h" void addreader ()system("cls");readerdata p, t;char work;cout « "t确定要添加新的借阅者信息? (y/n) :&

37、quot; « endl;while (1)/询问添加新的借阅者与否cin >> work;if (work = ' y' | | work = 'y')break;else if (work = ' n' | | work = ' n') system(,cls,/): return: else cout « "nt 输入错谋,请重新输入! ! ! " endl; continue; cout « endl « tt根据下面提示输入新的借阅者的信息 endl

38、 « endl « t姓名:;cin >> p.reader;cout « "t 学号:";cin >> p. rdid;cout « "t 性别:";cin >> p. gender;cout << "t 密码:"cin >> p. password:int i = 0;i fstream f("readerdnta. dat", ios:bi nary i ios:in);while (f » t. r

39、eader >> t. rdid >> t. gcndor >> t. password)if (! stremp (t. reader, p. reader) && (! strcmp(t. rdid, p. rd id)/判断新添加的借阅者是否已存在cout « "t 该借阅者已记录在案! !<< endl; i = 1; break;f. close ();if (!i) ofstream fl (readerdata. datz,, ios: bin ary | ios: app);fl «

40、p.reader « "t" « p. rdid « "t" « p. gender « "t" « p. password « endl;/新添加的借阅者若不存在,则进行添加fl. close();system("cls);char ch;cout << "t添加成功! ! n是否要继续添加新的借阅者信息? (y/n) :" << cndl; while (1)/函数嵌套调用,判断是否继续进行添加操作cin &

41、gt; ch;if (ch =,y' | | ch =,y')systemczcls,z) ; addreader ():else if (ch 二二n' | | ch =二n') system(,cls,/) : mainmenu(); else cout << "nt 输入错误,请重新输入! ! ! "< endl; continue; brbook cpp#i nclude"head.h"#includc,zbook h void brbook (char*file, teaderdata p)in

42、t w = 0;rcaclcrdata t, q;p. num = 0;ofstream f ("中转文件 dat", ios:binary i ios: :out) ; f close():ifstream fa(filc, ios:binary | ios:in);f. op cn("中转文件.dat", i os: b in ary | ios: app);while (fa >> tbooknamc >> twriter >> t. bookisn >> tprice » tpublish

43、ing >> t. nowstorc »allstore)if (! strcmp(t. bookisn, p. bookisn) cout « "tt =z* « endl:cout « "t 该书信息:"<< endl;cout « endl;cout « "t 书名:"<< t. bookname << endl;cout « "t 作者:"« t. writer << endl;

44、cout « "t 图书号:"<< t. bookisn « endl;cout « "t 图书单价:"<< t. price « endl:cout « "t 出版社:"« t. publishing << endl;cout « t 现存量:"« t. nowstore << endl;cout « "t 总库存量:"<< t. allstorc <

45、;< endl;char k;while (1)cout « "nt确定要借阅此图书? (y/n) :" « endl;cin >> k;if (k != 'y'&&k != 'y'&&k != ' n'&&k != ' n')cout « "t 输入错误,请重新输入! !" « endl; continue;else break;if (k = 'y' | k = &#

46、39;y')while (1)if (t. nowstorc = 0)systom("cls") ; cout « "t 该图书现存量为 0,无法借阅! ! " endl:ma inmenu ();system("cis");cout «请输入你的姓名:”;cin >> p.reader;cout « "t请输入你的学号:"cin >> p. rdld;cout << "t请输入密码:"cin >> p.pas

47、sword;int i = 0;i f st ream f (''readerdata. dat, i os: bi nary ios: in);while (f >> t.reader >> t. rdid » t. gcndcr >> t. password)if (! stremp(t. reader, p. reader) && (! strcmp(t. rdid, p. rdid)if (!stremp(t. password, p. password)i = 1; break;elsei = 2; bre

48、ak:elsei = 0;/i为判断标志,该借阅者信息存在为1不存在为(),密码输入错误为2,其它输入容错f. close ();if (i = 0) system ("cis");cout « nt该借阅者信息不存在! ! n « cndl;brbook ("bookdata, chit", p);else if (i = 2)system("cis");cout « "nt 密码输入错误! ! ! n" « endl: brbook ("bookdata, ba

49、t, “, p); while (1)system("cis");cout «请输入要借阅此图书的本数: « endl;cin >> p. num;t. nowstore = t. nowstore - p. num;/成功借阅示,对图书信息的现存虽进行修改if (t. nowstore < 0)/判断图书木数足够与否t.nowstore = tnowstore + p. num;cout << "t图书本数不足,请重新输入! !" << endl; continue;else w二1;/所借

50、阅图书现存量足够时,w二1,否则尸0int a = 0;of stream f0(,z 中转文件 l.dat", ios: bi nary | ios: :out) ; fo. closeo ; f0. open("中转文件 l.dat", ios:binary | ios:app);ifstream f("recorddat", ios:binary ios:in);while (f >> q. bookisn >> q. bookname >> q. reader >> q. rdtd 

51、87; q num) if (!strcmp(t. bookisn, q. bookisn) &&(!stremp(t bookname, q. bookname) && (!stremp(t reader,q.rcador) &&(!strcmp(t. rdid, q. rdtd) && !stremp(t. password,q. password)q. num = q. num + p. num; a = 1;/a为判断标志,该借阅记录存在为1.不存在为0fo << q. bookisn << &qu

52、ot;t" « q. bookname << "t" << q. reader << "t" << q. rdld << "t" << q. num « cndl;fo. close() ; f. close();if (a) ofstream fo ("record, dat", ios: bin ary ios: :out) ; fo. closeo ; fo. open ("'record,

53、 dat", ios: binary ios: app);if stream f(,z 中转文件 1. dat*, ios: binary | ios: in): /借阅 记录存在时,直接修改借阅本数q. numwhile (f >> q.bookisn >> q. bookname >> q.reader >> q. rdtd >> q. num)fo << q. bookisn << "t" << q. booknamc << "t"

54、 << q. reader << "t" << q.rdld << "t" << q. num « endl:fo. close() : f. close ();else ofstream fl ("record, dat", ios: :binary | ios:app) ;/借阅记录不存在,直接添加新的记录fl << t. bookisn << "t" << t. book name << &q

55、uot;t" << p. reader << "t" << p. rd id << "t" << p. num « endl;break;break;else if (k 二二n' | | k =*)return;f << t.bookname << "t" << t. writer << "t" << t. bookisn < "t" <

56、;< t.price << "t" << t.publishing « "t" « t. nowstore « "t" « t. allstore « endl;fa. close(): f. close ();f. op cn(filc, ios:b in ary ios: :out) ; f. close ();fa. open ("屮转文件.dat", ios: binary | ios: in);f. open(file, io

57、s:binary | ios:app):/成功借阅后,对图书信息的现存量进行修改while (fa » t. book name >> t. writer >> t. bookis n> t. price » t. publish ing >> t. no wstore » t. al 1 store)f « t. booknamc << t" « t. writer <<<< t. bookisn «<< t. price <&

58、lt; "t" «t.publishing << "t/ « t. nowstore << t/ « t. allstore « endl;fa. closco ;f. close ();if (!w)cout « "t该图书不存在或库存不足! ! " endl;else cout « "t 成功借阅"« p. num « "本此图书! !" << endl;system('paus

59、e');return;checkbr. epp #includez/hcad. h" void checkbr0system("cls");readerdata t;cout << "nt 借阅记录:n" << endl;if stream f ("record, dat", ios: binary i ios: in) ;/直接输出借阅记录while (f » t. bookisn >> t. bookname >> t. reader >> t. rdid >> t. num) cout « "t 图书号:"< t. bookisn < "n" << 书名:"t. bookname << "n" << "t 借阅者:" t. reader« "n&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论