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

上传人:b****5 文档编号:19821592 上传时间:2023-01-10 格式:DOCX 页数:15 大小:77.71KB
下载 相关 举报
南邮程序设计个人财务系统实验报告文档格式.docx_第1页
第1页 / 共15页
南邮程序设计个人财务系统实验报告文档格式.docx_第2页
第2页 / 共15页
南邮程序设计个人财务系统实验报告文档格式.docx_第3页
第3页 / 共15页
南邮程序设计个人财务系统实验报告文档格式.docx_第4页
第4页 / 共15页
南邮程序设计个人财务系统实验报告文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

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

《南邮程序设计个人财务系统实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《南邮程序设计个人财务系统实验报告文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

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

voiddatamo();

//信息修改

voiddatadel();

//删除信息

voidquelist();

voidalldata();

//查询所有信息

voidtdata();

//按年月查询

voidsz();

//按收支查询

voidstalist();

doublesta(inty,intm);

//按月份或年份统计收支

voidszsta();

//收支统计

charshuru();

//判断输入是否为数字

intreadfile();

//读取财务信息

voidwritefile(intx);

//记录财务信息

(3)进行各个函数功能的运用

voidmainlist()主菜单定义个人财务系统的管理,查询,统计,其中用到switch();

{case0,case1,case2,case3}语句进行选择功能,for语句限制输入数据的长度并判断数据是否要存档,并通过printf,scanf语句进行相关数据的输入输出。

在定义主函数中,进行文件的定义readfile()进行读取文件writefile()进行写入文件。

并判断能否读取和写入,charshuzi()判断输入的是否是数字,如果不是数据重新输入或返回。

(4)实验中主要用到的函数和主要语句

1#defineN100宏指令,定义100个数据变量。

2structfinance//财务数据结构体定义finance为结构名

{

intnum;

结构体成员别列

intyear;

intmonth;

intday;

charname[30];

doubleamount;

}FIN,pro[N];

FIN为结构别名

3FILE*fp;

文件指针

4system("

colorf1\n"

);

改变运行界面为白色

system("

color48\n"

改变运行界面为红色

cls"

清屏语句

5switch(…..){case0:

…….;

case1:

………..};

四源程序相关主要代码

structfinance//财务数据结构体

typedefstructdata//月度统计

intsort_year;

intsort_month;

doublecount;

structdatasort*next;

}DSORT,*DSORTP;

DSORTdsort[N];

voidmainlist()//主菜单,可选功能数据管理、查询、统{

intb;

system("

printf("

\t\t******************************************\n"

\t\t\t10001125徐成双个人财务管理系统\n\n"

\t1.财务数据管理\n"

\t2.财务数据查询\n"

\t3.财务数据统计\n"

\t0.退出返回\n"

请输入选择的序号:

"

scanf("

%d"

&

b);

switch(b)

{

case1:

datalist();

break;

case2:

quelist();

case3:

stalist();

case0:

exit(0);

}

}

voiddatain()//数据录入

inti,word=1,x,k=0;

for(;

datalong<

N&

&

word==1;

datalong++)

{printf("

请输入编号:

\n"

pro[datalong].num);

请输入年:

pro[datalong].year);

请输入月:

pro[datalong].month);

请输入日:

pro[datalong].day);

请输入收支项目名称:

%s"

pro[datalong].name);

请输入收支金额:

%lf"

pro[datalong].amount);

要继续吗?

\n1.是2.退出\n"

word);

for(i=0;

i<

datalong;

i++)

printf("

%-5d%-5d%-5d%-5d%-10s%-5lf\n"

pro[i].num,pro[i].year,pro[i].month,pro[i].day,pro[i].name,pro

[i].amount);

\n档案需要存档吗?

\t1.是2.否\n"

x);

writefile(x);

}voiddatamo()

intch,i;

请输入要修改的收支编号:

ch);

i++)

if(pro[i].num==ch)

请输入修改信息:

pro[i].num);

pro[i].year);

pro[i].month);

pro[i].day);

pro[i].name);

pro[i].amount);

writefile

(1);

voiddatadel()//数据删除

datalong+1;

pro[i].num=pro[i+1].num;

pro[i].year=pro[i+1].year;

pro[i].month=pro[i+1].month;

pro[i].day=pro[i+1].day;

strcpy(pro[i].name,pro[i+1].name);

pro[i].amount=pro[i+1].amount;

datalong=datalong-1;

voiddatalist()

\t\t************************************\n"

\t\t\t\t财务数据管理\n\n"

-----1.财务录入\n"

-----2.财务修改\n"

-----3.财务删除\n"

-----0.退出返回\n"

scanf("

datain();

mainlist();

datamo();

datadel();

mainlist();

voidalldata()//输出所有信息

inti;

编号\t年\t月\t日\t收支信息\t金额\n"

%-10d%-9d%-5d%-5d%-15s%-5lf\n"

voidtdata()//按年月搜索

inty,m,i;

请输入年份"

y);

请输入月份"

m);

if(pro[i].year==y&

pro[i].month==m)

pro[i].num,pro[i].year,pro[i].month,pro[i].day,pro

[i].name,pro[i].amount);

voidquelist()//数据查询菜单功能所有数据、按年月、按收支查询

\t\t***************************************\n"

\t\t\t\t财务数据查询\n\n"

\t$$1.所有财务数据\n"

\t$$2.按年月查询\n"

\t$$3.按收入和支出查询\n"

\t$$0.退出返回\n"

\t请输入选择的序号:

alldata();

tdata();

sz();

case4:

doublesta(inty,intm)//按年月统计

doublesum=0;

sum+=pro[i].amount;

returnsum;

voidstalist()//统计菜单功能按时间、收支统计

inty,m;

\t\t**************************************\n"

\t\t\t\t财务收支统计\n\n"

\t--1.按年月统计\n"

\t--2.收支统计\n"

\t--0.退出返回\n"

该月份金额为:

%lf\n"

sta(y,m));

szsta();

voidmain()//数据处理菜单功能数据录入、修改、删除

datalong=readfile();

intreadfile()//财务信息读取

intk=0;

if((fp=fopen("

data.txt"

"

r"

))==NULL)//读取客房信息

建立文件。

w"

))==NULL)

无法进行存储信息。

重新登录。

exit(0);

do

fread(&

pro[k],sizeof(FIN),1,fp);

k++;

}while(pro[k-1].num!

=0);

returnk-1;

fclose(fp);

voidwritefile(intx)//财务信息写入

inti=0;

))==NULL)

写文件失败!

if(x==1)

for(i=0;

i<

datalong;

fwrite(&

pro[i],sizeof(FIN),1,fp);

文件修改成功。

}

charshuzi()//判断输入的是否是数字

charx;

if(isdigit(x=getchar()))

%c\n"

x);

getchar();

return(x);

else

请输入数字!

请重新选择序号:

shuzi();

return0;

五.测试数据和结果分析

编号

年份

月份

日份

收支

金额

001

2011

11

1

收入

4000

002

支出

4500

003

12

5000

004

3500

005

2012

006

1主菜单

2财务数据录入

3录入完成

4按收入查询

5支出查询

6按年月统计

7按收入统计

六调试过程中的问题

1调试过程中发现屏幕比较单一,通过system("

color48\n"

可以更改屏幕颜色,使其变的美观大方,井井有条。

2通过清屏语句system("

进行屏幕更改界面,使屏幕变得简单,清爽,不再那么杂乱。

3程序中不断调用函数进行相关功能的运算使用,每个函数需要进仅仅相扣,有时函数联系不紧密会出现错误,无法执行相关功能。

进行文件的读取写入时,并需要判断文件能否读取和写入。

七课题设计总结

实验中,刚开始我无从下手,经历了这次程序设计的整个过程,我们才发现我们知识的贫乏和知识面的狭窄。

主要原因是我很少编程序,对编程序我没有足够的实践经验,这也注定了我在编程序时会遇到好多困难,面对这样不可逃避的困难,我只能迎头勇敢面对,我找同学讨论,询问许多关于C语言的问题,从中我学到了关于结构体,文件,单链表等知识。

我不断查询资料,包括书本上的,网上的。

对于个人财务系统的资料有好多相关内容,然而这些都不是我想要,因为其中好多我都没学过,我只能选取一些学过的内容进行编程,当然我一个人完成编程是有困难的,在我好同学帮助下,最后我终于完成了编程,对于质量的好坏,就看老师来评论了。

这次程序设计,我对C语言有了更深的了解,原来自己编程的经历并不是很多,许多时候自己是纸上谈兵,但是通过此次编程让我将过去的所学的理论知识真正用到实践中,加深了我对所学知识的理解。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

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

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