教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

数据结构和c语言课程设计报告(2)

来源:网络收集 时间:2026-07-24
导读: } fclose(fp); } void display() //显示用户资料 { printf(%30s\n,***用户资料显示***); printf(%8s %15s %15s %10s\n,账号,用户姓名,身份证号码,存款余额); printf(---------------------------------------------

}

fclose(fp);

}

void display() //显示用户资料

{

printf("%30s\n","***用户资料显示***");

printf("%8s %15s %15s %10s\n","账号","用户姓名","身份证号码","存款余额"); printf("---------------------------------------------\n\n");

FILE * fp;

struct user temp;

if((fp=fopen(file,"rb"))==NULL)

{

printf("cannot open file!\n");

exit(1);

}

while(fread(&temp,sizeof(struct user),1,fp))

{

活期储蓄账目管理

printf("NO.%d %15s %15s %.2f\n",temp.id,,temp.person_num,temp.money);

}

fclose(fp);

}

void save_money() //函数功能:按账号存款

{

printf("%30s\n","***用户存款业务***");

printf("---------------------------------------------\n\n");

int count();

FILE *fp;

int i,num,mark;

struct user *temp;

num=count(); //根据记录数申请空间

temp=(struct user *)malloc(num*sizeof(struct user));

if((fp=fopen(file,"rb"))==NULL)

{

printf("cannot open file!\n");

exit(1);

}

for(i=0;i<num;i++) //将文件内容存入数组

fread(&temp[i],sizeof(struct user),1,fp);

fclose(fp);

printf("输入要存款账号:"); //读取存款账号

scanf("%d",&mark);

if(mark<1||mark>num)

{

printf("你要存款账号不存在!");

return;

}

if((fp=fopen(file,"wb"))==NULL) //写方式打开文件,覆盖原文件中的内容 {

printf("cannot open file!\n");

exit(1);

活期储蓄账目管理

}

for(i=0;i<num;i++)

{

if(temp[i].id==mark)

{

double money=0;

printf("输入要存入的金额:");

scanf("%lf",&money);

if(money<=0)

{

printf("只能为正数!\n");

money=0;

}

temp[i].money +=money; //修改该用户的信息

}

fwrite(&temp[i],sizeof(struct user),1,fp);

}

fclose(fp);

free(temp);

printf("你存款业务已办妥!\n");

}

void get_money() //函数功能:用户取款

{

printf("%30s\n","***用户取款业务***");

printf("---------------------------------------------\n\n");

int count();

FILE *fp;

int i,num,mark;

struct user *temp;

num=count(); //根据记录数申请空间

temp=(struct user *)malloc(num*sizeof(struct user));

if((fp=fopen(file,"rb"))==NULL)

{

printf("cannot open file!\n");

exit(1);

}

活期储蓄账目管理

fread(&temp[i],sizeof(struct user),1,fp); fclose(fp); printf("输入要取款账号:"); scanf("%d",&mark); if(mark<1||mark>num) { printf("你要取款账号不存在!"); return; } if((fp=fopen(file,"wb"))==NULL) { printf("cannot open file!\n"); exit(1); } for(i=0;i<num;i++) //写方式打开文件,覆盖原文件中的内容 { if(temp[i].id==mark) { double money=0; printf("输入要取出的金额:"); scanf("%lf",&money); if(money<=0) //判断用户余额是否足够 { printf("只能为正数!\n"); money=0; } else if(money>temp[i].money) { printf("你的余额不足!\n"); money=0; } temp[i].money -=money; } fwrite(&temp[i],sizeof(struct user),1,fp); } fclose(fp); free(temp);

活期储蓄账目管理

printf("你取款业务已办妥!\n");

}

void del() //销户

{

int count();

printf("%30s\n","***注销账户***");

printf("%8s %15s %15s %10s\n","账号","用户姓名","身份证号码","存款余额"); printf("---------------------------------------------\n\n");

FILE * fp;

struct user temp;

int i,maxnum;

if((fp=fopen(file,"rb"))==NULL)

{

printf("cannot open file!\n");

exit(1);

}

maxnum=count();

printf("输入要销户账号:"); //判断编号是否在记录中

scanf("%d",&i);

if(i<1||i>maxnum)

{

printf("你要查询的账号不存在!");

return;

}

while(fread(&temp,sizeof(struct user),1,fp))//循环读取每一条记录 判断是否为要查看的记录

if(temp.id==i&&temp.money==0.00)//余额为0

{temp.id=-1;//算无效帐户

printf("NO.%d %15s %15s %.2f\n",temp.id,,temp.person_num,temp.mone

…… 此处隐藏:881字,全部文档内容请下载后查看。喜欢就下载吧 ……
数据结构和c语言课程设计报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/133903.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)