综合课程设计报告(同名3092)

上传人:F****n 文档编号:99936604 上传时间:2019-09-21 格式:DOC 页数:9 大小:213KB
返回 下载 相关 举报
综合课程设计报告(同名3092)_第1页
第1页 / 共9页
综合课程设计报告(同名3092)_第2页
第2页 / 共9页
综合课程设计报告(同名3092)_第3页
第3页 / 共9页
综合课程设计报告(同名3092)_第4页
第4页 / 共9页
综合课程设计报告(同名3092)_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《综合课程设计报告(同名3092)》由会员分享,可在线阅读,更多相关《综合课程设计报告(同名3092)(9页珍藏版)》请在金锄头文库上搜索。

1、摘要本报告介绍了一个运用c+设计一个个人的记账软件具体过程。实现了添加、查询、删除、修改等功能。能够大致的记录个人的收入支出情况。开发背景个人理财在我国得到大众的认可和金融机构的重视是近几年的事情。人们对个人理财的重视程度,与我过市场经济制度不断完善、资本市场的长足发展、金融产品的日趋丰富以及居民总体收入水平的上升等等是分不开的。但是比起发达国家我们的理财观念还远远不足。但是理财并不困难,并非非要靠个人理财专业人士的建议才能身体力行。只要了解收支状况、设定财务目标、拟定策略、编列预算、执行预算到分析成果这六大步骤,便可以轻松的达成个人的财务管理。至于要如何预估收入掌握支出进而检讨进则有赖于平日

2、的财务记录,也就是需要一款便于记账的软件。最近越来越多的人具有记账的习惯。家庭、个人的收入支出结构在日益变化,单纯的靠本子记录收入支出无法满足对于收入支出结构的统计分析,因此以个人用户为目标的记账软件应运而生。相应的各种面向家庭以及个人的理财软件也越来越多。但是众多个人理财软件操作专业,对于个人用户而言功能过于强大,分析数据用语也不易理解。因此开发一个操作简便、统计结果直观并对个人用户理财有参考价值的记账软件无疑能为广大个人用户提供方便。总而言之,在不久的将来家庭使用理财软件也将成为国内家庭的必需品。能提供简单明了的功能以及操作的记账软件更是被广泛需要。这种软件也会为提升人们的胜过品质发挥它最

3、大的作用。技术背景C语言是国内广泛使用的一种计算机语言,学会使用c语言进行程序设计是计算机工作者的一项基本功。对于我们大学生来说,学习这样一门c程序课程更是有必要。此次课程设计我所采用的环境是vc+,使用基本控制结构,如循环和选择,着重实现管理系统的增删改以及查询等典型的功能。程序设计是一门实践性很强的课程,既要掌握概念又要动手编译,更多的是要上机去调试,虽然初学时很麻烦,但是养成习惯后我相信受益匪浅。开发环境Vc+,win7.设计目标为了满足用户的需要,本系统将实现以下功能:记录日常收支情况,查找某天的收支情况,插入忘记的收支功能,显示账单,统计数据。可行性分析本课题是基于vc+环境进行开发

4、,实现记账的功能。为了使本设计更具有可行性,本系统严格按照软件工程的设计思想一步一步进行,首先对系统进行可行性分析。为了使分析更为清晰、完整,设计本系统的时候,将可行性分析分为经济、操作、技术三个层次、首先vc+是免费的开源软件,使得开发成本大大下降。而且可重用性高,节省了二次开发的成本。资源利用率高,成本低。该设计的模块界面简洁,方便快捷,简单易学。即便是初学者花点时间也可以操作所有系统的功能。并不需要掌握什么复杂的专业知识。该课程设计对c语言要求并不是很高,我相信即使是初学者也能够写出大概。总体设计软件总体设计是把需求分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。

5、从需求分析到总体设计,是一个逐渐扩充模型的过程。系统总体设计确定实现系统的策略和目标系统的高层结构。确定设计中的类、关联。接口形式以及实现操作的算法。符合传统面向对象设计的准则:模块化,抽象,信息隐藏,低耦合,高内聚。记账系统面向的主要是个人用户,用户只要记录流水账信息便可经过测算得到相应的统计结果,接货实际调查的其他资料可以得出系统的主要功能和辅助功能,并进行主控界面;以及基本对象的设计。根据上述分析,结合用户的具体需求,确定系统主要包括几个功能。详细设计软件详细的设计过程是软件工程的重要阶段,软件详细设计细化了高层的体系结构设计,将软件结构中,主要部件划分为能独立编码、编译、测试的软件单元

6、,并进行软件单元的设计,并最终将影响软件实现的成败。优秀的详细设计在提高编码质量、保证开发周期、节约开发成本等各方面都起着非常重要的作用,是一个软件项目成功的关键保证。按照面向对象的分析与设计方法的基本思想,以对象为核心,根据个人记账系统的具体情况分析主要对象有流水账、统计数据等。流水账对象代表用户锁记录的每一笔账目。没一笔账目信息包括日期,摘要,类别,具体金额。本来统计数据对象可以不设立,因为全部的统计数据都可以通过计算得到。但是考虑到用户查询较为频繁,为了避免每次查询均要计算一次,特别设立了统计数据对象。实际上,用于保存计算结果的数据量比较小,牺牲了着些许的空间却能换来整个系统的高性能,这

7、无疑是值得进行设计的。统计数据对象包含了消费结构锁需要的各项收支的统计计算结果。在设计系统主程序时,着重考虑项目的核心功能,并围绕核心功能进行设计。显然本项目的核心功能就是记账。用户需要很方便的进行记账活动,并且可以快速的查看到记账结果。因此我得到的主界面如图: 具体实现过程首先是要建立用户,并且通过对文件的操作对用户进行保存,以便下次直接登陆,并且保存每个用户输入的记录,实现结果如图:实现代码如下:string name,road;cout请输入新建用户名name;ofstream afile1(C:用户名.txt,ios:app);/创建保存用户名文件afile1namen;afile1.

8、close();road=C:+name+in.txt;ofstream afile2(road.c_str(),ios:app);/创建用户专属文件记录收入情况afile2.close();road=C:+name+out.txt;ofstream afile3(road.c_str(),ios:app);/创建用户专属文件记录支出情况afile3.close();road=C:+name+total.txt;ofstream afile4(road.c_str(),ios:app);/创建用户余额文件afile40;afile4.close();goto next1;其次是实现增加一条收入

9、记录,实现如图:实现代码如下:cout请输入选择:na、增加收入记录nb、增加支出记录str1;if(str1=a)float total,total1;ofstream file(road2.c_str(),ios:app);struct incomeint month;int day;string abstruct;float shouru;first1;cout输入收入时间(月,日),摘要,金额first1.month;cinfirst1.day;cinfirst1.abstruct;cinfirst1.shouru;filemonth first1.month day first1.d

10、ay zhaiyao first1.abstruct shouru first1.shourutotal1;file1.close();total=total1+first1.shouru;ofstream file2(road1.c_str(),ios:out);file2totalendl;file2.close();cout操作完成,自动返回endl;goto next2;实现增加一条输出记录,如图:实现代码如下:cout输入支出时间(月,日),摘要,类别(eat,dress,play,study),金额first2.month;cinfirst2.day;cinfirst2.abstr

11、uct;cinfirst2.kind;cinfirst2.zhichu;file3month first2.month day first2.day zhaiyao first2.abstruct kind first2.kind zhichu first2.zhichutotal1;file4.close();total=total1-first2.zhichu;ofstream file5(road1.c_str(),ios:out);file5totalendl;file5.close();cout操作完成,自动返回endl;goto next2;查看所有记录结果如图:实现代码如下:st

12、atic char sa100;ifstream filea(road2.c_str(),ios:in);while(!filea.eof()filea.getline(sa,100); coutsaendl;filea.close();cout操作完成,自动返回endl;goto next2;按照具体时间查看记录:实现代码如下:string b8;int sb1,sb2,sb3,sb4,b1,b3;/b1,b2用来判断时间cout输入查看的起始日期和终止日期,用空格隔开sb1sb2sb3sb4;ifstream fileb(road2.c_str(),ios:in);while(!fileb.eof()filebb0;filebb1;filebb2;filebb3;filebb4;filebb5;filebb6;filebb7;if(sb1=sb3)if(b1=sb1&sb2=b3&b3=sb4)coutb0 b1 b2 b3 b4 b5 b6 b7endl;else if(sb1=b1&b1=sb3)if(sb1=b1&sb2=b3&b3=31)coutb0 b1

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号