版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计课程设计说明书题 目个人记账管理系统的设计姓 名魏占鹏班 级软件 13-2 班指导教师余金林日 期2014年6月23日内蒙古科技大学课程设计任务书课程名称C+语言课程设计设计题目个人记账管理系统的设计指导教师余金林时间2014春学期 第18、19周一、教学要求1. 巩固和加深学生对C+语言课程的基本知识的理解和掌握2. 掌握C+语言编程和程序调试的基本技能3. 利用C+语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C+语言解决实际问题的能力二、设计资料及参数用C+设计一个系统,能提供下列服务:(1) 录入消费和支出信息,格式为:日期金额操作类型消费类别备注
2、2011-11-225支出食购买水果2011-11-1040收入食副食补贴其中操作类型包括收入和支出,消费类别为衣,食,住,行和其他。(2) 查询功能。查询某一天的消费和支出记录,并能进行修改; (3) 统计功能。统计某个区间的消费和支出,例如11月份,则输入时间段2011-11-1到2011-11-30统计总的支出和收入。按照消费类别统计某个时间段内的消费记录,如统计11月份买衣服的支出共有多少?三、设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方
3、法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)提交课程设计报告:完成系统总结报告以及系统使用说明书目录第一章需求分析3第二章 总体设计4第三章 book类的设计5第四章 详细设计64.1工程视图64.2类图视图6第五章 测试10第六章 总结13附录:程序代码14第一章 需求分析功能:增加账目,查询及修改账目,统计账目信息,退出系统。设计思路:1. 新增账目:可以增加账目内容,保存新增账目信息,以便查阅。2. 查询及修改:查看账目信息,查账后可以是否对账目进行修改,修改错误账目,并保存修改信息,若输入日期有误系统给出提示。3. 统计账目:输入你想查询的账
4、目的起、止日期,若输入日期有误系统给出提示,统计系统自动分类一段时间内的交易类别和消费类别,方便查看。 4退出系统: 当你想关闭系统时,可以快速退出系统。 第二章 总体设计本软件具有四大模块:,输入账目,查询及修改,统计信息,退出系统。新增账目:增加账目内容,方便查阅。查询及修改:查看账目,修改错误账目。统计账目:统计与分析账目信息。功能图如下:个人理财输入数据退出系统统计数据查询及修改 图2.1 系统总体框架图第三章 book类的设计book类的设计:class book public: book(); char inter(); void add(); void show(); void
5、tongji(); void save(); void lemon(char *s); void hellous(char *s); void print();private: string jy; float money; string lx; string xf; string beizhu; 第四章 详细设计4.1工程视图 4.2类图视图4.3系统流程图:4.3.1输入流程开始 正主菜单 确 选择“新增账目”序号 输入日期输入消费金额输入消操作类型输入消费类别输入备注结束图4.4.1 输入流程图 4.3.2查询及修改流程:开始 主菜单 选择“查询及修改”序号 输入查询或修改日期是否修改信
6、息 否输入修改内容的序号 是输入修改日期输入金额输入消操作类型输入消费类别输入备注结束图4.3.2 查询及修改流程图4.3.3统计流程:开始 主菜单 选择“账目统计” 序号 输入统计开始日期输入统计结束日期结束图4.3.3统计流程图第五章 测试1.主界面:图5.1 系统主界面,选择系统功能2.新增账目功能:图5.2 输入账目信息3查询、修改账目:图5.3.1查询交易日期,并决定是否修改图5.3.2 查询后修改信息4.统计账目: 图5.4 统计一段时间内总收支、以及各消费类别的金额5.退出系统:图5.5 退出系统第六章 总结在为期两周的课程设计中,我体会颇多,学到很多东西。利用设计个人记账系统的
7、机会,我加强了对C+的认识,复习了自己以前的知识,自己的逻辑思考能力也提高不少。最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序,让我对编程更加热爱了。整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识;设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。特别是学会了在Visual C+ 集成开发环境中如何调试程序的方法。 当然,老师的悉心指导和同学的帮助也是不可忽视的,在此感谢本次课程设计中所有辅导老师对我的关心和帮助,诚心诚意感谢他们对我的鼓励与教导,是她
8、们在我迷茫的时候给了我些许提示,激发了我编程的灵感;还有,我在此也十分感谢本次课程设计中同学们对我的帮助,尽管本次不是团队合作,但是他们也给了我不少的提示和帮助,是他们让我有信心坚持做下来,在此感谢他们! 通过完成本次面向对象程序设计的任务,使我熟练和掌握了这学期所学的有关visual c+中的一些主要知识点和应用点,如类的定义,类的实现,对象的定义,类的继承等等。可以所学有所学,所有所用,不至于自己所学知识由于没有经历可用过程,而放弃对它的兴趣。 面向对象程序设计作为一门软件设计的课程,具有极强的实践性,使我加强了灵活应用理论知识的能力及面向对象程序设计技能。 此次,应用程序的设计和创建,经
9、历了平时在课堂中和考试中,决不会有的重重难题和问题。而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。这些问题,并不是我们平时只靠课本,就可以轻易解决的。所以,锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。 当然,此次任务的完成,也体现出同学之间的团结精神。所遇种种难以解决的问题,大家都会把它当作共同遇到的问题,在一起共同探讨,共同发挥自己所学和所知,投入式的互相帮助和解决困难。 “实践是检验真理的唯一标准”。没有实践,就不会发现和深刻体会它的真实所在。只有通过检验的真理,在自己的心里,才会认可它的真实性。面向对象程序设计的完成,使我们懂得了真
10、理的重要性,理论和实际的相结合,才能真正把握所学和所掌握的知识。 附录:程序代码#include #include #include #include #include /exit(0); cstdlib是C+里面的一个常用函数库, 等价于C中的。 using namespace std; class book public: book(); char inter(); void add(); void show(); void tongji(); void save(); void lemon(char *s); void hellous(char *s); void print();pri
11、vate: string jy; float money; string lx; string xf; string beizhu; book:book() jy = 0; money = 0 ; lx = 0; xf = 0; beizhu = 0; /首页char book:inter() system(cls); cout endl; couttt* endltt* 个 人 记 账 系 统 * endl tt* endl tt* 1.新增账目 3.账目统计 * endl tt* * endl tt* 2.查询及修改 4.退出系统 * endl tt* endl endlchoose; f
12、flush(stdin);/清缓存 return choose; /添加数据 void book:add() cout endl endl jy; fflush(stdin); cout money; fflush(stdin); cout lx; fflush(stdin); cout xf; fflush(stdin); cout beizhu; fflush(stdin); save(); /保存信息函数 cout endl endl 信息已经保存! endl endl; system(pause); /等待 按任意键继续 /查询、修改void book:show() ofstream
13、outData(temp.txt, ios:out);ofstream outtemp1(temp1.txt, ios:out); ifstream indata(Personal system of accounting.txt, ios:in); if (!outData | !indata) cout endl 对不起!找不到文件! endl; system(pause); return; string sign; cout endl sign; bool flag = true; string str200; int a=1,b=0,c; string str1,str2; while
14、 (indata jy) getline(indata, stra);if (sign=jy) if(flag)cout endl 你想查询/修改的交易: endl endl;cout setiosflags(ios:left) setw(16) 交易日期 setw(10)交易金额 setw(16) 交易类型 setw(17) 消费类别 setw(20) 备注endl;cout序号:aendl;cout setiosflags(ios:left)jystra endl;flag = false; a+; indata.close(); outData.close(); if (flag) co
15、ut endl 无记录! endl endl; else cout endl 是否对信息进行修改! endl1为是 0为否 c;if(c=0)return; elsecout请选择要修改的记录(序号),然后回车修改,退出请输入0:b;while(ba|b=0)if(b=0)return;cout endl 请根据下面提示修改信息 : endl; cout jy; fflush(stdin); cout money; fflush(stdin); cout lx; fflush(stdin);cout xf; fflush(stdin);cout beizhu; fflush(stdin);sa
16、ve(); flag = false; outtemp1 setiosflags(ios:left)sign/调用删除部分strb endl;outtemp1.close();ifstream in1(temp1.txt, ios:in);getline(in1, str1);in1.close;ofstream outData(temp.txt, ios:out);ifstream indata(Personal system of accounting.txt, ios:in);while (getline(indata, str2) if(str2!=str1)outDatastr2en
17、dl; indata.close(); outData.close();ofstream out(Personal system of accounting.txt, ios:out); ifstream in(temp.txt, ios:in); if (!out | !in) cout endl 对不起不能打开文件! endl endl; system(pause); return; while (getline(in, str2) out str2endl; out.close();in.close();cout endl 此交易记录已被修改! endl endl; system(pau
18、se); /统计信息void book:tongji() ifstream inData(Personal system of accounting.txt,ios:in); int b=0; if (!inData) cout endl 对不起!文件找不到! endl; system(pause); return; string sign1;string sign2; cout endl sign1; fflush(stdin); cout endl sign2; string str1; bool flag = true;bool flag1 = true; int a=0;float n
19、um3=0,num4=0,num5=0,num6=0,num7=0; string str100; while (inData jymoneylxxf) getline(inData, stra); if (strcmp(jy.c_str(),sign1.c_str()=0 & strcmp(jy.c_str(),sign2.c_str()=0) /以ascii比较日期大小 if(flag) cout endl 该时间段的交易信息有: endl endl; coutsetiosflags(ios:left) setw(16) 交易日期 setw(10)交易金额 setw(16) 交易类型 se
20、tw(17) 消费类别 setw(20) 备注endl; cout setiosflags(ios:left) setw(15)jy setw(10)money setw(15)lx setw(15)xf stra endl; if(xf=a)num3+=money; if(xf=b)num4+=money; if(xf=c)num5+=money; if(xf=d)num6+=money; if(xf=e)num7+=money; flag = false; if(b!=0)if(flag1)cout请输入要统计的消费类别:(A或B)str1;flag1 = false;a+; cout *endl; cout 此时间段的总总购衣为:num3endl 伙食费为:num4endl 房贷为:num5endl 交通费为:num6endl 其他收支为:num7endl;cout *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黄河文化的丰富内涵与时代价值
- 2025新译林版英语七年级下单词默写单
- 北海2024年01版小学6年级上册英语第6单元测验卷
- 2024年洗煤项目资金申请报告代可行性研究报告
- 2024年超高分子量聚乙烯项目投资申请报告代可行性研究报告
- 《紧密纺精梳棉纱制备技术规范》
- Python程序设计实践- 习题及答案 ch02 问题求解与计算思维
- 组织部工作总结15篇
- 读书交流会专题讨论发言稿
- 广西景点导游词1000字(14篇)
- 二甲医院麻醉科相关工作制度汇编
- 教培用针灸治疗学痤疮课件
- 农业生产统计pp课件
- 车间每月安全隐患排查记录表(车间每月)
- 特种设备作业人员资格复审申请表
- T∕ZS 0237-2021 托育机构内部管理规范
- 喉炎并喉梗阻护理查房课件
- 医院创新思维的几种基本形式与作用
- LoanAgreement(贷款协议)模板
- 中国上海日出日落方位角概要
- 高中信息技术 必修1 数据的分析(课件)
评论
0/150
提交评论