南京理工大学C++课程设计报告.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南京理工大学C课程设计报告

南 京 理 工 大 学 C++课程设计报告 1010190410吴立珠 程序功能简介 个人财政支出的管理程序,将个人财务的目标及当前的存款,支出保存下来,可以随时更新,查看,比较赢余和目标的差距。 课程设计的要求 将收支的数据与相应的函数封装到类中,并改写主程序,是程序结构化。 增加保存每笔收支的记录,并对每闭记录增加日期录入,按日期的顺序保存,查看记录,将每一个记录放入一个文件中,每次运行程序时首先打开这个文件,程序运行完毕是将更新的记录放回文件中。 完善程序,补充类中数据成员赢余的计算和输出,要求每笔收入和支出都要重新统计当前情况下的赢余数目。 增加程序监控功能,当输入时间发生错误是,要求重新输入正确的时间;当结余的数目为负数时,输出信息,警告已经超支! 程序设计思想 类的封装 远程序的结构比较简单,只保留了每次更新操作的最后结果,达不到财务帐册的要求。 若要详细记录下每闭收笔的记录的款项和原因等。于是才用了链表的形式保存了数据,且可以根据实际需要动态开辟空间。链表结构如下: class CFinance { private: int nYear,nMonth,nDay; //年月日 double dlIncome,dlOutput;//收入,支出数目 double dlBalance; //结余 char szPurpose[20]; //用途,目的 static double dlPurpose; //目标 double dlGap; //据目标的差额 public: CFinance(){dlIncome=dlOutput=dlBalance=0.0;}//缺省的构造函数 CFinance(int a,int b,int c,double d,double e,char f[],double g,double h);//构造函数 CFinance(int a,int b,int c,double d,double e,char g[]);//构造函数 CFinance(int a,int b,int c){nYear=a,nMonth=b,nDay=c;}//根据日期生成结点,查找用 int Compare(CFinance);//比较时间的大小 void Show();//输出类的成员 void Showdeposit();//输出收入的时间和目的,用途 void Showwithdraw();//输出支出的时间和目的,用途 void SetFinance(int,int,int,double,double,char*);//对象赋值 void GetPurpose(double purs){dlPurpose=purs;}//赋值目标 double ShowPur(){return dlPurpose;}//返回目标 void calculatebalance(double dlBal){dlBalance=dlBal+dlIncome-dlOutput;}//计算结点的赢余情况,计算下一个结点用 double GetBalance(){return dlBalance;}//返回与目标的差额 void ModifyData();//修改结点记录 void calculatedlgap();//返回差额 friend void Deposit(CFinance *);//定义存款函数为友元函数 friend void Withdraw(CFinance *);//定义取款函数为友元函数 friend class Clist;//定义链表类为友元类 }; class CNode //结点类 { private: CFinance *pData; //用于指向数据类的指针 CNode *pnext; //指向链表的下一个结点的指针 public: CNode(){pData=0;pnext=0;} //结点的构造函数 CNode(CNode node){pData=node.pData,pnext=node.pnext;} //用于拷贝的构造函数 void InputData(CFinance *pdata){pData=pdata;} //输入数据 void ShowNode(){pData-Show();} //结点的输出 void modify(){pData-ModifyData();} //修该结点的数据 CFinance *GetData(){return pData;} //返回数据类的指针 void

您可能关注的文档

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档