ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:163.28KB ,
资源ID:14707935      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14707935.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《面向对象程序设计》课程设计报告书模板.docx)为本站会员(b****5)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

《面向对象程序设计》课程设计报告书模板.docx

1、面向对象程序设计课程设计报告书模板河南城建学院面向对象程序设计课程设计报告书设 计 题 目:指 导 老 师:学 生 学 号:学 生 姓 名:同 组 人 员:时 间:2015年月日第1章 选 题1.1题目背景随着信息时代的到来和全社会信息化、网络化建设的兴起,传统的图书管理模式和操作方法越来越不能满足用户的需要.智能化、网络化、信息化的图书管理系统应用势在必行。1.2系统实现的具体分工系统分为读者类、读者类库、图书类以及主函数等几大模块,其中读者类实现对读者信息的描述,读者类库实现建立读者的个人资料,图书类实现对图书信息的描述,main() 函数实现对程序主界面的引导。1.2.1标题高校图书管理

2、系统1.3开发环境Visual C+ 6.0机型: 方正电脑处理器名称:Intel(R)Core(TM)2 Duo CPU E7200 2.53GHz硬盘驱动器:WDC WD1600AAJS-22WAAO系统内存: 金士顿内存2GB显示卡: NVIDIA GeFORCE 9400 GT显示器: 方正科技FG981-W9操作系统: Microsoft Windows XP Professional第2章 设计内容2.1实现功能系统主要包括读者服务、借还图书和退出功能。用户只需先进入读者服务中注册一下就可以进行借阅、查询。2.2概要设计(涉及类的框图)2.3 界面设计界面设计在工作流程上分为结构设

3、计、交互设计、视觉设计三个部分。结构设计 Structure Design结构设计也称概念设计 (Conceptual Design),是界面设计的骨架。该图书管理系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目录体系包括1 读者服务、2 借还图书、0 退出。其中读者服务又下分目录1 新增、2 更改、3 查找、4 显示、5 删除、0 退出。借还图书一栏中详细列出了书库中所存书本的编号及书名,即1 大学英语、2 高等数学、3 高级语言程序设计。充分体现了结构化的界面设计理念。交互设计 Interactive Design 交互设计的目的是使产品让用户能简单使用。 任何产品功

4、能的实现都是通过人和机器的交互来完成的。该图书管理系统中包含1)清楚的错误提示,误操作后,系统提供有针对性的提示。例如读者输入的姓名或编号错误时,系统会给出相应的提示,以指导读者进行正确的操作。2) 使用用户的语言,而非技术的语言。 3)方便退出。4)导航功能。随时转移功能,很容易从一个功能跳到另外一个功能。例如读者所需各服务间功能转换。人的因素被作为设计的核心体现出来。视觉设计 Visual Design 该管理系统界面清晰明了,在结构设计的基础上,参照目标群体的心理模型和任务达成进行了视觉设计。 第3章 系统实现3.1涉及知识点类封装、面向对象程序设计、数组的应用、循环语句的使用、过程化设

5、计的思想等3.2系统运行(主要运行界面抓图)主界面读者服务借还图书退出3.3源程序清单(关键代码)#include #include #include #include /新的,模版化的版本#include using namespace std;/读者类,实现对读者的信息的描述class Readerprivate: int tag; /删除标记 1:已删 0:未删 int no; /读者编号 char name10; /读者姓名 int borbook5;/所借图书public: Reader() char *getname() return name; /获取姓名 int gettag(

6、) return tag; /获取删除标记 int getno() return no; /获取读者编号 void setname(char na) /设置姓名 strcpy(name,na); /strcpy()是字符串函数,用来进行字符串的复制;strcpy(x,y)把Y的数据复制到X中 void addreader(int n,char *na)/增加读者 tag=0; no=n; strcpy(name,na);for(int i=0;i100;i+) borbooki=0; void disp()/读出读者信息 cout setw(5) no setw(10) name已成功借阅一本

7、图书!endl; ;/-/读者类库,实现建立读者的个人资料class RDatabaseprivate: int top; /读者记录指针 Reader read100;/读者记录public: RDatabase() /构造函数,将reader.txt读到read中 Reader s; top=-1; fstream file(reader.txt,ios:in);/打开一个输入文件 while (1) (char *)&s,sizeof(s);/sizeof返回一个对象或者类型所占的内存字节数 if (!; top+; readtop=s; (); /关闭 reader.txt void

8、clear()/删除所有读者信息 top=-1; int addreader(int n,char *na)/添加读者时先查找是否存在 Reader *p=query(n); if (p=NULL) top+; readtop.addreader(n,na); return 1; return 0; Reader *query(int readerid)/按编号查找 for (int i=0;i=top;i+) if (readi.getno()=readerid & readi.gettag()=0) return &readi; return NULL; void disp() /输出所有

9、读者信息 for (int i=0;i=top;i+) readi.disp(); void readerdata();/读者库维护 RDatabase() /析构函数,将read写到reader.txt文件中 fstream file(reader.txt,ios:out); for (int i=0;i=top;i+) if (readi.gettag()=0) (char *)&readi,sizeof(readi);/sizeof()当操作数具有数组类型时,其结果是数组的总字节数 (); ;void RDatabase:readerdata() char choice; char rn

10、ame20; int readerid; Reader *r; while (choice!=0) cout nnttt读 者 服 务nnnttt 1 新 增nnttt 2 更 改nnttt 3 查 找nnttt 4 显 示nnttt 5 删 除nnttt 0 退 出endl; cout choice; switch (choice) case 0: return; case 1: cout readerid; cout rname; addreader (readerid,rname); break; case 2: cout readerid; r=query(readerid);if (

11、r=NULL) cout 该读者不存在 endl; break; cout rname; r-setname(rname);break; case 3: cout readerid; r=query(readerid);if (r=NULL) cout 该读者不存在disp(); break; case 4: disp(); break; case 5: clear(); break; default: cout输入错误,请重新输入:; break; ;/-class Book public: void setBook(char*,int); void borrow(); void resto

12、re(); void display(); void T();private: char bookname40; int number; char flag;/在类外定义Book类的成员函数 void Book:T() coutflag; switch (flag) case b:borrow();break; case r:restore(); void Book:setBook(char *name,int num) strcpy(bookname,name); number=num;void Book:borrow() if (number=0) cout已没存书,退出!endl; ab

13、ort(); number=number-1; cout借一次,现存书量为:numberendl;void Book:restore() number=number+1; cout还一次,现存书量为:numberendl;void Book:display() cout存书情况:endlbookname:booknameendlnumber:numberendl;/main() 函数的实现,程序的主界面的引导int main() char choice; int bookid,readerid;RDatabase R; Reader *r; Book B; while(choice!=0) c

14、out endlendl 欢迎进入高校图书管理系统nnn; cout ttt1 读者服务 nnttt2 借还图书 nnttt0 退出endl;cout choice; switch (choice) case 0: cout 谢谢使用endl; return 0; case 1: R.readerdata(); break; case 2: cout nnnttt 借还图书nnn; coutttt书库中现存三种图书:nnttt1 大学英语nnttt2 高等数学nnttt3 高级语言程序设计endl; cout请输入读者编号:readerid; cout bookid; r=R.query(re

15、aderid);/按编号查找 if (NULL=r) cout 不存在该读者,不能借书 endl; break; switch(bookid) case 1: B.setBook(大学英语,1000); B.display(); B.T(); break; case 2: B.setBook(高等数学,1000); B.display(); B.T(); break; case 3: B.setBook(高级程序语言设计,1000); B.display(); B.T(); break; default:cout输入错误,请重新输入:; break; 第4章 结束语这次课程设计历经一个星期左右

16、,通过这一个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,也有很多闻所未闻的东西,理解实践的能力急需提高。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 它为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生运用所学知识解决实际问题的能力。这次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。刚开始的时候,大家就按照分配好了的任务进行,并且经常聚在一起

17、讨论各个方案的可行性。在课程设计中只有一个人的知识是远远不够的,必须要结合每个人的知识,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们成功的一项非常重要的保证。而这次设计也正好锻炼我们这一点,这也是非常宝贵的。 回顾起此次课程设计,至今我仍感慨颇多,起初在选题时,做出决定是非常困难的,若选择简单的题目,很有可能会很早就做完了,那样岂不是浪费了许多宝贵的时间;若选择比较难的题目,感觉自己的能力可能不够,不能完成课程设计,最后,在我们组的商量之下选了高校图书管理系统这个课题。定下了我们的目标。接着我们都开始做了,我们明确的分了一下任务,然后每个人都去干自己的了,对于不会的,不太清楚的我

18、们都会在一起讨论,研究。通过本次课程设计,我深刻认识到了“理论联系实际”的这句话的重要性及真实性,我不但知道了以前不知道的理论知识,而且也巩固了以前知道的知识。最重要的是在实践中理解了书本上的知识,明白了学以致用的真谛。也明白老师为什么要求我们做好这个课程设计的原因。他是为了教会我们如何运用所学的知识去解决实际的问题,提高我们的动手能力。在整个设计到按各种功能输出以及调试过程中,我个人感觉调试部分是最难的,我们把运行错误和不能运行的部分一遍遍的修改直到达到预期的效果。初拿到题目觉得很沮丧,虽然学了这么久的C+语言,但还是觉得它很深奥,对它几乎是一无所知。如何着手?在接下来的时间里大家集思广益,

19、在一起认真讨论,不甚理解的问题去查阅一些资料。然后写代码,运行调试虽然在这个过程中遇到了很多问题,有时候甚至为某个地方而茶饭不思。但程序编辑成功后那种激动,问题解决中遇到挑战自己亲自动手,终于解决那种成就感,几个人一起讨论,一起分析,同悲同喜那种患难及共的感觉,都使我们深深地体会到了感到学习的快乐和团结的力量,也让我们真正学习到了一些的知识,使我们感到前途是光明的、充满挑战及趣味的。计算机专业是一个需要紧密合作的工作,只有在一起合作才能高做出好的程序,但在其中也有一些的问题是我们都不能理解的,有很多是我们上课没有碰到的一些的问题真的是很让人头疼的。通过这次编程使我们认识到在以后的学习中要多做练

20、习增加自己的知识面才能更好的适应自己的工作,在其中由最初的沮丧中出来,充满信心地去解决问题。通过这次课程设计使我懂得了理论及实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识及实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说return的用法通过这次课程设计之后,我决定一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在崔老师的辛勤指导下,以及同学们的帮助下,最终迎刃面解。在此我向崔老师和那些帮助过我的同学们表示最衷心的感谢!参考文献1 钱能. C+程序设计教程(第一版).清华大学出版社2钱能. C+程序设计教程(第二版).清华大学出版社3C+入门经典(清华大学出版)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2