C语言程序设计(第3版)何钦铭 颜 晖 第12章 文件(4)

2019-06-05 10:07

if(fclose(fp2)){

printf(\ exit(0); }

return 0; }

7.(选做) 账户余额管理: 创建一个随机文件,用来存储银行账户和余额信息,程序要求能够查询某个账户的余额,当客户发生交易额时(正表示存入,负表示取出)能够更新余额。账户信息包括账号、账号名和余额三个数据项。试编写相应程序。

文件部分内容如下:

AcctNo AcctName Balance 1 zhangsan 1 000.00 2 lisi 1 300.00 3 wangwu -100.00 …… 解答:

#include #include #include long size;

struct account{ char no[10];

char acctname[50]; double balance; };

FILE *openfile(char *openmode){ FILE *fp;

if((fp=fopen(\ printf(\ exit(0); }

return fp; }

double userbalance(FILE *fp,char *name); void pay(FILE *fp,char *name,double count); int main() {

FILE *fp; int choice; char name[50]; double balance;

double count;

printf(\请输入选择类型:\\n\ printf(\查账户余额\\n\ printf(\账户交易\\n\ printf(\退出按exit\\n\ printf(\选择类型:\ scanf(\ switch(choice){ case 1:

printf(\输入名字\ scanf(\ fp=openfile(\

balance=userbalance(fp,name); printf(\ break; case 2:

printf(\输入名字\ scanf(\ fp=openfile(\

printf(\输入交易金额\ scanf(\ pay(fp,name,count); break; }

default: exit(0); break; }

return 0; }

double userbalance(FILE *fp,char *name){ struct account user; double balance;

rewind(fp);

while(!feof(fp)){

fscanf(fp,\ if(strcmp(user.acctname,name)==0){ balance=user.balance; break; } }

return balance; }

void pay(FILE *fp,char *name,double count){

FILE *fpout;

struct account user; double balance;

balance=userbalance(fp,name); balance=balance+count; rewind(fp);

fpout=fopen(\ while(!feof(fp)){

fscanf(fp,\ if(strcmp(user.acctname,name)==0){ user.balance=balance;

fprintf(fpout,\ } else

fprintf(fpout,\ }

if(fclose(fp)){

printf(\ exit(0); }

if(fclose(fpout)){ printf(\ exit(0); }

unlink(\都是删除文件的函数 rename(\}


C语言程序设计(第3版)何钦铭 颜 晖 第12章 文件(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:计算机软件毕业设计智能小区数字化停车场管理系统 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: