图书管理系统C++课程设计.docx
- 文档编号:1672014
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:36
- 大小:657.92KB
图书管理系统C++课程设计.docx
《图书管理系统C++课程设计.docx》由会员分享,可在线阅读,更多相关《图书管理系统C++课程设计.docx(36页珍藏版)》请在冰豆网上搜索。
图书管理系统C++课程设计
信息科学与技术学院
程序设计基础课程设计报告
题目名称:
图书信息管理系统设计
学生姓名:
王栎沣
学号:
1102014
专业班级:
计科专业计双2011级1班
指导教师:
郭理
2012年6月21日
1.课程设计目的3
1.1.课程设计的题目3
1.2.课程设计的要求3
1.2.1问题描述(功能要求):
3
1.2.2问题的解决方案:
3
1.2.3其他要求:
3
2.总体设计4
2.1.新书入库模块4
2.2.信息查询模块4
2.2.1读者信息查询模块4
2.2.2图书信息查询模块4
2.2.3打印图书信息4
2.2.4打印读者信息4
2.3.借书模块4
2.4.还书模块4
3.详细设计5
3.1.类设计5
3.2.基本操作函数5
3.3.程序流程图6
3.3.1主函数流程图6
3.3.2初始化模块7
3.3.3借书模块7
3.3.4新书入库模块8
3.3.5信息查询模块8
3.3.6还书模块9
4.运行结果9
5.设计源码16
6.课程设计总结31
7.参考书目:
31
1.课程设计目的
1.1.课程设计的题目
图书信息管理系统设计
1.2.课程设计的要求
1.2.1问题描述(功能要求):
图书信息包括:
登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:
(1)系统以菜单方式工作
(2)图书信息录入功能(图书信息以文件保存)——输入
(3)图书信息浏览功能——输出
(4)查询和排序功能:
(至少一种查询方式)——算法
(5)图书信息的删除与修改(可选项)
1.2.2问题的解决方案:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中的各个类的描述(包括属性和方法)
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试
(7)完成系统总结报告以及系统使用说明书。
1.2.3其他要求:
(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读
(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)
(3)学生可自动增加新功能模块
2.总体设计
2.1.新书入库模块
功能:
登记入库的新书信息
2.2.信息查询模块
2.2.1读者信息查询模块
功能:
查询某一读者的信息
2.2.2图书信息查询模块
功能:
查询某一图书的信息
2.2.3打印图书信息
功能:
打印所有图书的信息
2.2.4打印读者信息
功能:
打印所有读者的信息
2.3.借书模块
功能:
登记读者的借书信息
2.4.还书模块
功能:
登记读者的还书信息
3.详细设计
3.1.类设计
typedefstructBOOK//声明图书结构体变量BOOK,表示图书信息
{
charnumber[10];//书号
chartitle[20];//书名
charwriter[10];//作者
charpublish[20];//出版社
intyear;//出版年份
intmonth;//出版月份
intday;//出版日期
floatprice;//出版价格
intstorage;//库存量
intremain;//现存量
structBOOK*next;//下一个节点指针
}BOOK;
typedefstructBORROW//借书信息
{
charbook_number[10];//书号
}BORROW;
typedefstructREADER//读者信息
{
charnumber[3];//读者编号
charname[10];//读者名字
intborrow_amount;//当前借书量
BORROWborrow[Max];//借书信息
structREADER*next;
}READER;
3.2.基本操作函数
intDisplayMenu();//显示主菜单
voidInitialize();//初始化(初始化读者和图书的信息)
voidInit_reader();//初始化读者信息
voidInit_book();//初始化图书信息
voidInsert_New_Book();//新书入库模块
intFind();//查找菜单
voidFind_Select();//查找菜单选择函数
voidFind_Reader();//查找某个读者信息
voidFind_Book();//查找某个图书信息
voidPrint_reader();//打印所有读者信息
voidPrint_book();//打印所有图书信息
voidBorrow_Book();//借书函数
voidReturn_Book();//还书函数
voidSave();//保存到文件
voidSelectmenu();//主菜单选择函数
3.3.程序流程图
3.3.1主函数流程图
图3.3.1主函数流程图
3.3.2初始化模块
图3.2初始化模块流程图
3.3.3借书模块
图3.3借书模块流程图
3.3.4新书入库模块
图3.4新书入库模块
3.3.5信息查询模块
图3.5信息查询模块流程图
3.3.6还书模块
图3.6还书模块流程图
4.运行结果
5.设计源码
/*StandardTemplateLibrary,标准模板库*/
#include
#include
usingnamespacestd;
#defineMax3
typedefstructBOOK//声明图书结构体变量BOOK,表示图书信息
{
charnumber[10];//书号
chartitle[20];//书名
charwriter[10];//作者
charpublish[20];//出版社
intyear;//出版年份
intmonth;//出版月份
intday;//出版日期
floatprice;//出版价格
intstorage;//库存量
intremain;//现存量
structBOOK*next;//下一个节点指针
}BOOK;
typedefstructBORROW//借书信息
{
charbook_number[10];//书号
}BORROW;
typedefstructREADER//读者信息
{
charnumber[3];//读者编号
charname[10];//读者名字
intborrow_amount;//当前借书量
BORROWborrow[Max];//借书信息
structREADER*next;
}READER;
BOOK*h_book=NULL;//图书链表头结点
READER*h_reader=NULL;//读者链表头结点
intDisplayMenu();//显示主菜单
voidInitialize();//初始化(初始化读者和图书的信息)
voidInit_reader();//初始化读者信息
voidInit_book();//初始化图书信息
voidInsert_New_Book();//新书入库模块
intFind();//查找菜单
voidFind_Select();//查找菜单选择函数
voidFind_Reader();//查找某个读者信息
voidFind_Book();//查找某个图书信息
voidPrint_reader();//打印所有读者信息
voidPrint_book();//打印所有图书信息
voidBorrow_Book();//借书函数
voidReturn_Book();//还书函数
voidSave();//保存到文件
voidSelectmenu();//主菜单选择函数
//显示主菜单
intDisplayMenu()
{
intchoice;
cout< cout< cout<<"*\t0----退出系统*"< cout<<"*\t1----新书入库*"< cout<<"*\t2----信息查询*"< cout<<"*\t3----借书登记*"< cout<<"*\t4----还书管理*"< cout< cout<<"请选择相应选项: "; while (1) { cin>>choice; if(choice<0||choice>4) cout<<"\n错误! 请重新输入: "; else break; } returnchoice; } voidInitialize()//初始化(初始化读者和图书的信息) { Init_book(); Init_reader(); } voidInit_book()//初始化图书信息 { BOOK*pBook;//创建指向BOOK类的指针 pBook=(BOOK*)malloc(sizeof(BOOK)); /*sizeof是C/C++中的一个操作符(operator),作用是返回一个对象或者类型所占的内存字节数。 */ /*Malloc向系统申请分配指定size个字节的内存空间。 返回类型是void*类型。 */ /*void*类型可以强制转换为任何其它类型的指针。 */ memset(pBook,0,sizeof(BOOK));//函数原型void*memset(void*s,intch,size_tn); /*memset函数的作用是将s中前n个字节替换为ch并返回s;*/ h_book=pBook; //打开文件 if(freopen("book.txt","r",stdin)==NULL) { fclose(stdin); freopen("CON","r",stdin); return; } while (1) { //读取读者信息 cin>>pBook->number; if(strcmp(pBook->number,"0")==0)//读到了文件末尾 //strcmp是字符串比较函数 { //关闭文件输入流,恢复标准输入流 fclose(stdin);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 C+ 课程设计