版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、家庭理财系统课程设计报告源文件及打包安装文件联系本人姓 名: 学 号: 班 级: 级 班 专 业: 计算机科技与技术 指导教师: 时 间: 10年1月1号 大学 计算机科学与信息学院目 录1 课程设计目的 32 课程设计题目描述和要求 33 课程设计报告内容 44 总结145 参考书目155 附录 15一、课程设计目的通过课程设计,使学生能够掌握c+语言(vc+)的基本内容及程序设计的基本方法与编程技巧,使学生具有应用计算机解决实际问题的基本能力,培养学生掌握使用计算机处理问题的思维方法与途径, 培养良好的程序设计风格,使学生能够独立编制和调试各种结构的面向对象的c+语言程序。初步掌握软件开发
2、过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;完成所选设计题目,上机调试通过该程序系统所有功能;编写设计说明书,内容包括:课程设计的目的、意义;设计任务;总体设计方案;软件设计(各功能模块的流程图及详细的文字说明);软件系统的使用说明;收获、体会等;参考文献。书写要整洁、规范,装订成册。二、课程设计题目描述和要求1、开发系统的功能介绍(1)增加收支窗体 主要为各家庭收入和消费时增加的项目窗体,包括收支类别、收支属性、金额,描述。点击增加按钮后,可在主页面显示刚增加的数据。(2)删除收支按钮 主要功能是删除所选中的收支项目,然
3、后得到所选项目的流水号,进行删除,如增加了多余的收入,就可以方便的删除,能及时的准确的删除不必要的收支项目(3)修改收支窗体 选要进行修改的信息,修改按钮,将会弹出修改页面,修改所要改动的数据,点修改,能及时的修正数据。(4)收支查询窗体 可按流水号、收支类别、金额、进行查询,点击查询按钮后能快速的查询出所要查询的收支数据。(5)系统注册窗体 用自己喜欢的用户名和密码进行注册,方能使用本系统,如不进行注册,不能进入系统,失去所有的系统操作。2、解决的问题本课程设计的题目为“家庭理财系统”,应用.net开发平台实现,开发语言为c#,在开发的过程中开已出了安装包(可看附件),安装及可使用本系统,它
4、能解决家庭的时时理财,方便清查询现有财务和所用财务。一切直观明了。 三、课程设计报告内容(一) 需求分析长期以来人们使用传统的大脑记忆方式来管理家里的日常消费,其很麻烦,靠大脑的记忆,只能记住很短的时间,所以常常为钱不知去向而烦,而有时常常会想不起一些消费记录,家里的理财很是混乱等问题,综上所看,靠人脑记忆理财存在很大的不足。为此,家庭理财系统为家庭解决了上述问题,提供了快速,直观明了的理财过程,方便使用。(二)系统设计根据家庭的消费和收入记录要求,和记录数据的一些习惯,该系统实施后,应能达到以下目标:界面设计友好,美观,数据存储安全,可靠。基本的设置保证收入和支出分类管理。强大的查询功能,保
5、证数据查询的灵活性。对增加,删除,修改,查询的信息进行精密设计,保证能及时处理信息。采用人机对话方式,方便日常操作。系统最大限度地实现了易维护性和易操作性。(三)操作流程 用户注册登录操作界面增加收支-增加收支界面-增加 查询收支- 查询收支界面-查询 删除记录-删除当前所选定的数据项-操作修改记录修改收支界面-修改 操作界面通讯录编辑系统增加收支登陆修改记录删除记录查询收支注册查询收支界面查询收支界面修改记录界面增加收支界面(四)系统功能结构根据家庭理财系统的特点,可将其分为:系统登录、系统注册用户,主界面、查询界面、修改界面、增加界面。其各部分的具体功能模块如图: 家庭理财系统用户登录 用
6、户注册 主界面 查询界面 修改界面 增加界面 (五)系统预览为了初步了解家庭理财系统,下面分别给出系统中的两个界面。登录页面:主窗体页面:(六)构建开发环境系统开发环境:系统开发环境:microsoft visual studio 2005集成开发环境。系统开发语言:c#。系统数据库:access.开发运行环境:windows xp系统服务运行环境:m framework 2.0. 最佳效果:1024*768。(七)数据库设计本系统采用access数据库,名称为familydb,其包含3张表,其e-r图如下:收支记录流水号类别收支项目日期备注金额. familyuser表: consume表:
7、remuser表:(八)文件夹组织结构为了方便对本系统的了解,现将文件系统展示如下: (九)公共类设计在开发过程中,经常会用到一些公共的模块,如数据库的连接及操作的类,字串的处理的类等,因此,在开发系统前,首先要设计 这些公共模块,下面将介绍家庭理财系统中所需要的数据库操作类,农数据库操作类用来完成数据库的连接操作,以及数据库的查询,添加,删除修改操作,现将这几种操作编写到一个公共类里,可以减少代码的编写工作,有利于代码的维护。(1)首先在命空间using system data.sqlclient下创建conn() 方法此方法用来连接数据库,返加类型为sqlconnection 代码如下:p
8、ublic static oledbconnection conn() string constring =provider=microsoft.jet.oledb.4.0;constring += data source=app_datefamilydb.mdb;oledbconnection con = new oledbconnection(constring); return con; (2)useraction.cs类为数据库的操作: public static bool deletedata(string table, string keyname, int id) string
9、sql = delete from + table + where + keyname + = + id + ; if (excuteupdatedata(sql) != -1) return true; else return false; public static dataset executeselectsql(string select_str) oledbconnection con = dbcon.conn(); oledbdataadapter sda = new oledbdataadapter(select_str, con); dataset ds = new datas
10、et(); try sda.fill(ds); catch (exception ex) throw new exception(ex.message); finally con.close(); sda.dispose(); return ds; public static oledbdataadapter executeselectsql_aspnetpager(string select_str) oledbconnection con = dbcon.conn(); oledbdataadapter sda = new oledbdataadapter(select_str, con)
11、; con.close(); return sda; public static int excuteupdatedata(string sql) int action = -1; oledbconnection con = dbcon.conn(); oledbcommand cmd = new oledbcommand(sql, con); try con.open(); action = cmd.executenonquery(); catch (exception ex) throw new exception(ex.message); finally con.close(); cmd
12、.dispose(); return action; public static bool base_deletedata(string table, string keyname, int id) string sql = delete from + table + where + keyname + = + id + ; if (excuteupdatedata(sql) != -1) return true; else return false; (十)各界面代码及功能实现(1)登录界面:功能:登陆 实现登录在按钮loginbtn下代码: private void loginbtn_cl
13、ick(object sender, eventargs e) string usern = loginuser.text.trim().tostring();string userp = userpassword.text.trim().tostring();string sql = select username,userpassword from familyuser where username= + usern + and userpassword=+userp+;dataset ds = new dataset();ds = useraction.executeselectsql(
14、sql); if (ds.tables0.rows.count 0) messagebox.show(登录成功,将进入主界面); mainform mform = new mainform(); mform.show(); this.hide(); (2)注册界面: 功能:注册。实现注册功能:在按钮(注册)下private void rigistbtn1_click(object sender, eventargs e) string sql = insert into familyuser(username,userpassword) values( + rigistname.text.tr
15、im().tostring() + , + rigistpassword.text.trim().tostring() + ); if (useraction.excuteupdatedata(sql) != -1) string sql1 = insert into remuser(username,userpassword) values( + rigistname.text.trim().tostring() + , + rigistpassword.text.trim().tostring() + ); if (useraction.excuteupdatedata(sql1) !=
16、-1) messagebox.show(增加了新用户); lform.getusername(rigistname.text.trim(); this.close(); (3)主界面:功能:数据的显示,时间显示,各窗口跳转。显示数据代码:在窗体加载时private void mainform_load(object sender, eventargs e) string sql = select * from consume; datexianshi.datasource = useraction.executeselectsql(sql);datexianshi.datamember = u
17、seraction.executeselectsql(sql).tables0.tablename; 显示当前时间:在窗体加载时datetime dt = datetime.now; string date = dt.tolongdatestring(); string time = dt.tolongtimestring();lbtime.text = date + time;(4) 增加收支界面 功能:增加收支 实现增加收支代码: private void button1_click(object sender, eventargs e) int money1 = convert.toin
18、t32(textbox1.text); string sql = insert into consume(type,category,consumemoney,discription) values( + combobox1.text + , + combobox2.text + , + money1 + , + textbox2.text + ); if (useraction.excuteupdatedata(sql) != -1) messagebox.show(添加成功); mainform ifrom = new mainform(); ifrom.show(); this.clos
19、e(); (5)查询界面功能:按各类别查询主要代码:如按流水号(id)查询private void button1_click(object sender, eventargs e) if (selectbox.text.trim().tostring()!=) int idd=convert.toint32(selectbox.text); string sql = select * from consume where id=+idd+; datagridview1.datasource = useraction.executeselectsql(sql); datagridview1.d
20、atamember = useraction.executeselectsql(sql).tables0.tablename; datagridview1.columns0.headercell.value = 流水号; datagridview1.columns1.headercell.value = 日期; datagridview1.columns2.headercell.value = 类别; datagridview1.columns3.headercell.value = 收支项目; datagridview1.columns4.headercell.value = 金额; dat
21、agridview1.columns5.headercell.value = 备注; else messagebox.show(流水号为空了); (6)修改界面功能:实现数据的修改其它实现代码为: private void bupdate_click(object sender, eventargs e) string date = year.text + - + month.text + - + day.text; int idd = convert.toint32(txtliushui.text); int money1 = convert.toint32(txtmoney.text);
22、string sql = update consume set consumedate= + date + ,type= + cobtype.text + ,category= + comshou.text + ,consumemoney= + money1 + ,discription= + txtdiscription .text.tostring()+ where id= + idd + ; if (useraction.excuteupdatedata(sql) = 1) messagebox.show(修改成功); string sql1 = select * from consume; datexianshi.datasource = useraction.executeselectsql(sql1); datexianshi.datamember = useraction.executeselectsql(sql1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装载机用车合同(2篇)
- 第24课《愚公移山》八年级语文上册精讲同步课堂(统编版)
- 2024年吉林省长春市中考地理真题卷及答案解析
- 16.1《赤壁赋》-高一语文上学期同步备课拓展(统编版必修上册)
- 说课稿课件政治
- 西京学院《现代教育技术》2023-2024学年第一学期期末试卷
- 西京学院《企业级框架基础》2021-2022学年期末试卷
- 社区环境 课件
- 外研版必修一module2-mynewteachers(reading)课件
- 西华师范大学《装饰绘画》2022-2023学年第一学期期末试卷
- 人感染H7N9禽流感流行病学调查方案
- 职业规划大赛机器人工程
- 2024年房颤合并冠心病的抗栓治疗pptx
- 五年级科学 《光的反射》 一等奖
- 如何提高个人征信评分
- 《商朝的发展》课件
- 肺疾病护理的新进展与研究
- 贵州省黔东南州2022-2023学年七年级上学期期末文化水平测试数学试卷(含答案)
- 《农村三资管理管理》课件
- 中国56个民族简介(图片很全)
- 炎症性肠病完
评论
0/150
提交评论