面向对象程序课程设计报告-基于c语言的图书管理系统内容摘要:

id +addbook():void +borrowbook():int +retbook():void 湖南工程学院课程设计报告 4 +disp ():void 图 图书库 类的设计 Xingzhengrenyuan +top:int +clear():void +addbook(int n,char *na):int +bookdata():void +bookdata():void + disp():void 图 4. 系统调试 在调试过程中,出现了一些错误。 输入数据时,输错了数据的类型 会 造成死循环 ,因此输入时需要注意。 一开始主界面输入非正确数字时,没有提示错误。 容易造成用户误解 图 湖南工程学院课程设计报告 5 在主函数的 switch 语句结束处加上 default:cout输入错误,请从新输入:。 就可以了,修改后: 图 具体调试 过程。 主界面 图 图书维护 湖南工程学院课程设计报告 6 图 读者维护 图 本程序总共设计了 四 个类, 满足了课题对类的要求, 在 设计的过程中,建立 了较为清晰的类层次 ,也 利用 了 面向对象的方法以及 C++的编程思想来完成系统的设计 , 做到了 每个借阅者建立一个账户 , 账户中存储借阅者的个人信息、借阅信息 等要求。 而且界面美观 ,容易操作。 但是程序太长,不够简练,导致出现错误很难发现和修改。 湖南工程学院课程设计报告 7 6. 总结 感想和体会: 通过这次 的课程设计 , 让我充分的感觉到了要自己设计一个程序是多么的难, 以及学习好 c++是多么的重要。 在这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,课程的知识学得有多么的不扎实。 看网上的例子好像觉得也没那么难,自己一 上机实际操作就出现了很多问题,调试的时候系统总是在报错,还有很多警告,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。 虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。 以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。 附录 源 程序清单: include iostream include iomanip include string include fstream using namespace std。 const int Maxr=100。 const int Maxb=100。 const int Maxbor=5。 class Reader { private: int tag。 int no。 char name[10]。 int borbook[Maxbor]。 public: 湖南工程学院课程设计报告 8 Reader() {} char *getname() {return name。 } int gettag() {return tag。 } int getno() {return no。 } void setname(char na[]) { strcpy(name,na)。 } void delbook(){ tag=1。 } void addreader(int n,char *na) { tag=0。 no=n。 strcpy(name,na)。 for(int i=0。 iMaxbor。 i++) borbook[i]=0。 } void borrowbook(int bookid) { for(int i=0。 iMaxbor。 i++) { if (borbook[i]==0) { borbook[i]=bookid。 return。 } } } 湖南工程学院课程设计报告 9 int retbook(int bookid) { for(int i=0。 iMaxbor。 i++) { if(borbook[i]==bookid) { borbook[i]=0。 return 1。 } } return 0。 } void disp() { cout setw(5) no setw(10) name借书编号: [。 for(int i=0。 iMaxbor。 i++) if(borbook[i]!=0) cout borbook[i] |。 cout ]endl。 } }。 class RDatabase { private: int top。 Reader read[Maxr]。 public: RDatabase() 湖南工程学院课程设计报告 10 { Reader s。 top=1。 fstream file(,ios::in)。 while (1) { ((char *)amp。 s,sizeof(s))。 if (!file)break。 top++。 read[top]=s。 } ()。 } void clear() { top=1。 } int addreader(int n,char *na) { Reader *p=query(n)。 if (p==NULL) { top++。 read[top].addreader(n,na)。 return 1。 } return 0。 } Reader *query(int readerid) {。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。