




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录第1章课程设计目的与要求11.1 课程设计目的11.2 课程设计的实验环境11.3 课程设计的预备知识11.4 课程设计要求1第2章课程设计内容22.1 C+语言程序设计图书馆管理系统问题分析22.1.1 功能分析22.1.2 算法设计及程序设计中技术重点22.2 程序中涉及的类的UML类图和主要函数流程图或框图42.2.1系统UML类图42.2.1系统流程图52.3 程序源代码72.4 系统运行结果12第3章参考文献16第1章 课程设计目的与要求1.1 课程设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对
2、所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程C+语言教程的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C+语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握面向对象程序设计的方法。(6)熟练掌握C+语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集
3、成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。1.2 课程设计的实验环境硬件要求能运行Windows 操作系统的微机系统。C+语言应用程序开发软件使用:VC+ 系统,或其他C+语言应用程序开发软件。1.3 课程设计的预备知识熟悉C+语言程序设计的基本知识及VC+编辑器的使用方法。1.4 课程设计要求1. 仔细分析设计题目,画出程序流程图,编写程序源代码。2. 积极上机调试源程序,增强编程技巧与调程能力。3. 认真书写课程设计预习报告,课程设计说明书。4. 遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成课程设计内容。第2章 课程设计内容2
4、.1 C+语言程序设计图书馆管理系统问题分析2.1.1 功能分析设计一个图书馆管理系统,完成图书管理和读者管理的功能,并能对借阅信息进行管理,要求完成以下功能:1. 读者信息管理,可以添加、修改、删除、查询读者信息;2. 图书信息管理,可以添加、修改、删除、查询书籍信息;3. 借书信息管理,可以进行添加借书信息。 4. 还书信息管理,可以进行添加还书信息。本系统为两人合作,一人负责图书管理模块和还书模块,一人负责读者模块和还书模块,工作量相同,难度适中。我负责图书管理模块和还书模块。程序中所涉及C+语言内容包括:C+语言编译预处理过程、函数、数组、类、继承、封装、多态,重载,面向对象程序设计等
5、相关内容。2.1.2 算法设计及程序设计中技术重点采用C+编写Win32 Console Application。使用文本文件保存数据。定义读者类,保存单个读者信息。定义读者库类,实现建立读者的个人资料。定义图书类,保存单个图书信息。定义图书库类,实现对图书的维护,查找,删除等。编制主函数 main() 完成函数调用过程。使用文本文件利用输入输出流留保存和提取数据。因为我做的是图书管理模块和还书模块,经过分析进行类和接口的结构设计,进行对象的抽象,设计出类的内容,画出UML类图。类设计参数如表2-1、表2-2。图书类:Book表2-1图书类设计参数名称说明类别int no; 图书编号成员变量c
6、har name20; 书名 成员变量char author20; 作者成员变量char cbs20; 出版社成员变量Book();构造函数char *getname(); 获取书名成员函数char *getauthorname(); 获取作者名成员函数char *getcbsname(); 获取出版社名 成员函数int getno(); 获取图书编号成员函数int gettag(); 获取删除标记 成员函数void setname(char na); 设置书名成员函数void setonshelf(int oa); 成员函数void delbook(); 删除图书 成员函数void addb
7、ook(int n,char *na,char *aa,char *ca,int oa); 增加图书 成员函数int borrowbook(); 借书操作 成员函数void retbook(); 还书操作成员函数void disp(); 输出图书成员函数图书库类。BDataBase表2-2图书库类设计参数名称说明类别int top; 图书记录指针成员变量Book bookMaxb; 图书记录成员变量BDatabase(); 构造函数,将book.txt读到book构造函数void clear(); 全删成员函数int addbook(int n,char *na,char *aa,char *
8、ca,int oa); 增加图书 成员函数Book *query(int bookid); 按编号查找图书 成员函数Book *query2(char a); 按书名查找图书 成员函数Book *query3(char a); 按作者查找图书 成员函数Book *query4(char a); 按出版社查找图书 成员函数void bookdata(); 图书库维护成员函数void disp(); 显示成员函数BDatabase(); 析构函数,将book写到book.txt成员函数2.2 程序中涉及的类的UML类图和主要函数流程图或框图2.2.1系统UML类图图书类UML类图如图2-1。Boo
9、k-Tag: int -no :int -name20 :char -author20 :char -cbs20: char -onshelf: int +Book() +getname():char * +getauthorname():char * +getcbsname():char * +getno() return no; : int +gettag() return tag; : int +setname(char na):void +setonshelf(int oa) :void +delbook():void +addbook(int n,char *na,char *aa,
10、char *ca,int oa): void +borrowbook():int +retbook():void +disp():void 图2-1图书类UML图图书库类UML类图如图2-2。BDatabase-Top:int -bookMaxb:Book +BDatabase() +clear():void +addbook(int n,char *na,char *aa,char *ca,int oa) :int +query(int bookid) :Book * +query2(char a):Book * +query3(char a):Book * +query4(char a):
11、Book * +bookdata():void +disp():void+BDatabase() 图2-2图书库类UML图2.2.1系统流程图系统结构图如图2-3所示。图书馆管理系统图书管理读者管理借书还书退出图书添加图书修改图书查询读者添加读者修改读者查询借书操作还书操作图2-3 系统结构图系统流程图如图2-4。进入程序,开始输出提示信息输入选择的功能图2-4 main函数流程图退出,结束程序4023退出函数读者管理模块图书管理模块还书模块借书模块1判断输入的选项借书模块流程图如图2-5所示。NYY进入借书模块,开始输出提示信息输入读者编号和借阅的图书编号提示错误信息读者是否存在YN图书是否
12、存在提示错误信息提示错误信息图书是否全部借出N保存借书信息提示成功信息退出借书模块,结束图2-5 借书模块流程图0进入图书管理模块,开始输出提示信息输入操作编号判断操作13添加图书信息提示成功信息退出图书管理模块,结束图2-6 图书管理模块流程图保存图书信息2保存图书信息提示成功信息退出修改图书信息显示图书信息2.3 程序源代码class Book /图书类,实现对图书的描述,图书的编号,书名,借出,还入等 private: int tag; /删除标记 1:已删 0:未删 int no; /图书编号char name20; /书名 char author20; /作者char cbs20;
13、/出版社int onshelf; /是否再架 1:再架 2:已借 public: Book();char *getname(); /获取书名char *getauthorname(); /获取作者名char *getcbsname(); /获取出版社名 int getno(); /获取图书编号int gettag(); /获取删除标记 void setname(char na); /设置书名void setonshelf(int oa); void delbook(); /删除图书 void addbook(int n,char *na,char *aa,char *ca,int oa); /
14、增加图书 int borrowbook(); /借书操作 void retbook(); /还书操作void disp(); /输出图书;class BDatabase /图书库类,实现对图书的维护,查找,删除等 private: int top; /图书记录指针Book bookMaxb; /图书记录public: BDatabase(); /构造函数,将book.txt读到book中 void clear(); /全删int addbook(int n,char *na,char *aa,char *ca,int oa); /增加图书 Book *query(int bookid); /按
15、编号查找图书 Book *query2(char a); /按书名查找图书 Book *query3(char a); /按作者查找图书 Book *query4(char a); /按出版社查找图书 void bookdata(); /图书库维护void disp(); BDatabase(); /析构函数,将book写到book.txt文件中;Main.cpp#include stdafx.h#include #include #include #include #include #include char today32 =;char second32=; using namespace
16、 std; void gettime() tm *temptm; time_t temptime; temptime=time(0); temptm=localtime(&temptime); couttt系统报时: tm_year+1900-tm_mon+1-tm_mdayttm_hour:tm_min:tm_secendl; couttodaytsecondendl; memset(today,0,32); memset(second,0,32);void main() /main() 函数的实现,程序的主界面的引导 gettime(); char choice; int bookid,r
17、eaderid; RDatabase ReaderDB; Reader *r; BDatabase BookDB; Book *b;coutt*endl;coutt*欢迎使用图书馆管理系统,希望能为你提供更好的服务*endl;coutt* 请注意:只有安全退出本系统,才会保存数据。 *endl;coutt*endl;while(choice!=0) cout endlendlttt 图 书 管 理 系 统nnn; cout ttt1 借 书nnttt2 还 书 nnttt3 图 书 维 护nnttt4 读 者 维 护nnttt0 离 开endl; cout choice; switch (ch
18、oice) case 1: system(cls);couttttt借书操作endl;cout readerid;r=ReaderDB.query(readerid); if (NULL=r) /按编号查找是否有该读者 cout 不存在该读者,不能借书! endl; break; cout bookid; b=BookDB.query(bookid); if (b=NULL) /按编号查找是否有该图书 cout 不存在该图书,不能借书!borrowbook()=0) cout 该图书已借完,不能借书!tm_year+1900,temptm-tm_mon+1,temptm-tm_mday); c
19、out借书成功!borrowbook(b-getno(),today);break; case 2: system(cls);couttttt还书操作endl; coutreaderid; r=ReaderDB.query(readerid); if (r=NULL) cout 不存在该读者,不能还书 endl; break; cout bookid; b=BookDB.query(bookid); if (b=NULL) cout 不存在该图书,不能还书 retbook(); r-retbook(b-getno();break; case 3: system(cls); BookDB.boo
20、kdata();break; case 4: system(cls); ReaderDB.readerdata(); break; default: break; 2.4 系统运行结果编译运行程序,进入系统主界面。如图2-7。图2-7系统主界面选择2,进入图书管理界面。如图2-8。图2-8图书管理主界面添加一本新的图书。如图2-9。图2-9图书管理界面及添加图书界面选择4,查询图书,输入编号3查询编号为3的图书,可以看到刚刚添加的图书:C+程序设计。如图2-10。图2-10查找图书界面选择3修改图书,提示是否修改,选择Y修改图书,输入新的图书信息(把库存量改为15)。如图2-11。图2-11修改图书界面选择5显示图书,可以看到图书信息已经修改。如图2-12。图2-12显示图书界面下面是借书模块的设计,查询一下读者信息,该读者没有借书。如图2-13。图2-13查询读者是否借书界面在主菜单下选择1借书,输入读者编号和书籍编号,提示借书成功。如图2-14。图2-14借书界面查询一下读者信息,该读者已经借书。如图2-15。图2-15查询读者是否借书界面 课程设计总结通过这次课程设计,我设计了一个图书馆管理信息系统。我对C+程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营业用房租赁合同
- 劳务派遣合同模板模板
- 护理考试试题及答案
- 会计电算化考试试题及答案
- 护师2025试卷及答案
- 河南医学基础题库及答案
- 2025浙江温州科研助理的招聘5人备考练习试题及答案解析
- 2025云南山海遊旅游集团有限公司下属公司招聘6人备考练习题库及答案解析
- 2025山东省临沂市兰山街道招聘81人备考练习题库及答案解析
- 急诊急救知识试题(含答案)
- 2025下半年网络管理员考题试卷及答案
- 2024年陕西数字教育年度发展报告-陕西省教育厅
- 探针卡基础知识培训课件
- 2025年留置看护队考试题库及答案
- 幽门螺旋杆菌教学课件
- (高清版)DBJ∕T 13-318-2025 《建筑施工盘扣式钢管脚手架安全技术标准》
- 高三秋季开学第一课:语你相遇文暖我心+课件+2025-2026学年统编版高一语文必修上册
- 心内科常见疾病健康宣教
- 煤粉锅炉培训课件
- 面塑教学 课件
- 2025年小学体育课程标准考试测试卷及参考答案
评论
0/150
提交评论