c语言图书管理系统报告doc.docx
- 文档编号:1741553
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:15
- 大小:1.40MB
c语言图书管理系统报告doc.docx
《c语言图书管理系统报告doc.docx》由会员分享,可在线阅读,更多相关《c语言图书管理系统报告doc.docx(15页珍藏版)》请在冰点文库上搜索。
c语言图书管理系统报告doc
第一章课程设计的目的
C++程序实验设计是一种综合知识运用要求较为丰富,知识联系较为紧密,设计的产品十分实用的课程。
程序设计的目的主要在于通过课程设计的综合训练,培养我们的实际分析问题、编程和动手的能力,促使我们边学边练,最终帮助我们系统的掌握课程的主要内容,更好的完成C++课程学习任务。
我们通过设计一个小型的系统,进一步熟悉和掌握面向对象程序设计的基本概念、C++中类的概念、类的封装、继承的实现方式。
了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C++的理解与VisualC++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯.我们的课题要求用菜单的形式进行操作,要保持界面的独立性和美观性,需要使用模块,使其程序清晰美观.同时这些要求使我们加深了对模块的理解和划分。
我们的程序设计还要求有大量的对数据的操作和处理,更加加深了对已有知识的理解和巩固。
在彻底完成任务后,使我们在程序编写和全局组织系统的流程上一定大有裨益,这就是我们课程设计的目的.
第二章课程设计题目问题描述和要求
2。
1题目的问题描述
试设计一图书信息管理系统,使之能提供以下功能:
系统以菜单方式工作
1)图书信息录入功能(图书信息用文件保存)--输入
2)图书信息浏览功能--输出
3)查询和排序功能:
(至少一种查询方式)--算法
4)按书名查询
5)按作者名查询
6)图书信息的删除与修改(可选项)
2.2题目的要求
设计一图书信息管理系统,使之输入的图书信息包括:
登录号、书名、作者名、分类号、出版单位、出版时间、价格等并且能提供以下功能:
a。
系统以菜单方式工作
1)图书信息录入功能(图书信息用文件保存)--输入
2)图书信息浏览功能--输出
3)查询和排序功能:
(至少一种查询方式)--算法
4)按书名查询
5)按作者名查询
6)图书信息的删除与修改(可选项)
b。
使程序的输出清晰美观。
第三章系统分析与设计
3。
1系统的总体设计(系统的总体框图)
我们的程序设计主要包括:
1.数据输入:
调用addbook()函数,输入图书名、图书编号、作者名、图书分类号、出版单位、价格、出版时间;
2.数据处理:
通过图书库类(BDatabase)中调用*query()、*query2()、*query3()、bookdata()函数,完成了图书信息的修改、删除、查询、显示。
3.2系统的详细设计(模块的流程图)
我们的程序包括两个类:
图书类和图书库类以及main()函数。
其中图书类中的有8个私有数据成员tag、number、name[20]、author[10]、no2[10]、house[20]、time[20]、price和setname()、setauthor()、setno2()、sethouse()、settime()、setprice()、setnumber()、delbook()、addbook()、disp()等10个成员函数;图书库类中有2个私有数据成员top、Bookbook[Maxb]和BDatabase()、addbook()、*query()、*query2()、*query3()、bookdata()、~BDatabase()、disp()8个成员函数。
其中我主要是负责对登录号、欢迎界面、菜单设计以及修改信息和删除信息的操作这一部分模块.
否
输入1234
3.3源程序编制
菜单设置源代码:
while(choice!
=0)
{cout〈〈endl〈 cout〈<"※***********※”〈〈endl; cout<〈"*1添加信息*”<〈endl; cout<〈”*2修改信息*"< cout<〈"*3删除信息*"〈〈endl; cout〈<"*4信息查询*"< cout<〈”*5显示信息*”〈〈endl; cout〈〈”*6全部删除*"〈〈endl; cout<〈"*0退出*”〈 cout〈〈"※**********※”〈〈endl〈 cout〈 ”; cin〉>choice; while(choice! =1&&choice! =2&&choice! =3&&choice! =4&&choice! =5&&choice! =6&&choice! =0) { cout〈〈endl〈〈”**您输入的编号在菜单里不存在,请重新输入**"〈〈'\a’〈 cout〈<"请选择您需要的操作: ”; cin〉>choice; } 修改图书信息源代码: case2: cout<<"输入图书编号: ”; cin〉>bookid; b=query(bookid); if(b==NULL) { cout〈〈"该图书不存在”〈〈endl; break; } cout< cout<〈”************”〈〈endl; cout〈<”*1书名*"〈 cout〈〈"*2作者*"<〈endl; cout〈<”*3分类号*"〈〈endl; cout〈〈”*4出版单位*”<〈endl; cout〈〈”*5出版时间*”〈〈endl; cout〈〈”*0退出系统*”〈〈endl; cout<<”************”〈 cout<<”请输入要更改的: 1书名2作者名3分类号4出版单位5出版时间0退出”; cin>〉choice2; switch(choice2) { case1: cout<<"输入新的书名: ";//修改图书名 cin〉〉bname; b—〉setname(bname); break; case2: cout〈〈"输入新的作者名: ”;//修改图书作者 cin>〉bauthor; b—〉setauthor(bauthor); break; case3: cout<〈”输入新的分类号: ”;//修改图书的分类号 cin>〉bno2; b-〉setno2(bno2); break; case4: cout〈<"输入新的出版单位: ”;//修改图书出版单位 cin〉〉bhouse; b—〉sethouse(bhouse); break; case5: cout〈<”输入新的出版时间: ”; cin〉>btime; b-〉settime(btime);//修改出版时间 break; } 图书删除源代码: case3: cout〈〈”输入图书编号: ”; cin〉〉bookid; b=query(bookid); if(b==NULL) { cout〈〈”该图书不存在”〈〈endl; break; } b—>delbook(); break; 登陆号&欢迎界面设置源代码: intpassword; cout〈〈”ΘΘΘΘΘΘΘΘwelecome! ΘΘΘΘΘΘΘΘ”; cout〈〈endl; cout<<"请输入登陆号: ”; cin>〉password; while(password! =1234) { cout<〈endl<〈”ΘΘ密码有误ΘΘ”〈<’\a’〈〈endl; cout〈<”请重新输入密码: "; cin〉〉password; } system(”cls"); intnb; { cout〈〈endl〈〈endl; cout<〈"★☆☆★☆☆★☆☆★☆☆★☆☆★☆☆★”<〈endl; cout〈〈"¤¤”〈 cout〈<”¤¤”〈 cout<〈"¤欢迎使用图书馆信息管理系统¤”〈 cout<<”¤¤"〈〈endl; cout〈〈”¤¤"〈〈endl; cout〈〈"★☆☆★☆☆★☆☆★☆☆★☆☆★☆☆★”〈〈endl; } cout〈〈endl〈〈endl〈〈"输入1进入菜单: "; cin〉>nb; 第四章系统调试出现的问题 我们在编写程序的过程中编写得比较认真仔细,循序渐进。 所以在最后的程序正式完成后没有发现什么特别大型的错误。 但是有两个是特别我们注意: 1.在图书库类中我们有一个图书记录的数组。 那么这个数组的大小怎样的定义,是我们的一个问题,因为这个大小不仅影响此处的定义还影响了后面for循环中对图书数量的数据使用问题.由于我们首先没有在开始时使用constintMaxb=10000来限定最多的图书数量,我们就不好定义图书库类中的图书记录数组以及后面操作时的使用;2.我们的程序初步成形调试程序时,对同一文件名也就是图书名字相同时进行查询操作时不能输出所有相同图书名字的图书信息。 这是因为我们写程序时没有注意程序的输出和返回值的问题.就是在编写按图书名查询*query2()这一函数时,函数中虽然使用了for循环语句但是用return返回的值只有一个。 所以在按图书名查询*query2()函数中把return语句改为“book[i]。 disp();"就可以把问题解决好,也就是能够在按图书名查询时把相同图书名字的图书信息都输出来。 第五章系统运行报告 图一: 输入系统登录号,进入系统菜单 图二: 欢迎界面 图三: 系统菜单界面 图四: 添加图书信息 图五: 显示图书信息 图六: 修改图书信息 图七: 显示图书信息 图八: 查询图书信息 图九: 删除所有图书信息 图十: 退出系统 第六章总结 通过将近半个月的精心设计和程序调试修改,图书信息管理系统课程程序实验设计最终完成,我们的程序具备了题目所要求的所有功能,各模块之间的衔接也十分的好.同时我们小组还自己精心设计对图书信息的输出的美观化。 并且程序设计实验按时完成了任务。 在这一次的课程设计中我们更深的了解了面向对象程序设计的概念,进一步丰富了自己的编程技巧,并在课程设计的实践中学习了更多的实验和理论知识,积累了些许的实战经验,为以后更好的编程奠定良好的基础。 此外,在课程设计中遇到的c/c++的一些问题,我们学会了怎样独立自主的解决和团队精神解决问题,这使得我们进一步巩固了以前的知识以及c/c++语言的实用性有新的认识的同时还学会、领悟了学习中的遇到问题的解决办法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 图书 管理 系统 报告 doc