面向对象课程设计

上传人:痛*** 文档编号:160018510 上传时间:2022-10-09 格式:DOC 页数:17 大小:218.50KB
收藏 版权申诉 举报 下载
面向对象课程设计_第1页
第1页 / 共17页
面向对象课程设计_第2页
第2页 / 共17页
面向对象课程设计_第3页
第3页 / 共17页
资源描述:

《面向对象课程设计》由会员分享,可在线阅读,更多相关《面向对象课程设计(17页珍藏版)》请在装配图网上搜索。

1、沈阳理工大学课程设计专用纸No17目 录1课程设计目的及要求 022总体方案设计 03 2.1总体功能框图032.2类的设计说明032.3主要算法流程图043程序清单及注释 07 4运行结果与分析 135课程设计总结 16 6. 参考文献 17 1课程设计目的及要求:1)目的: 全面熟悉、掌握面向对象程序设计基本知识,掌握面向对象程序设计中的几个重要概念和特性,即类、对象、继承、封装和多态,和面向对象程序设计基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养

2、使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后再在专业课程中应用计算机系统解决计算、分析、实验和设计等等学习环节打下较扎实的基础。2)内容及要求:程序功能简介个人财政支出管理程序,完成收入,支出,盈余的记录和管理。课程设计要求(1) 增加函数,完成财政账目的管理功能。(2) 将所有的函数与相应的数据封装到类中,并改写主程序,使程序简化。(3) 可自行增加程序的功能。(4) 设计测试主程序,在主程序中完成测试。课程设计说明(1) SetGoal()函数账目中有问题,改正。(2) 可将整修记录装入一个字符串,在两条记录间用特殊符号隔开。(3) 查找相应记录时,可采用逐

3、个字节比较的方法。2总体方案设计2.1 总体功能框图:主界面菜单制定目标查看目录记录置零退出系统支出模式收入模式图2.1总体功能框图2.2 类的设计说明 在这个程序中的定义类为,class Mangaer。类是把各种不同类型的数据和对数据的操作组织在一起而形成的用户自定义的数据类型。此程序中的构造成员函数:Desposit, ViewTotal ,SetGoal, ViewTotal, SetZero。Deposit函数是记录函数,记录用户的收入,及对目录的更新。SetGoal函数是制定函数,制定用户的目标金额。ViewTotal函数用于查看用户的帐户。SetZero函数的用途为将用户之前的账

4、户内容,历史进行清零。Withdram函数的用途是,记录用户的支出记录,并且进行保存。2.3 主要算法流程图1)主函数流程图开始输入6输入5输入4输入3输入2输入1退出系统制定目标记录置零查看目录支出模式收入模式结束图2.3 主函数流程图开始2)收入模式流程图收入模式Mm1:dAmt=0 Num=o 输入dAmtNdAmt=0YdAmt=dAmt+num 结束图2.2收入模式流程图注释:mm是Manager,类的对象。 dAmt是收入数目 num是存入输入的数据 此段程序,进入收入模式,输入收入金额dAmt,判断dAmt的数据是否为正数,如果是就将dAmt重新赋值为dAmt+num。否则进行重

5、新输入。3)支出函数流程图开始Mm2:wAmt=0 Num=o 输入wAmtNwAmt=0YwAmt=wAmt+num 结束图2.3支出模式流程图注释:mm是Manager,类的对象。 wAmt是收入数目 num是存入输入的数据 此段程序,进入支出模式,输入支出金额wAmt,判断wAmt的数据是否为正数,如果是就将wAmt重新赋值为wAmt+num。3.程序清单及注释#include #include #include #include #include class Manager /定义类Managerprivate: double dAmt; /收入数目 char ans; /存放键盘字符

6、的ASCII码 double num; /存入输入的数据 double wAmt; /支出数目 double setAmt; /制定目标 double gAmt; /取目标金额 double balance; /收支金额 double newbalance; /与目标所差金额public: /声名我所有的函数 void Deposit(); /收入函数 void Withdraw(); /支出函数 void ViewTotal(); /查看帐目 void SetGoal(); /制定目标 void SetZero(); /记录置零;class Manager main() /主函数 Manag

7、er mm; /创建对象 char select; cprintf(=个人财政支出管理= );/显示标题# ifdef MIN coutnnn#调 试 模 式#endl;#endif coutnnt 收入模式endl; /选择进入收入模式 coutnt 支出模式endl; /选择进入支出模式 coutnt 查看帐目endl; /选择进入查看帐目模式 coutnt 制定目标endl; /选择进入制定目标模式 coutnt 记录置零endl; /选择记录置零 coutnt 退出系统endl; /选择退出 coutnt 帮 助 endl; coutselect; if(select = 1)mm.D

8、eposit();else if(select = 2)mm.Withdraw();else if(select = 3)mm.ViewTotal();else if(select = 4)mm.SetGoal();else if(select = 5)mm.SetZero();else if(select = 0) coutendlendlendl; getch(); main(); /回主函数 else if(select = 6) exit(1); /退出 else main(); /回主函数 void Manager:Deposit()/在程序中记录收入数目的函数 mm1:dAmt =

9、 0; num = 0; double a=0,c=0; ifstream get(Money.txt); /打开存贮数据文件# ifdef DE1 coutn#打开文件money.txt读取数据#anumc; /取得存档文件中的三个数据 get.close(); coutendlendl; cprintf(*收入* ); coutdAmt;/检查输入的数据是否为错误的数据或是零,然后继续 if(dAmt = 0) /如果数据小于等于零 coutnnnnnendl; cprintf( !错误的数据! .); getch(); main(); else coutnnt数据输入 dAmt.endl

10、; coutnt 确认你输入的数据: ; cinans; if(ans = y) dAmt = dAmt + num; /把新数据加到原有数据上 ofstream save(Money.txt);# ifdef DE2 coutn#打开文件money.txt,保存数据#endl;#endif saveandAmtnc; save.close(); coutnnnnnendl; cprintf( 你的收入数据成功输入.); coutnt 继续输入收入金额: ; cinans; if(ans = y)goto mm1; /继续输入数据 else coutendlendlendl; main();

11、/回主函数 getch(); coutendlendlendl; main(); /回主函数 else /中止输入数据 main(); /回主函数 main(); /回主函数 void Manager:Withdraw() /在程序中记录支出数目的函数 mm2:wAmt = 0; num = 0; double a=0,b=0; ifstream get(Money.txt); /打开存贮数据文件# ifdef WI1 coutn#打开文件money.txt,读取数据#abnum; /取得存档文件中的三个数据 get.close(); coutendlendl; cprintf(*支出* );

12、 coutwAmt; if(wAmt = 0) /检查输入的数据是否为错误的数据或是零,然后继续 coutnnnnnendl; cprintf( !错误的数据! .); getch(); main(); else coutnnt数据输入 wAmt.endl; coutnt 确认你输入的数据: ; cinans; if(ans = y) wAmt = wAmt + num; /把新数据加到原有数据上 ofstream save(Money.txt);# ifdef WI2 coutn#打开文件money.txt,保存数据#endl;#endif saveanbnwAmt; save.close(

13、); coutnnnnnendl; cprintf( 你的支出数据成功输入.); coutnt 继续输入支出金额: ; cinans; if(ans = y)goto mm2; /继续输入数据 else coutendlendlendl; main(); /回主函数 getch(); coutendlendlendl; main(); else /中止输入数据 main(); /回主函数 main(); /回主函数 void Manager:SetGoal() /在程序中制定目标金额的函数 setAmt = 0; double b=0,c=0,temp=0; coutendlendl; cpr

14、intf(*制定目标* ); coutsetAmt; /保存新数据到文件中 ifstream get(Money.txt); /打开存贮数据文件 gettempbc; /取得存档文件中的三个数据 get.close();# ifdef SG coutn#打开文件money.txt,保存数据#endl;#endif ofstream save(Money.txt); savesetAmtnbnc; save.close(); coutnnnnnendl; cprintf( 你的目标金额已建立.); getch(); coutendlendlendl; main();void Manager:Vi

15、ewTotal() /查看帐目函数 dAmt = 0; /收入数目 wAmt = 0; /支出数目 gAmt = 0; /取目标金额 balance = 0; /收支金额 newbalance = 0;/与目标所差金额# ifdef VT coutn#打开文件money.txt,读取数据#gAmtdAmtwAmt; /取得存档文件中的三个数据 get.close(); balance = dAmt - wAmt; /收入减去支出取得收支平衡数据 coutendlendl; cprintf(*查看帐目* ); coutnnendl; cprintf( 收支总数); coutendl; cprin

16、tf( =); coutnnendl; cprintf( 收入总金额 支出总金额 收支总金额 ); coutnendl; coutsetw(15)dAmtsetw(25)wAmtsetw(20)balanceendl;/使每两个数据按一定的间隔输出 newbalance = gAmt - balance; coutnnnendl; cprintf( 收支平衡); coutendl; cprintf( =); coutnnendl; cprintf( 目标金额 收支平衡金额 相差金额 ); coutnendl; coutsetw(15)gAmtsetw(25)balancesetw(23)new

17、balanceendl; getch(); coutendlendlendl; main(); /回到主函数void Manager:SetZero() /记录置零函数 coutnnnn 你确定要将记录置零: ; cinans; /确认是否要将记录置零 if(ans = y) dAmt = 0; /先初始数据为零 wAmt = 0; setAmt = 0;# ifdef SZ coutn#打开文件money.txt,保存数据#endl;#endif ofstream save(Money.txt); /打开存放数据的文件并将收入数据置零 savesetAmtndAmtnwAmt; save.c

18、lose(); coutendlendlendl; main(); /回主函数 else coutendlendlendl; main(); /回主函数4运行结果与分析1)登陆界面图5.1 登陆界面截屏2)收入模式图5.2收入模式截屏3)支出模式图5.3 支出模式截屏4)查看账目图5.4 查看账目截屏5)记录置零图5.5 记录置零截屏6)退出系统.图5.6 退出系统截屏5.课程设计总结面向对象程序课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。在如今高度计算机化的社会下,电脑编程在计算机领域已尤为重要,扮演着

19、一个不可或缺与替代的角色。经过一周的面向对象程序课程设计,我不但实践了课本的知识,还制作了自己的小程序,更重要的是自己对面向对象程序设计有了更深入的了解。在实践中,深刻体会到只有经过调试程序,我们才能掌握正确的语法知识及把解决问题的方法用程序语言来表达。在设计程序的过程中不仅使我掌握了面向对象程序设计基本技能,同时也增长了翻阅有关文献的能力,加强了实践能力及自学能力,培养了分析问题 和解决问题的能力。 想起这次课程设计的这些日子,至今我仍感慨颇多。以前上课时学的都是一些最基本的东西,觉得很枯燥无味。但当自己能把所学的知识转换为有用的东西时,心中却不知何时有了一种莫名的动力,在电脑前面一坐就是好

20、几个小时。或许这就是有压力才有动力吧!在整整一星期的日子里,面对一件新事物,从理论到实践,可以说是苦多于甜。这一周的课程设计,不仅使我巩固了以前所学过的知识,更使我获得了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从实践中得出结论,才能真正掌握好所学知识,才能够实现理论到使用的升华!这次课程设计过程中遇到问题,可以说是数不胜数。此外,在设计的过程中发现了自己对以前所学过的知识理解得不够透彻、掌握得不够牢固的不足之处。好的学习方法在学习中很多时候都起着至关重要的作用!尤其是在这次课程设计过程中

21、,深深地体会到,善于总结是学习过程中不可缺少的重要的一个环节。每次完成一个编程任务,完成一段代码,都应当有目的的跟踪该程序的调试和运行状况,随时总结,找到自己的错误与不足之处,这样所编写的程序才能逐步提高。就如生活那样,汗水预示着结果也见证着收获。直到实际动手做,我才真正领略到“一份耕耘,一份收获。”这一句话的真正含义。这次的面向对象程序设计,对我们而言,知识上的收获重要,但是在一个团队间的团结合作的幕幕更让我们记忆终生。挫折是一份财富,经历是一份拥有。虽然这些日子很短暂但我相信这次实际操作必会成为我人生路上的一段美好的回忆!最后我想对给过我帮助的所有同学和各位指导老师表示忠心的感谢!参考文献 李爱华.面向对象程序设计(C+语言).北京:清华大学出版社,2010 谭浩强.C+面向对象程序设计.北京:清华大学出版社,2006 钱能.C+程序设计教程.第二版.北京:清华大学出版社,2005 陈志泊.面向对象程序设计语言C+.第二版.北京:人民邮电出版社,2007 朱立华,朱建,俞琼.面向对象程序设计语言C+.北京:人民邮电出版社,2008沈阳理工大学

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!