您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页个人资金账户管理(实验报告)

个人资金账户管理(实验报告)

来源:爱go旅游网
 .

程序设计与实践

实验报告

Word专业资料

实验一:个人资金账户管理

姓名: ****

学号: *********** 班级: *********

实验时间:****/**/**-****/**/**

.

一:实验名称:

个人资金账户管理 二:实验环境:

一台安装有VC6.0程序的电脑。 三:实验目的

(1)培养和锻炼对具有一定复杂度和规模的问题的分析与求解能力。

(2)掌握程序设计的综合方法,能综合应用各种数据类型实现较复杂数据的存储。

(3)培养良好的C程序设计风格与代码规范意识。 四:实验内容:

用C语言编程,实现对个人资金帐户的管理。 五:实验步骤:(实验设计,关键代码。实验结果需截图)

1、总体程序框图

Word专业资料

.

2、各模块程序流程图

1)、主函数(程序流程图及运行界面)

主函数程序流程图

简要说明:该功能主要是给用户显示一个功能菜单界面。

Word专业资料

.

主函数运行界面

2)、录入资金信息(源代码及运行界面) 程序代码

void addNewLog() {

Word专业资料

FILE *tfp;

int m=0; char ch[2];

struct LogData log[MAX];

if((tfp=fopen(\"cashbox.dat\{

printf(\"不能打开文件!\\n\");

.

}

exit(0);

while(!feof(tfp)) /*统计记录的条数*/

if(fread(&log[m],LEN,1,tfp)==1)

m++;

fclose(tfp);

if((tfp=fopen(\"cashbox.dat\{ }

for(int i=0;iprintf(\"不能打开文件!\\n\"); exit(0);

fwrite(&log[i] ,LEN,1,tfp);/*向指定的磁盘文件写入信息*/

Word专业资料

printf(\"是否添加账户资金信息(Y/N): \"); scanf(\"%s\

while(strcmp(ch,\"Y\")==0||strcmp(ch,\"y\")==0) {

printf(\"请输入以下信息...\\n\\n\");

printf(\"日期(格式:<2000-01-01> ) :\"); scanf(\"%s\printf(\"说明:\");

.

Word专业资料

scanf(\"%s\printf(\"费用(收入为+,支出为-) :\"); scanf(\"%lf\log[m].logid=m+1; if(m==0) {

log[m].balance=0;

log[m].balance=log[m].balance+log[m].charge; }

else if(m>0)

log[m].balance=log[m-1].balance+log[m].charge; }

if(fwrite(&log[m],LEN,1,tfp)!=1)

printf(\"保存失败!\");

else { }

printf(\"是否继续添加(Y/N):\"); scanf(\"%s\

printf(\"该记录保存成功!\\n\"); m++;

fclose(tfp);

.

}

运行界面

3)、显示资金信息(源代码及运行界面) 程序代码 void listLog() {

Word专业资料

FILE *tfp;

struct LogData log[MAX]; int i,n,m=0;

if((tfp=fopen(\"cashbox.dat\{

printf(\"不能打开文件!\\n\");

.

}

exit(0);

while(!feof(tfp))

if(fread(&log[m],LEN,1,tfp)==1)

m++;

fclose(tfp);

printf(\"请选择:\\n1、查询全部\\n2、查询余额\\n您的选

择是:\");

scanf(\"%d\switch(n) { case 1:

printf(\"编号\\日期\\说明\\费用\\余额\\n\"); for(i=0;iprintf(\"%2d%21s%15s%15.0lf%15.0lf\\n\

og[i].logdate,

log[i].lognote,log[i].charge,log[i].balance);

system(\"pause\"); break;

case 2:

printf(\"编号\\日期\\说明\\费用\\余额\\n\");

Word专业资料

.

printf(\"%2d%21s%15s%15.0lf%15.0lf\\n\

gid,log[m-1].logdate,log[m-1].lognote,log[m].charge,log[m-1].balance); }

运行界面 }

system(\"pause\"); break;

3)、修改资金信息(源代码及运行界面) 程序代码 void updateLog() {

Word专业资料

.

Word专业资料

FILE *tfp; char ch[2];

struct LogData log[MAX]; int t,n,m=0;

if((tfp=fopen(\"cashbox.dat\{ }

while(!feof(tfp))

if(fread(&log[m],LEN,1,tfp)==1)

m++;

printf(\"不能打开文件!\\n\"); exit(0);

fclose(tfp); if(m==0) { } else {

printf(\"请输入你要修改的记录的ID:\"); scanf(\"%d\

printf(\"没有找到该记录!\\n\"); return;

.

}

for(int i=0;iif(n==log[i].logid) t=i;

if(t==m) { }

printf(\"编号\\日期\\说明\\费用\\余额\\n\"); printf(\"没有找到该记录!\\n\"); return;

printf(\"%2d%21s%15s%15.0lf%15.0lf\\n\

og[t].logdate,log[t].lognote,log[t].charge,log[t].balance);

Word专业资料

printf(\"是否对该记录进行修改(Y/N):\"); scanf(\"%s\

if(strcmp(ch,\"Y\")==0||strcmp(ch,\"y\")==0) {

printf(\"请输入以下信息...\\n\\n\");

printf(\"日期(格式:<2000-01-01> ) :\"); scanf(\"%s\printf(\"说明:\");

scanf(\"%s\printf(\"费用(收入为+,支出为-) :\");

.

Word专业资料

scanf(\"%lf\

log[t].balance=log[t-1].balance+log[t].charge;

if((tfp=fopen(\"cashbox.dat\{ }

for(int j=0;jprintf(\"不能打开文件!\\n\"); exit(0);

log[j].balance=log[j-1].balance+log[j].charge; } }

fclose(tfp);

if(fwrite(&log[j],LEN,1,tfp)!=1) { } else

printf(\"该记录修改成功!\\n\"); printf(\" 不能保存!\\n\"); fclose(tfp); return;

system(\"pause\");

.

}

fclose(tfp);

运行界面(修改、修改后)

Word专业资料

.

六:实验小结:

此次课程设计,将上学期课本上所学的内容应用到本次实践当中,使我更加清楚的理解并掌握了C语言部分内容,通过一些错误使我更加深刻的认识到C语言程序的严谨性。

此次实践内容的难点是“修改函数”与其他函数之间的相互影响,记录内容被修改后,其他函数的相关内容也要相应的随之改变,由于缺乏实践经验,在编程中感觉此处有些难度。幸运的是,在老师的指导之下,明白了,其他函数中相应更改的内容,要在写入文件前,将内容修改,然后再写入文件。于是问题得以解决。

由于目前知识水平的,仅仅是完成了各功能的实现,然而代码编写的还不够优化,看起来有些繁杂。代码的质量有待于改进。

Word专业资料

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务