c 语言程序设计csdn,C语言及程序设计初步应用程序小设计-CSDN银行

#include

#include

//C语言及程序设计初步,综合练习,CSDN银行,功能说明

/* 1.输入密码进行登录(错误三次后退出程序),输入0-4选择不同功能,1-查询、2-取款,3-存款,4-改密码,0-退出.

2.只支持单个用户,密码和存款余额分别保存在本地两个文件中

3.取款功能支持超出额度提示.

4.修改密码需要输入两次新密码,先要输入原密码,如果原密码输入不正确,则立即退出。(安全性)

5.取款和存款操作需要加入确认提示,点击确认后才会继续操作,取消的话回退会上一级

*/

int main()

{

long iMoney,iOut,iPut;

long iPass,iPass_file,iPass_change_old,iPass_change_new1,iPass_change_new2;

FILE *fp1,*fp2;

int iErr_count=1;

int flag=0,choice;

char choice_temp;

printf("欢迎使用CSDN银行\n");

fp1=fopen("passwd.dat","r");

fp2=fopen("money.dat","r");

fscanf(fp1,"%ld",&iPass_file);

fscanf(fp2,"%ld",&iMoney);

fclose(fp1);

fclose(fp2);

while(iErr_count<=3)

{

if(iErr_count==1)

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

else

printf("密码错误,请再次输入密码: ");

scanf("%ld",&iPass);

if(iPass==iPass_file)

break;

else

iErr_count++;

}

if(iErr_count>3)

{

printf("错误三次,程序退出,该帐号锁定。\n");

exit(0);

}

while(flag==0)

{

printf("本行提供以下业务:\n");

printf("1. 查询.\n");

printf("2. 取款.\n");

printf("3. 存款.\n");

printf("4. 改密码.\n");

printf("0. 退出.\n");

printf("请选择需要办理的业务(1-4),按0退出");

scanf("%d",&choice);

switch(choice)

{

case 1:

{

printf("当前的存款余额为:%ld\n",iMoney);

break;

}

case 2:

{

printf("请输入需要取出的金额:");

scanf("%ld",&iOut);

printf("确认取出%ld元(输入n取消,任意键确认)\n",iOut);

choice_temp=getchar();//接收前一个字符串的\n

choice_temp=getchar();

if(choice_temp=='n'||choice_temp=='N')

break;

if(iOut<=iMoney)

{

iMoney-=iOut;

printf("成功取出%ld元!\n",iOut);

}

else

{

printf("余额不足!\n");

}

break;

}

case 3:

{

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

scanf("%ld",&iPut);

printf("确认存入%ld元(输入n取消,任意键确认)\n",iPut);

choice_temp=getchar();//接收前一个字符串的\n

choice_temp=getchar();

if(choice_temp=='n'||choice_temp=='N')

break;

iMoney+=iPut;

printf("成功存入%ld元!\n",iPut);

break;

}

case 4:

{

iErr_count=1;

while(iErr_count<=3)

{

if(iErr_count==1)

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

else

printf("密码错误,请再次输入原密码: ");

scanf("%ld",&iPass_change_old);

if(iPass_change_old==iPass)

break;

else

iErr_count++;

}

if(iErr_count>3)

{

printf("错误三次,程序退出,该帐号锁定。\n");

exit(0);

}

printf("校验通过,请输入新密码:");

scanf("%ld",&iPass_change_new1);

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

scanf("%ld",&iPass_change_new2);

while(iPass_change_new1!=iPass_change_new2)

{

printf("两次结果不一致,请重新输入!\n");

printf("校验通过,请输入新密码:");

scanf("%ld",&iPass_change_new1);

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

scanf("%ld",&iPass_change_new2);

}

iPass=iPass_change_new1;

printf("修改密码成功!\n");

break;

}

case 0:

{

flag=1;

break;

}

default:

{

printf("输入错误,请重新输入!\n");

}

}

}

fp1=fopen("passwd.dat","w");

fp2=fopen("money.dat","w");

fprintf(fp1,"%ld",iPass);

fprintf(fp2,"%ld",iMoney);

fclose(fp1);

fclose(fp2);

printf("谢谢您的使用,欢迎下次光临!\n");

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值