C++课程设计报告书图书管理系统_第1页
C++课程设计报告书图书管理系统_第2页
C++课程设计报告书图书管理系统_第3页
C++课程设计报告书图书管理系统_第4页
C++课程设计报告书图书管理系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计名称:图书管理系统1.设计内容: 实现一个简单的图书管理,包括对新进图示的信息录入,按提示查询,为学生办理注册会员手续,实现简单的借书和还书,当然,没有注册会员的同学不能借图书馆里的任何书籍,以及按要求与提示对已有的图书进行查询和修改。2.设计目的与要求:2.1设计目的达到熟练掌握c+语言的基本知识和技能; 基本掌握面向对象程序设计的基本思路和方法; 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2.2设计要求要求利用面向对象的方法以及c+的编程思想来完成系统的设计; 要求在设计的过程中,建立清晰的类层次; 在系统的设计中,至少要用到面向对象的一种机制。3.系统分析与设

2、计3.1主要知识点 在c+中,文件定义为文件流类的一个对象,要进行文件的输入输出,必须先创建个文件流对象,并与指定的文件相关联,即打开文件,然后才能进行读写操作,完成后再关闭这个文件,这就是在c+中进行文件读写的基本过程。3.2关键技术 程序中定义了一个lib结构体和一个lib1类,结构体中定义要求的成员变量,类中定义了相应的成员函数。具体定义如下所示: (1):lib结构体 lib结构体中定义了:图书名称(name1)、图书编码(num1)、图书价格(price1)、图书作者(write1)、学生姓名(name2)、学生学号(num2)、学生性别(sex)等数据成员。(2):lib1类 li

3、b1中定义了六个成员函数,分别是:录入函数(input()、查询函数(search()、修改函数(change()、注册函数(register()、借书函数(borrow()、还书函数(return()。(3):全局变量 定义三个全局变量n,m,s,分别表示新进图书数量,现存图书数量和注册的学生数3.3基本功能要求(1)功能选择可以用菜单来实现例如:请选择: 1.录入新进图书信息 2.查询新进图书信息 3.修改指定图书信息 4.注册学生信息 5.办理借书手续 6.办理还书手续 0.退出用户通过输入不同的数字进入不同的菜单。次级菜单主要显示本程序的功能,主要的功能有录入信息、浏览信息、查询和修改

4、信息,注册信息,办理借书手续,办理还书手续。(2)运行时给出明确的提示信息。比如,查询学生信息,当选择3进入查询功能时,会出来一个选择界面:请选择:1按图书名称查询。2按作者姓名查询。选择1时,输入图书名称,若图书存在程序会输出你所要查询的图书的所有信息;若没有图书,系统会自动提醒:输入错误,并跳转回次级选择界面,选择2时类似。4.系统总体设计(确定程序功能模块) 本程序的功能结构如图1所示:图书管理系统 还书函数借书函数注册函数修改函数查询函数录入函数 基本功能:录入新进图书的基本信息基本功能:按提示查询图书信息(按图书名称、按作者名)基本功能:修改指定图书的信息基本功能:为学生注册会员记录

5、基本功能:办理借书手续,非会员不得借阅基本功能:办理还书手续5.源程序代码#include#include#include using namespace std;int n;/新增图书的数量int s;/注册会员总人数int m;/现存图书数量struct lib1 /定义图书结构体string name1;/图书名称int num1;/图书编号double price1;/图书价格 string write1;/作者姓名string name2;/借书人姓名string sex;/性别int num2;/学号;class lib /定义图书类public:lib()ofstream out

6、file(lib.dat,ios:out); /建立文件outfile.close();void input();/输入函数void search();/查询函数void change();/修改函数void register();/注册函数void borrow();/借书函数void return();/还书函数;/*/void lib:input() /输入函数ofstream outfile(lib.dat,ios:app);/在上面建立的文件的尾部添加数据 if(!outfile)cerropen error!endl;exit(1); cout 请输入新进图书的信息endl;cou

7、t * endl; cout endl;coutn; m=n;lib1 *p=new lib1n;for(int i=0;in;i+)1;coutpi.num1;coutpi.price1;coutpi.write1;cout endl;1endlpi.num1endlpi.price1endlpi.write1endlendl; /向文件输入数据outfile.close();cout * endlendl;system(pause);/*/void lib:search() /查询函数if(m=0)cout 请先录入图书信息!endl;co

8、ut *endl; elselib1 *lib=new lib1n;ifstream infile(lib.dat,ios:in); if(!infile)cerropen error!endl;exit(1);for(int i=0;1libi.num1libi.price1libi.write1;infile.close();int choose;cout * endl;cout endl;while(choose)cout 请选择:endl;cout 1.按作者名查询:endl;cout 2.按图书名称查询:endl;cout 0.退出。endlendl;coutch

9、oose;if(choose=0&choose=2)switch(choose)case(1): coutname; int flag=1; for(int i=0;in;i+) if(name=libi.write1) cout 图书名称: 1endl; cout 图书编号: libi.num1endl; cout 图书价格: libi.price1endl; cout 作者名: libi.write1endlendl; cout endl; flag=0; if(flag) cout 对不起,没有您要找的图书!endl;break;case(2):coutname;int

10、 flag=1;for(int i=0;in;i+)if(name=1)cout 图书名称: 1endl;cout 图书编号: libi.num1endl;cout 图书价格: libi.price1endl;cout 作者名: libi.write1endlendl;cout endl; flag=0;if(flag) cout 对不起,没有您要找的图书!endl;break;case 0:break;elsecout 输入错误!重新选择!endlendl;cout endlendl;system(pause);/*/void lib:change() /

11、修改函数if(m=0)cout 请先录入图书信息!endl;cout *endl;elseifstream infile(lib.dat,ios:in);lib1 *p=new lib1n; if(!infile)cerropen error!endl;exit(1);for(int i=0;1pi.num1pi.price1pi.write1;infile.close();int c,flag=1;string name,t;cout * endl; cout endlendl;while(c) cout 请输入:endl; cout 1.按图书名称修改endl; cout

12、2.按作者名修改endl; cout 0.退出endl; coutc; if(c=0&c=2) switch(c) case(1): coutt; for(int i=0;in;i+) if(t=1) flag=0; 1; coutpi.num1; coutpi.price1; coutpi.write1; cout 修改成功!endl; cout endlendl; ofstream outfile(lib.dat,ios:out); for(i=0;in;i+) 1endlpi.num1endlpi.price1endl pi

13、.write1endlendl; outfile.close(); if(flag) cout 输入错误,请重新输入!endl; break; break; case(2): coutname; for (int i=0;in;i+) if(name=pi.write1) flag=1; 1; coutpi.num1; coutpi.price1; coutpi.write1; cout 修改成功!endl; cout endl; ofstream outfile(lib.dat,ios:out); for(i=0;in;i+) 1endlpi

14、.num1endlpi.price1endl pi.write1endlendl; outfile.close(); if(flag) cout 对不起,没有该作者的书籍!endlendl; break; case(0): break; cout endlendl; system(pause);/*/void lib:register() /注册函数ofstream outfile(lib.dat,ios:app); /在上面建立的文件的尾部添加数据 if(!outfile)cerropen error!endl;exit(1);lib1 *stud=new lib1n; cout 欢迎注册e

15、ndl; cout * endl; cout endl; couts; for (int i=0;is;i+) 2; coutstudi.num2; coutstudi.sex; cout 会员注册成功! endl; cout endlendl; 2endlstudi.num2endlstudi.sexendl; /向文件输入数据 outfile.close();system(pause);/*/void lib:borrow() /借书函数if(m=0)cout 对不起,图书已全部借出!endl;elseifstream infi

16、le(lib.dat,ios:in);/打开文件 if(!infile)cerropen error!endl;exit(1);lib1 *stud=new lib1n;for(int i=0;2studi.num2studi.sex;/输出文件infile.close();cout 欢迎同学们前来借书endl;cout * endl; cout endlendl;for(i=0;in;i+) m-;string name,t; coutname;if(name=

17、2)coutt;if(t=1)cout 借阅手续已完成,请妥善保管书籍,按时归还,谢谢!endl;elsecout 对不起,没有您要借阅的书籍!endl;break;elsecout 对不起,您还不是注册的会员,无法办理借书手续!endl;break;cout endlendl;system(pause);void lib:return() /还书函数ifstream infile(lib.dat,ios:in); /打开文件 if(!infile) cerropen error!endl;exit(1);lib1 *stud=new lib1n;for(int i=0;i

18、2studi.num2studi.sex; /输出 infile.close();cout 欢迎同学们前来还书endl;cout * endl; cout endl;string name,t;for(i=0;in+1;i+)coutname;if(name=2)coutt;if(t=1)cout 还书手续已办成功,谢谢!endl; break;else cout 图书名称输入错误,请重新输入!endl;elsecout 借阅人姓名输入错误,请重

19、新输入!endl; cout endlendl;system(pause);/*/void tuichu() cout endl;cout * *endl;cout 谢谢使用,再见!endl;cout * *endl; cout endl;void menu()coutendlendl; /友好界面cout endl;cout * *endl;cout 欢迎进入图书管理系统 endl;cout * *endl;cout endl; coutendl;cout 请选择: endl;cout 1.录入新进图书信息 endl;cout 2.查询新进图书信息 endl;cout 3.修改指定图书信息

20、endl;cout 4.注册学生信息 endl;cout 5.办理借书手续 endl;cout 6.办理还书手续 endl;cout 0.退出图书管理系统 endl; /*/int main() lib a; int c; coutendl; while(1)menu(); coutc; cout=0&c=6) switch(c) case(1): system(cls); a.input(); break; case(2): system(cls); a.search(); break; case(3): system(cls); a.change(); break; case(4): system(cls); a.register(); break; case(5): system(cls); a.borrow(); break; case(6):system(cls); a.return(); break; case(0): tuichu(); exit(0); elsec

温馨提示

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

评论

0/150

提交评论