面向对象课程设计.docx
- 文档编号:26908711
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:20
- 大小:171.45KB
面向对象课程设计.docx
《面向对象课程设计.docx》由会员分享,可在线阅读,更多相关《面向对象课程设计.docx(20页珍藏版)》请在冰豆网上搜索。
面向对象课程设计
面向对象课程设计
1.课程设计目的及要求…………………………………………………02
2.总体方案设计…………………………………………………………03
2.1总体功能框图………………………………………………………03
2.2类的设计说明………………………………………………………03
2.3主要算法流程图……………………………………………………04
3.程序清单及注释………………………………………………………07
4.运行结果与分析………………………………………………………13
5.课程设计总结…………………………………………………………16
6.参考文献………………………………………………………………17
1.课程设计目的及要求:
1)目的:
全面熟悉、掌握面向对象程序设计基本知识,掌握面向对象程序设计中的几个重要概念和特性,即类、对象、继承、封装和多态,和面向对象程序设计基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后再在专业课程中应用计算机系统解决计算、分析、实验和设计等等学习环节打下较扎实的基础。
2)内容及要求:
程序功能简介
个人财政支出管理程序,完成收入,支出,盈余的记录和管理。
课程设计要求
(1)增加函数,完成财政账目的管理功能。
(2)将所有的函数与相应的数据封装到类中,并改写主程序,使程序简化。
(3)可自行增加程序的功能。
(4)设计测试主程序,在主程序中完成测试。
课程设计说明
(1)SetGoal()函数账目中有问题,改正。
(2)可将整修记录装入一个字符串,在两条记录间用特殊符号隔开。
(3)查找相应记录时,可采用逐个字节比较的方法。
2.总体方案设计
2.1总体功能框图:
图2.1总体功能框图
2.2类的设计说明
在这个程序中的定义类为,classMangaer。
类是把各种不同类型的数据和对数据的操作组织在一起而形成的用户自定义的数据类型。
此程序中的构造成员函数:
Desposit,ViewTotal,SetGoal,ViewTotal,SetZero。
Deposit函数是记录函数,记录用户的收入,及对目录的更新。
SetGoal函数是制定函数,制定用户的目标金额。
ViewTotal函数用于查看用户的帐户。
SetZero函数的用途为将用户之前的账户内容,历史进行清零。
Withdram函数的用途是,记录用户的支出记录,并且进行保存。
2.3主要算法流程图
1)主函数流程图
图2.3主函数流程图
2)收入模式流程图
图2.2收入模式流程图
注释:
mm是Manager,类的对象。
dAmt是收入数目
num是存入输入的数据
此段程序,进入收入模式,输入收入金额dAmt,判断dAmt的数据是否为正数,如果是就将dAmt重新赋值为dAmt+num。
否则进行重新输入。
3)支出函数流程图
图2.3支出模式流程图
注释:
mm是Manager,类的对象。
wAmt是收入数目
num是存入输入的数据
此段程序,进入支出模式,输入支出金额wAmt,判断wAmt的数据是否为正数,如果是就将wAmt重新赋值为wAmt+num。
3.程序清单及注释
#include
#include
#include
#include
#include
classManager//定义类Manager
{
private:
doubledAmt;//收入数目
charans;//存放键盘字符的ASCII码
doublenum;//存入输入的数据
doublewAmt;//支出数目
doublesetAmt;//制定目标
doublegAmt;//取目标金额
doublebalance;//收支金额
doublenewbalance;//与目标所差金额
public:
//声名我所有的函数
voidDeposit();//收入函数
voidWithdraw();//支出函数
voidViewTotal();//查看帐目
voidSetGoal();//制定目标
voidSetZero();//记录置零
};
classManagermain()//主函数
{
Managermm;//创建对象
charselect;
cprintf("======个人财政支出管理======");//显示标题
#ifdefMIN
cout<<"\n\n\n##########################调试模式#########################"< #endif cout<<"\n\n\t<1>收入模式"< cout<<"\n\t<2>支出模式"< cout<<"\n\t<3>查看帐目"< cout<<"\n\t<4>制定目标"< cout<<"\n\t<5>记录置零"< cout<<"\n\t<6>退出系统"< cout<<"\n\t<0>帮助"< cout<<"\n\n\t请输入你的选择: "; cin>>select; if(select=='1'){mm.Deposit();}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'){ cout< getch(); main();//回主函数 }else{ if(select=='6') {exit (1);}//退出 elsemain();//回主函数 }}}}}} } voidManager: : Deposit(){//在程序中记录收入数目的函数 mm1: dAmt=0; num=0; doublea=0,c=0; ifstreamget("Money.txt");//打开存贮数据文件 #ifdefDE1 cout<<"\n#########################打开文件money.txt读取数据#########################"< #endif get>>a>>num>>c;//取得存档文件中的三个数据 get.close(); cout< cprintf("**************************收入**************************"); cout<<"\n\n\t请输入收入金额: $"; cin>>dAmt; //检查输入的数据是否为错误的数据或是零,然后继续 if(dAmt<=0){//如果数据小于等于零 cout<<"\n\n\n\n\n"< cprintf("! ! ! ! ! ! ! ! ! ! 错误的数据! ! ! ! ! ! ! ! ! ! .."); getch(); main(); }else{ cout<<"\n\n\t数据输入<"< cout<<"\n\t确认你输入的数据 "; cin>>ans; if(ans=='y'){ dAmt=dAmt+num;//把新数据加到原有数据上 ofstreamsave("Money.txt"); #ifdefDE2 cout<<"\n#########################打开文件money.txt,保存数据#########################"< #endif
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 课程设计