ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:77.71KB ,
资源ID:6800508      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6800508.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(南邮程序设计个人财务系统实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

南邮程序设计个人财务系统实验报告.docx

1、南邮程序设计个人财务系统实验报告个人财务系统一实验内容和要求:课题:个人财务系统的设计内容和要求:(1) 定义个人财务相关的结构体。(2) 进行个人财务明细信息录入修改删除。(3) 可以进行相关信息查询。(4) 能够进行财务信息分类汇总统计。二需求分析(1)刚运行出来的界面是个人财务管理系统主界面,里面有四个主要功能1财务数据管理财务数据查询3财务数据统计0退出返回。通过输入序号分别进入其中一个子菜单内。(2)比如输入1 财务数据管理,进入另一个界面,里面又有三个子功能分别是财务录入、修改、删除。输入2时进入财务数据查询界面,共有三个方法进行查询,可以查所有财务数据,按年月查询,按收入和支出查

2、询。输入3进入财务数据统计界面,里面有两个功能,可分别按年月统计和收支统计。三概要设计 (1).程序中有四个头文件#include 标准io库头文件,只要用到printf(输出)和scanf(输入)时都要引入该头文件。 #include也是库头文件,主要用syetem(),exit(),等函数时要引用该头文件; #include 是旧的C 头文件,对应的是基于char*的字符串处理函数;#include是定义类型函数时要引用该头文件。(2)定义各函数变量,如:void mainlist();void datalist();void datain();/输入信息void datamo();/信息

3、修改void datadel();/删除信息void quelist();void alldata();/查询所有信息void tdata();/按年月查询void sz();/按收支查询void stalist();double sta(int y,int m);/按月份或年份统计收支void szsta();/收支统计char shuru();/判断输入是否为数字int readfile();/读取财务信息void writefile(int x);/记录财务信息(3)进行各个函数功能的运用void mainlist()主菜单定义个人财务系统的管理,查询,统计,其中用到switch();c

4、ase0,case1,case2,case3语句进行选择功能,for语句限制输入数据的长度并判断数据是否要存档,并通过printf,scanf语句进行相关数据的输入输出。在定义主函数中,进行文件的定义readfile()进行读取文件writefile()进行写入文件。并判断能否读取和写入,char shuzi()判断输入的是否是数字,如果不是数据重新输入或返回。(4)实验中主要用到的函数和主要语句1 #define N 100宏指令,定义100个数据变量。2 struct finance /财务数据 结构体定义 finance为结构名 int num; 结构体成员别列 int year; in

5、t month; int day; char name30; double amount; FIN , proN; FIN为结构别名3 FILE *fp; 文件指针4 system(color f1n); 改变运行界面为白色system(color 48n); 改变运行界面为红色system(cls); 清屏语句5 switch(.)case 0: .;case 1: .;四 源程序相关主要代码struct finance /财务数据结构体 int num; int year; int month; int day; char name30; double amount; FIN , proN

6、;typedef struct data /月度统计 int sort_year; int sort_month; double count; struct datasort *next;DSORT,*DSORTP;DSORT dsortN;void mainlist()/主菜单,可选功能 数据管理、查询、统 int b; system(color f1n); printf(tt*n); printf(ttt10001125徐成双个人财务管理系统nn); printf(tt*n); printf(t1.财务数据管理n); printf(t2.财务数据查询n); printf(t3.财务数据统计

7、n); printf(t0.退出返回n); printf(请输入选择的序号:); scanf(%d,&b); system(cls); switch(b) case 1: datalist();break; case 2: quelist();break; case 3: stalist();break; case 0: exit(0);break; void datain()/数据录入 int i,word=1,x,k=0; for(;datalongN & word=1;datalong+) printf(请输入编号:n); scanf(%d,&prodatalong.num); prin

8、tf(请输入年:n); scanf(%d,&prodatalong.year); printf(请输入月:n); scanf(%d,&prodatalong.month); printf(请输入日:n); scanf(%d,&prodatalong.day); printf(请输入收支项目名称:n); scanf(%s,prodatalong.name); printf(请输入收支金额:n); scanf(%lf,&prodatalong.amount); printf(要继续吗?n1.是 2.退出n); scanf(%d,&word); for(i = 0;i datalong;i+) pr

9、intf(%-5d%-5d%-5d%-5d%-10s%-5lfn,proi.num,proi.year,proi.month,proi.day,proi.name,proi.amount); printf(n档案需要存档吗?t1.是 2.否n); scanf(%d,&x); writefile(x);void datamo() int ch,i; printf(请输入要修改的收支编号:n); scanf(%d,&ch); for(i = 0;i datalong;i +) if(proi.num = ch) printf(请输入修改信息:n); printf(请输入编号:n); scanf(%

10、d,&proi.num); printf(请输入年:n); scanf(%d,&proi.year); printf(请输入月:n); scanf(%d,&proi.month); printf(请输入日:n); scanf(%d,&proi.day); printf(请输入收支项目名称:n); scanf(%s,proi.name); printf(请输入收支金额:n); scanf(%lf,&proi.amount); writefile(1); void datadel()/ 数据删除 int ch,i; printf(请输入要修改的收支编号:n); scanf(%d,&ch); for

11、(i = 0;i datalong + 1;i +) if(proi.num = ch) proi.num = proi+1.num; proi.year = proi+1.year; proi.month = proi+1.month; proi.day = proi+1.day; strcpy(proi.name,proi+1.name); proi.amount = proi+1.amount; datalong = datalong - 1; writefile(1); void datalist() int b; system(cls);system(color 48n); prin

12、tf(tt*n); printf(tttt财务数据管理nn); printf(tt*n); printf(-1.财务录入n); printf(-2.财务修改n); printf(-3.财务删除n); printf(-0.退出返回n); printf(请输入选择的序号:);scanf(%d,&b);system(cls); switch(b) case 1: datain();mainlist();break; case 2: datamo();mainlist();break; case 3: datadel();mainlist();break; case 0: mainlist();bre

13、ak; void alldata() /输出所有信息 int i; printf(编号t 年t月t日t收支信息t金额n); for(i = 0;i datalong;i+)printf(%-10d%-9d%-5d%-5d%-15s%-5lfn,proi.num,proi.year,proi.month,proi.day,proi.name,proi.amount); void tdata()/按年月搜索 int y,m,i; printf(请输入年份); scanf(%d,&y); printf(请输入月份); scanf(%d,&m); printf(编号t 年t月t日t收支信息t金额n);

14、 for(i = 0;i datalong;i+) if(proi.year = y & proi.month = m) printf(%-10d%-9d%-5d%-5d%-15s%-5lfn,proi.num,proi.year,proi.month,proi.day,proi.name,proi.amount); void quelist()/数据查询菜单 功能所有数据、按年月、按收支查询 int b; system(color 48n); printf(tt*n); printf(tttt财务数据查询nn); printf(tt*n); printf(t$1.所有财务数据n); prin

15、tf(t$2.按年月查询n); printf(t$3.按收入和支出查询n); printf(t$0.退出返回n); printf(t请输入选择的序号:); scanf(%d,&b);system(cls); switch(b) case 1: alldata();mainlist();break; case 2: tdata();mainlist();break; case 3: sz();mainlist();break; case 4: mainlist();break; double sta(int y,int m)/按年月统计 int i; double sum = 0; for(i

16、= 0;i datalong;i+) if(proi.year = y & proi.month = m) sum +=proi.amount; return sum;void stalist() /统计菜单 功能按时间、收支统计 int b; int y,m; system(cls); system(color 48n); printf(tt*n); printf(tttt财务收支统计nn); printf(tt*n); printf(t-1.按年月统计n); printf(t-2.收支统计n); printf(t-0.退出返回n); printf(t请输入选择的序号:);scanf(%d,

17、&b); switch(b) case 1: printf(请输入年份); scanf(%d,&y); printf(请输入月份); scanf(%d,&m); printf(该月份金额为:%lfn,sta(y,m);mainlist();break; case 2: szsta();mainlist();break; case 3: mainlist();break; void main() /数据处理菜单 功能数据录入、修改、删除 datalong = readfile(); mainlist(); int readfile() /财务信息读取 int k = 0; if(fp=fopen

18、(data.txt,r)=NULL)/读取客房信息 printf(建立文件。n); if(fp=fopen(data.txt,w)=NULL) printf(无法进行存储信息。重新登录。n);exit(0); do fread(&prok,sizeof(FIN),1,fp); k+; while(prok-1.num!=0);return k-1; fclose(fp);void writefile(int x) /财务信息写入 int i = 0; if(fp=fopen(data.txt,w)=NULL) printf(写文件失败!n);exit(0); if(x=1) for(i=0;i

19、datalong;i+) fwrite(&proi,sizeof(FIN),1,fp); printf(文件修改成功。n); fclose(fp); char shuzi()/判断输入的是否是数字 char x; if(isdigit(x = getchar() printf(%cn,x); getchar(); return(x); else printf(%cn,x); printf(请输入数字!n); printf(请重新选择序号:); shuzi(); return 0;五测试数据和结果分析 编号年份月份日份收支金额001 2011111收入40000022011111支出450000

20、32011121收入5000004 2011121支出3500005201211收入4000006201211支出35001主菜单2财务数据录入3录入完成4按收入查询5支出查询6按年月统计7按收入统计六 调试过程中的问题1调试过程中发现屏幕比较单一,通过system(color f1n);system(color48 n);可以更改屏幕颜色,使其变的美观大方,井井有条。2 通过清屏语句system(cls);进行屏幕更改界面,使屏幕变得简单,清爽,不再那么杂乱。3程序中不断调用函数进行相关功能的运算使用,每个函数需要进仅仅相扣,有时函数联系不紧密会出现错误,无法执行相关功能。进行文件的读取写入

21、时,并需要判断文件能否读取和写入。七 课题设计总结实验中,刚开始我无从下手,经历了这次程序设计的整个过程,我们才发现我们知识的贫乏和知识面的狭窄。主要原因是我很少编程序,对编程序我没有足够的实践经验,这也注定了我在编程序时会遇到好多困难,面对这样不可逃避的困难,我只能迎头勇敢面对,我找同学讨论,询问许多关于C语言的问题,从中我学到了关于结构体,文件,单链表等知识。我不断查询资料,包括书本上的,网上的。对于个人财务系统的资料有好多相关内容,然而这些都不是我想要,因为其中好多我都没学过,我只能选取一些学过的内容进行编程,当然我一个人完成编程是有困难的,在我好同学帮助下,最后我终于完成了编程,对于质量的好坏,就看老师来评论了。这次程序设计,我对C语言有了更深的了解,原来自己编程的经历并不是很多,许多时候自己是纸上谈兵,但是通过此次编程让我将过去的所学的理论知识真正用到实践中,加深了我对所学知识的理解。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1