C++课程设计论文.docx
- 文档编号:3012866
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:32
- 大小:210.41KB
C++课程设计论文.docx
《C++课程设计论文.docx》由会员分享,可在线阅读,更多相关《C++课程设计论文.docx(32页珍藏版)》请在冰豆网上搜索。
C++课程设计论文
目录
1题目描述2
2功能分析3
3系统设计4
3.1程序总体结构4
3.2主功能模块设计5
3.2.1图书管理功能5
3.2.2读者管理功能5
3.2.3借阅管理功能5
3.3程序设计6
3.4类与函数的设计与实现7
3.4.1读者类7
3.4.2图书类8
3.4.3读者类库9
3.4.4图书库类10
4运行与测试结果12
5小结16
6参考文献17
1题目描述
请设计一个图书登记管理程序。
该程序应该具有下列功能:
(1)通过键盘输入某本图书的信息,并能对图书进行增加、修改、删除和查找;
(2)通过键盘输入读者信息,并可以增加读者、修改读者、删除读者、查找读者和显示读者信息;
(3)实现借阅功能;
(4)实现还书功能。
【题目要求】
(1)按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;
(2)图书信息应该包含:
编号、书名、作者姓名、出版社、价格等;
(3)为各项操作功能设计一个菜单。
应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
【输入要求】
应用程序运行后,在屏幕上显示一个菜单(菜单显示外观见前面的图示)。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
【输出要求】
(1)应用程序运行后,要在屏幕上显示一个菜单;
(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
2功能分析
根据图书管理的实际要求,结合本系统开发的要求,对与本章所要介绍的“图书管理系统”的需求实现如下功能:
1、书籍管理部分:
书籍信息管理包括书籍信息的添加、书籍信息的修改、书籍信息的查询、书籍信息的删除等。
2、读者管理部分:
读者信息管理包括添加读者信息、修改读者信息、删除读者信息、查询读者信息和读者借阅图书情况等。
3、借阅管理部分:
这一部分包括借书信息管理和还书信息管理两部分。
图1功能模块图
3系统设计
3.1程序总体结构
图2程序结构图
3.2主功能模块设计
3.2.1图书管理功能
书籍信息管理:
包括书籍信息的添加、书籍信息的修改、书籍信息的查询
、书籍信息的删除、书籍信息的显示和书籍信息的全删等6部分功能。
其中,书籍信息包括图书编号、书名、图书作者、出版社、价格已及是否在架。
3.2.2读者管理功能
读者信息管理:
包括读者信息的添加、读者信息的修改、读者信息的查询和读者信息的删除、读者信息的显示和读者信息的全删等6部分功能。
其中,读者信息包括读者姓名、读者编号和已借书数量及编号。
3.2.3借阅管理功能
借书管理:
借阅信息包括图书编号、读者编号。
还书管理:
还书信息与借阅信息各部分明细相同。
3.3程序设计
//main()函数的实现,程序的主界面的引导
voidmain()
{charchoice;
Book*b;
while(choice!
='0')
{cout< cout<<"\t\t\t1借书\n\n\t\t\t2还书\n\n\t\t\t3图书维护\n\n\t\t\t4读者维护\n\n\t\t\t0离开"< cin>>choice; switch(choice){ case'1': 借书………… cout<<"不存在该读者,不能借书"< ……… cout<<"不存在该图书,不能借书"< ………. cout<<"该图书已借出,不能借书"< break; case'2': 还书……… cout<<"不存在该读者,不能还书"< ……… cout<<"不存在该图书,不能还书"< break; case'3': 图书维护…………break; case'4': 读者维护…………break; default: cout<<"已退出! "; } } } 3.4类与函数的设计与实现 3.4.1读者类 //实现对读者的信息的描述 classReader{ private: inttag;//删除标记1: 已删0: 未删 intno;//读者编号 charname[10];//读者姓名 intborbook[Maxbor];//所借图书 public: Reader(){} char*getname(){returnname;}//获取姓名 intgettag(){returntag;}//获取删除标记 intgetno(){returnno;}//获取读者编号 voidsetname(charna[])//设置姓名 {strcpy(name,na);} voiddelbook(){tag=1;}//设置删除标记1: 已删0: 未删 voidaddreader(intn,char*na)//增加读者 {tag=0; no=n; strcpy(name,na); for(inti=0;i borbook[i]=0;} voidborrowbook(intbookid)//借书操作{ for(inti=0;i if(borbook[i]==0){ borbook[i]=bookid; return;} } } intretbook(intbookid)//还书操作{ for(inti=0;i {if(borbook[i]==bookid) {borbook[i]=0; return1;} }return0; } voiddisp()//读出读者信息{ cout< ["; for(inti=0;i if(borbook[i]! =0) cout< cout<<"]"< }; 3.4.2图书类 //实现对图书的描述,图书的编号,书名,借出,还入等 classBook{ private: inttag;//删除标记1: 已删0: 未删 intno;//图书编号 charname[20];//书名 charauthor[100];//作者 charpub[200];//出版社 intprice;//价格 intonshelf;//是否再架1: 再架2: 已借 public: Book(){} char*getname(){returnname;}//获取姓名 intgetno(){returnno;}//获取图书编号 intgetprice(){returnprice;} intgettag(){returntag;}//获取删除标记 voidsetname(charna[])//设置书名{ strcpy(name,na);} voidsetauthor(charau[])//设置作者{ strcpy(author,au);} voidsetpub(charpu[])//设置出版社{ strcpy(pub,pu);} voiddelbook(){tag=1;}//删除图书 voidaddbook(intn,char*na,char*au,char*pu,intt)//增加图书 {tag=0; no=n; strcpy(name,na); strcpy(author,au); strcpy(pub,pu); price=t; onshelf=1;} intborrowbook()//借书操作{ if(onshelf==1) {onshelf=0; return1;} return0;} voidretbook()//还书操作{ onshelf=1;} voiddisp()//输出图书{ cout< "在架": "已借")< }; 3.4.3读者类库 //实现建立读者的个人资料 classRDatabase{ private: inttop;//读者记录指针 Readerread[Maxr];//读者记录 public: RDatabase()//构造函数,将reader.txt读到read[]中{ Readers; top=-1; fstreamfile("reader.txt",ios: : in);//打开一个输入文件 while (1){ file.read((char*)&s,sizeof(s)); if(! file)break; top++; read[top]=s;} file.close();}//关闭reader.txt voidclear(){//删除所有读者信息 top=-1;} intaddreader(intn,char*na){//添加读者时先查找是否存在 Reader*p=query(n); if(p==NULL){ top++; read[top].addreader(n,na); return1;} return0;} Reader*query(intreaderid)//按编号查找{ for(inti=0;i<=top;i++) if(read[i].getno()==readerid&&read[i].gettag()==0){ return&read[i];} returnNULL;} voiddisp()//输出所有读者信息{ for(inti=0;i<=top;i++) read[i].disp();} voidreaderdata();//读者库维护 ~RDatabase()//析构函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 论文