《个人账簿管理系统大学课程设计 .docx》由会员分享,可在线阅读,更多相关《个人账簿管理系统大学课程设计 .docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结课程名称: 数据结构湖南涉外经济学院 本科同学课程设计(论文)题目个 人 账 簿 管 理可编辑资料 - - - 欢迎下载精品名师归纳总结毕业设计(论文)原创性声明和使用授权说明原创性声明本人正式承诺:所呈交的毕业设计(论文),是我个人在指导老师的指导下进行的争论工作及取得的成果。尽我所知,除文中特殊加以标注和致谢的的方外,不包含其他人或组织已经发表或公布过的争论成果,也不包含我为获得及其它训练机构的学位或学历而使用过的材料。对本争论供应过帮忙和做出过奉献的个人或集体, 均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日期:指导老师签名:日期:使用授权说明本人完全明白高校
2、关于收集、储存、使用毕业设计(论文)的规定,即:依据学校要求提交毕业设计(论文)的印刷本和电子版本。学校有权储存毕业设计(论文)的印刷本和电子版,并供应目录检索与阅览服务。学校可以采纳影印、缩印、数字化或其它复制手段储存论文。在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日期:可编辑资料 - - - 欢迎下载精品名师归纳总结摘 要个人账簿治理是依据现实生活中的应用而编写的,主要是用C语言编写, 其中运用到了文件的基本操作,结构体数组,宏定义,仍有几个主要循环的应用,其功能包括按月份插入、输出、修改、查询、删除及按开支排序,包括了账簿治理的大部分功能,适合于大部分家庭用户。
3、关 键 词 :C语 言 , 算 法 , 数 据 结 构 , 个 人 账 簿 管 理可编辑资料 - - - 欢迎下载精品名师归纳总结目 录第一章前言 1其次章系统功能分析 22.1 个人账簿治理 22.2 解决个人账簿治理22.2.1 概要分析 22.2.2 流程图 3第三章总体设计 43.1 概括 43.2 基本思路 4第四章具体设计 54.1 程序代码实现 54 1.1 程序主界面 54 1.2 创建结构体 74 1.3 数据的插入 74 1.4 数据的删除 84 1.5 数据的排序 9第五章系统实现 12第六章解决的关键问题 14第七章结论 15终止语 168.1 编程感想 16参考文献
4、16程序分工 17可编辑资料 - - - 欢迎下载精品名师归纳总结第一章 前 言本系统使用 Microsoft Visual Studio.NET 2005开发工具创建 Web应用程序。采 Visual C.NET开发语言,使用文件的操作达到个人账簿治理的各种 功能。文章具体争论了该系统的开发、设计环境、实现算法及其具体的实现。数据结构是一门专业技术基础课。它的教案要求是:学会分析争论运算机加工的数据结构的特性,以便为应用涉及的数据挑选适当的规律结构,储备结构及其相应的算法,并初步把握算法的时间分析和空间分析的技术。另一方 面,本课程的学习过程也是复杂程序设计的训练过程,要求同学编写的程序结构
5、清晰和正确意读,符合软件工程的规范。假如说高级语言程序设计的训练过程,要进行了结构化的程序设计的初步训练的话,那么数据结构就要培育我们的数据抽象才能个人账簿治理系统是结合了文件、结构体、函数等操作,运用了数据结构中最基本的一些算法,使程序简洁明白,使用了一些最优的算法,从而达到了不 浪 费 内 存 的 目 的 , 同 时 也 加 快 了 程 序 的 运 行 速 度 。可编辑资料 - - - 欢迎下载精品名师归纳总结其次章 系统功能分析本程序可以实现个人账簿的按月份插入、输出、修改、查询、删除及按开支排序,其中每一个功能,都分别使用了一个函数,其中程序的主界面简洁明白。可以按主界面的提示完成每一
6、块功能。2.1 个人账簿治理在程序中定义了一个结构体主要包括(月份,全部的收入,食品开支,房租,水电费,医疗费,储蓄,子女训练费和总体的支出费用)其次定义了6 个函数,分别是插入信息,收支情形,修改信息,查询月份信息,删除某月信息,其中每一个程序都能实现相应部分的功能,并且在每一个程序中都使用了相应的文件操作,和结构体数组的操作,通过对数组,结构体,文件的删除、查找、修改及排序使程序都完成了相应的功能。2.2 解决个人账簿治理2.2.1 概要分析个人账簿治理通过:void Insert /插入信息 void Outlin /收支情形 void Modifyint xg /修改信息void Se
7、archint yf /查询月份信息void Delint yf /删除某月信息 void ps /按收支排序这六个函数分别完成每一部分功能,其中都是从主函数调用相应的函数,完可编辑资料 - - - 欢迎下载精品名师归纳总结成相应的功能。2. 2.2 流程图可编辑资料 - - - 欢迎下载精品名师归纳总结第三章 总体设计3.1 概括个人账簿治理主要是通过文件的输入、输出、查询、修改、删除、排序来完成程序的主要功能,其中每一个功能都为对应的一个函数,增加程序的可读性,以实现程序的整体功能。3.2 基本思路1. 第一建立一个结构体,用户输入某个月的数据通过相应的文件操作就把他追加到文件 data.
8、dat中。2. 输入整体的收支情形就是直接从文件中读出全部的数据然后输出到屏幕中。3. 修改信息是建立一个暂时的 temp.dat 的文件,通过 fp1 , fp2 两个文件指针和一个结构体变量 b , fp1 指向 data.dat ,fp2 指向 temp.dat 。然后把 fp1 中的数据读到 b 中,就通过对比,假如 b-month=xg 就把xxg 的的址写入到 fp2 中,否就就直接把 b 中的数据写到 fp2 中,通过循环到 .feoffp1 为止,这个就把全部的修改的数据写入到了 fp2 , 关闭两个文件,最终删除原先的 data.dat 文件,然后把 temp.dat 文件换
9、名成为 data.dat 文件,这样就达到了修改的目的。4. 查询月份信息是在主函数中输入一个数,然后在查询函数中判定是否月份相同,假如月份相同就输出来。5. 删除某月信息是和修改某月信息一样的,只是把其中的一句改成b-month.=xg 就直接写入到 fp2 中,经过换名就达到了成效。6. 按收支排序是第一建立一个结构体数组,把全部的数据读到数组中,然 后按收支情形排序,排好序之后就又把他写入到temp.dat的文件中,删 除 源 文 件 , 替 换 文 件 名 就 实 现 了 排 序 的 功 能 。可编辑资料 - - - 欢迎下载精品名师归纳总结第四章 具体设计4.1 程序代码实现4 1.
10、1 程序主界面void mainint k,xg,yf。doprintfn-n 。printfn -欢迎进入个人帐簿治理系统 - nn。printfn -个人帐簿治理系统主菜单 - n。printfn1插. 入某月信息 n。可编辑资料 - - - 欢迎下载精品名师归纳总结printfn2输.printfn3修.出整体收支情形 n。改某月信息 n。可编辑资料 - - - 欢迎下载精品名师归纳总结printfn4查. 询某月信息 n。printfn5删. 除某月信息 n。printfn6.按开支排序输出结果 n。printfn0退. 出个人帐簿治理系统 n。printfn-n 。 /* 输出开头界
11、面 */scanf%d,&k。switchkcase 1:/插* 入某月信息 */Insert。可编辑资料 - - - 欢迎下载精品名师归纳总结brea。kcase 2:/输* 出全部月份的收支情形 */Outlin。brea。kcase 3:/修* 改某月信息 */printf请 输入需要修改的月份: n。scanf%d,&xg。Modifyxg。brea。kcase 4:/查* 询某月信息 */printf请 输入需要查询的月份: n。scanf%d,&yf。Searchy。fbrea。k可编辑资料 - - - 欢迎下载精品名师归纳总结printf请case 5:/*删除某月信息 */输入
12、需要删除的月份: n。可编辑资料 - - - 欢迎下载精品名师归纳总结scanf%d,&yf。可编辑资料 - - - 欢迎下载精品名师归纳总结Delyf 。 break。case 6:/*排序*/可编辑资料 - - - 欢迎下载精品名师归纳总结ps。brea。kcase 0:exit0。 /* 退出个人帐簿治理系统 */default : printf输入错误,请重新输入 。whilek=6。可编辑资料 - - - 欢迎下载精品名师归纳总结4 1.2 创建结构体struct ElemTypeint month。/* 月份*/int income。/* 全部月收入 */ int food。 /*
13、 食品开支 */int rent。/* 房租*/int utilities。 /* 水电费*/int medica。l/* 医疗费 */int savings。/* 储蓄*/int education。/* 子女训练费 */ int payment。/* 总支出*/x12 。 /* 一个月开支信息 */4 1.3 数据的插入void Insert / 插入信息int j,i=1 。FILE *fp 。printf 请依次输入 n 月份 当月收入 食品开支房租 水电费 医疗费子女训练 n。scanf%d%d%d%d%d%d%d,&xi.month,&xi.income,&xi.food,&xi.
14、r ent,&xi.utilities,&xi.medical,&xi.education 。可编辑资料 - - - 欢迎下载精品名师归纳总结xi.payment=xi.food+xi.rent+xi.utilities+xi.medical+xi.education 。xi.savings=xi.income-xi.payment。iffp=fopendata.dat,ab=NULLprintfcan not open filen。exit0。forj=1 。jmonth.=yf fwriteb,sizeofElemType,1,fp2。freadb,sizeofElemType,1,fp1
15、。fclosefp1。fclosefp2。removeFile。 /删除源文件renametemp.dat,File。/把暂时文件改成源文件名Outlin。/调用输出函数,输出整体的开支4. 1.5 数据的排序void ps /按收支排序FILE *fp1,*fp2 。ElemType a12,h。int i,j,c=0。iffp1=fopendata.dat,rb=NULL可编辑资料 - - - 欢迎下载精品名师归纳总结printfcan not open filen。exit0。iffp2=fopentemp.dat,wb=NULLprintfcan not open filen。exit
16、0。forj=1。.feoffp1。j+,c+fread&aj,sizeofstruct ElemType,1,fp1。 fori=1。ic。i+forj=1。jc。j+ifai.paymentaj.paymenth=ai。ai=aj 。aj=h。fori=1。ic。i+fwrite&ai,sizeofstruct ElemType,1,fp2。fclosefp1。fclosefp2。removeFile。 /删除源文件可编辑资料 - - - 欢迎下载精品名师归纳总结renametemp.dat,File。/把暂时文件改成源文件名Outlin。/调用输出函数,输出整体的开支可编辑资料 - -
17、- 欢迎下载精品名师归纳总结第五章 系统实现图 5. 1程序的主界面图 5.2程序插入月份界面其中程序结果如下:图 5.3程序输出整体收支情形可编辑资料 - - - 欢迎下载精品名师归纳总结图 5.4修改某月信息(修改3 月份的数据)图 5.5查询 2 月份的数据图5.5删除3月份的信息图5.6按收支排序可编辑资料 - - - 欢迎下载精品名师归纳总结第六章 解决的关键问题本程序主要解决的关键问题如下:1. 文件的读写操作及读写所用的方式2. 文件的修改及删除3. 文件的排序4. 结构体的操作5. 函数的参数传递问题可编辑资料 - - - 欢迎下载精品名师归纳总结第七章 结 论通过这次课程设计
18、使我明白到了:1. 写一个程序第一要有算法,而算法有许多种,使用最优的算法,能节省许多时间和加快系统的速度。2. 在这个程序中,主要仍是利用了 C 语言中文件的操作,其中最主要的就是文件的读写及用的不同种读写的方式,仍有查找、修改及删除文 件中的数据,其中查找仍是比较简洁,但修改文件中的数据,要利用 一个中间文件。第一要查找到要删除的数据,假如相同就复制到一个 文件中,原文件中不相同的也复制到那个文件中,这样以达到修改的 目的,删除也类似,仍有就是排序了,也要利用到中间文件。3. 在结构体的操作用,不能直接给结构体变量赋值。4. 这个程序的界面编的虽然不怎么好看,但基本账簿治理的功能都达到 了
19、 。 所 以说 仍是 具有 一 定 的 实 用 性 。可编辑资料 - - - 欢迎下载精品名师归纳总结结 束 语8.1 编程感想在这次课程设计中,我学习到了,不管做什么事情仍是团队协作,才可以使一件事情办得最终,一个人的力气永久是有限的,不管一个人的才能有多 大,总会有一些的方的不足,特殊是我们编程这一行,最主要的仍是要团队合作。其次就是写程序时要用到注释,由于一个程序是由几个人写出来的,假如不写注释的话,就相互都看不懂,也不能实现程序的结合,所以说写程序时注释很重要。最终,我觉得不管做什么事情必需认仔细真的做,要沉得下心来,特殊是写程序,假如沉不下心来做的话,也决对写不出一个好的程序或者有用的程序来。参考文献1 谭浩强著语言程序设计(第三版)清华高校出版社2 严蔚敏、吴伟民 . 数据结构( C语言版 . 清华高校出版社3 郑阿奇 Visual C+ 有用教程(第三版)电子工业出版社 .可编辑资料 - - - 欢迎下载精品名师归纳总结姓名任务安排马铁军程序的插入、输出、删除、排序梁斌程序主界面的设计、查找、修改程序分工可编辑资料 - - - 欢迎下载
限制150内