ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:210.41KB ,
资源ID:3012866      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3012866.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++课程设计论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++课程设计论文.docx

1、C+课程设计论文目 录1题目描述 22功能分析 33系统设计 43.1程序总体结构 43.2主功能模块设计 53.2.1 图书管理功能 53.2.2 读者管理功能 53.2.3 借阅管理功能 53.3程序设计 63.4类与函数的设计与实现 73.4.1读者类 73.4.2图书类 83.4.3读者类库 93.4.4图书库类 104运行与测试结果 125小结 166参考文献 171题目描述 请设计一个图书登记管理程序。该程序应该具有下列功能:(1) 通过键盘输入某本图书的信息,并能对图书进行增加、修改、删除和查找;(2) 通过键盘输入读者信息,并可以增加读者、修改读者、删除读者、查找读者和显示读者

2、信息;(3) 实现借阅功能;(4) 实现还书功能。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 图书信息应该包含:编号、书名、作者姓名、出版社、价格等;(3) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单(菜单显示外观见前面的图示)。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息

3、,包括输入的数据内容、格式及结束方式等。2功能分析 根据图书管理的实际要求,结合本系统开发的要求,对与本章所要介绍的“图书管理系统”的需求实现如下功能:1、书籍管理部分:书籍信息管理包括书籍信息的添加、书籍信息的修改、书籍信息的查询、书籍信息的删除等。2、 读者管理部分:读者信息管理包括添加读者信息、修改读者信息、删除读者信息、查询读者信息和读者借阅图书情况等。3、 借阅管理部分:这一部分包括借书信息管理和还书信息管理两部分。图1功能模块图3系统设计3.1程序总体结构图2程序结构图3.2主功能模块设计3.2.1 图书管理功能书籍信息管理:包括书籍信息的添加、书籍信息的修改、书籍信息的查询、书籍

4、信息的删除、书籍信息的显示和书籍信息的全删等6部分功能。其中,书籍信息包括图书编号、书名、图书作者、出版社、价格已及是否在架。 3.2.2 读者管理功能读者信息管理:包括读者信息的添加、读者信息的修改、读者信息的查询和读者信息的删除、读者信息的显示和读者信息的全删等6部分功能。其中,读者信息包括读者姓名、读者编号和已借书数量及编号。3.2.3 借阅管理功能借书管理:借阅信息包括图书编号、读者编号。还书管理:还书信息与借阅信息各部分明细相同。3.3程序设计/main() 函数的实现,程序的主界面的引导 void main() char choice; Book *b; while(choice!

5、=0) cout endlendlttt 图 书 管 理 系 统nnn; cout ttt1 借 书nnttt2 还 书 nnttt3 图 书 维 护nnttt4 读 者 维 护nnttt0 离 开 choice; switch (choice) case 1: 借书 cout 不存在该读者,不能借书 endl; cout 不存在该图书,不能借书 endl; . cout 该图书已借出,不能借书 endl; break; case 2: 还书 cout 不存在该读者,不能还书 endl; cout 不存在该图书,不能还书 endl; break; case 3: 图书维护break; case

6、 4: 读者维护break; default: cout已退出!; 3.4类与函数的设计与实现3.4.1读者类/实现对读者的信息的描述class Reader private: int tag; /删除标记 1:已删 0:未删 int no; /读者编号 char name10; /读者姓名 int borbookMaxbor;/所借图书 public: Reader() char *getname() return name; /获取姓名 int gettag() return tag; /获取删除标记 int getno() return no; /获取读者编号 void setname(

7、char na) /设置姓名 strcpy(name,na); void delbook() tag=1; /设置删除标记 1:已删 0:未删 void addreader(int n,char *na)/增加读者 tag=0; no=n; strcpy(name,na); for(int i=0;iMaxbor;i+) borbooki=0; void borrowbook(int bookid)/借书操作 for(int i=0;iMaxbor;i+) if (borbooki=0) borbooki=bookid; return; int retbook(int bookid)/还书操作

8、 for(int i=0;iMaxbor;i+) if(borbooki=bookid) borbooki=0; return 1; return 0; void disp()/读出读者信息 cout setw(5) no setw(10) name借书编号:; for(int i=0;iMaxbor;i+) if(borbooki!=0) cout borbooki ; cout endl; ;3.4.2图书类/实现对图书的描述,图书的编号,书名,借出,还入等class Book private: int tag;/删除标记 1:已删 0:未删 int no;/图书编号 char name2

9、0;/书名 char author100;/作者 char pub200;/出版社 int price;/价格 int onshelf;/是否再架 1:再架 2:已借 public: Book() char *getname() return name; /获取姓名 int getno() return no; /获取图书编号 int getprice() return price; int gettag() return tag; /获取删除标记 void setname(char na)/设置书名 strcpy(name,na); void setauthor(char au)/设置作者

10、strcpy(author,au); void setpub(char pu)/设置出版社 strcpy(pub,pu); void delbook() tag=1;/删除图书 void addbook(int n,char *na,char *au,char *pu,int t)/增加图书 tag=0; no=n; strcpy(name,na); strcpy(author,au); strcpy(pub,pu); price=t; onshelf=1; int borrowbook()/借书操作 if (onshelf=1) onshelf=0; return 1; return 0;

11、void retbook()/还书操作 onshelf=1; void disp()/输出图书 cout setw(6) no setw(18) name setw(20) author setw(30) pub setw(6) price setw(10) (onshelf=1? 在架:已借) endl; ;3.4.3读者类库/实现建立读者的个人资料 class RDatabase private: int top; /读者记录指针 Reader readMaxr;/读者记录 public: RDatabase() /构造函数,将reader.txt读到read中 Reader s; top

12、=-1; fstream file(reader.txt,ios:in);/打开一个输入文件 while (1) file.read(char *)&s,sizeof(s); if (!file)break; top+; readtop=s; file.close(); /关闭 reader.txt void clear()/删除所有读者信息 top=-1; int addreader(int n,char *na)/添加读者时先查找是否存在 Reader *p=query(n); if (p=NULL) top+; readtop.addreader(n,na); return 1; return 0; Reader *query(int readerid)/按编号查找 for (int i=0;i=top;i+) if (readi.getno()=readerid & readi.gettag()=0) return &readi; return NULL; void disp() /输出所有读者信息 for (int i=0;i=top;i+) readi.disp(); void readerdata();/读者库维护 RDatabase() /析构函数

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1