c语言大作业银行储蓄系统,C语言:银行储蓄系统的开发(初级)-Go语言中文社区...

本文介绍了一个简单的银行系统模拟程序,使用C语言实现。该程序实现了用户登录验证、查询余额、存款、取款及修改密码等功能,并通过文件来持久化存储用户密码和账户余额。

任务代码:

#include

#include

int main()

{

printf("欢迎来到鄞州银行!nn");

/*变量定义*/

int iPass;//用户输入的密码

int iPassinFile;//用户储存在文档中的密码

int iNewPass1,iNewPass2;//新密码

int iTry_num=0;//进入系统时尝试的次数

double dBalance; //账户余额

double dMoney; //存取款金额

int iChoice; //用于选择系统功能

FILE *fp;//文件指针

/*从已有文件中读入密码*/

fp=fopen("password.txt","r");

if(fp==NULL)

{

printf("passwordfile cannot open!");

exit(0);

}

fscanf(fp,"%d",&iPassinFile);

fclose(fp);

/*进入系统,密码三次不对将退出 */

do

{

iTry_num++;

printf("请输入密码:");

scanf("%d",&iPass);

if(iPassinFile==iPass)

{

break; //成功

}else

{

if(iTry_num>2)

{

printf("超过3次,锁死!请联系营业人员n");

exit(1);

} else

{

printf("密码错误请重新输入密码!还有%d次机会!n",3-iTry_num);

}

}

}while(1);

/*从文件中获取余额*/

if ((fp=fopen("balance.dat", "r"))==NULL)

{

printf("data file cannot open!");

exit(0);

}

fscanf(fp, "%lf", &dBalance);

fclose(fp);

/*业务办理*/

do

{

printf("n您可以办理下面的业务:n");

printf(" 1.查询n 2.取款n 3.存款n 4.改密码n 0.退出n请输入(0-4):");

scanf("%d", &iChoice);

switch(iChoice)

{

case 1:

printf("您的余额有%.2lf元. n",dBalance);

break;

case 2:

printf("输入取款金额: ");

scanf("%lf", &dMoney);

if(dBalance>dMoney)

{

dBalance-=dMoney;

printf("取款后,您还有%.2lf元. n",dBalance);

}

else

printf("余额不足,取款失败. n");

break;

case 3:

printf("输入存款额: ");

scanf("%lf", &dMoney);

dBalance+=dMoney;

printf("存款后,您有%.2f元. n",dBalance);

break;

case 4:

printf("请输入新密码:");

scanf("%d", &iNewPass1);

printf("再输入新密码:");

scanf("%d", &iNewPass2);

if(iNewPass1==iNewPass2)

{

iPassinFile= iNewPass1;

printf("密码修改成功,请注意保密.n");

}

else

printf("两次输入不一致,密码修改失败.n");

break;

case 0:

printf("欢迎您再来. n");

break;

}

}while(iChoice);

/*保存余额(可能用户没有改变金额,只做查询)*/

if((fp=fopen("balance.dat","w"))==NULL)

{

printf("data file cannot open!");

exit(0);

}

fprintf(fp,"%lf",dBalance);//写出保存后的账户金额

fclose(fp);

/*保存密码(可能用户没有改变密码)*/

if((fp=fopen("password.txt","w"))==NULL)

{

printf("password file cannot open !");

exit(0);

}

fprintf(fp,"%d",iPassinFile);

fclose(fp);

return 0;

}

执行情况:

fec6978a32202214f39f2a552ca202a2.png

知识总结:

密码还停留在数字阶段,后面数组学了之后可以做字符串数组

心得体会:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值