您的位置:首页 > 编程语言 > C语言/C++

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

2015-05-09 15:22 225 查看
#include <stdio.h>
#include <stdlib.h>
//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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: