我的C/C++之路-007课(模仿ATM取款程序)

下面模仿下ATM取款机,有钱真好!!!

输入密码正确后可以:取款,存款,退出

#include<stdio.h>
/*
模仿ATM取款程序
*/
int strCompare(char *,char *);
int accountVerify();
void accountOperate();

void simulateOfATM()
{
	if(accountVerify())
		accountOperate();
	printf("GOODBYE\n");
}
//不使用自带的strcmp,自己写个玩玩
int strCompare(char *str1,char *str2)
{
	while(*str1&&*str2&&(*str1==*str2))
	//while(*str1!='\0'&&*str2!='\0'&&(*str1==*str2))//这个效率低点,不过容易理解
	{
		str1++;
		str2++;
	}
	return *str1-*str2;
}
//通行验证
int accountVerify()
{
	char password[50];//我就不信你们的密码超过50, 30倒是见过
	char pwd[10]={"abc"};
	int pwdCount=0;//记录密码输入次数,不能超过3次
	do{
		printf("please input your password or press ENTER to break: \n");
		gets(password);
		if(!strCompare(password,"\0")){
			break;
		}
		if(strCompare(password,pwd)){//密码错误
			printf("PASSWORD ERROR !!!\n");
			pwdCount++;
		}
		else
		{
				return 1;
		}
	
	}while(pwdCount<3);
	if(pwdCount>=3)
		printf("input count has outnumber,good bye!!\n");//输入超过限制
	else printf("GOODBYE\n");
	return 0;
}
//账户操作
void accountOperate()
{
	int operate,initMoney=100;//初始账户值:100
	int oprateMoney = 0;//操作金额数
	do{
		printf("the amount of your card is:  %d\n",initMoney);
		printf("*********** ACCOUNT OPERATE***************\n");
		printf("*          1: get money                  *\n");
		printf("*          2: deposite                   *\n");
		printf("*          3: exit                       *\n");
		printf("******************************************\n");
		printf("please select a operate: ");
		scanf("%1d",&operate);
		switch(operate)
		{
		case 1:
			printf("how much whould you like to get: ");
			scanf("%d",&oprateMoney);
			if(oprateMoney<=0||oprateMoney>initMoney)//如果输入金额小于等于0或者大于账户余额
			{
				printf("输入错误或者余额不足!!\n");
				continue;
			}
			initMoney -= oprateMoney;
			printf("¥%d 正在吐钞,请笑纳………\n",oprateMoney);
			continue;
		case 2:
			printf("how much whould you like to put: ");
			scanf("%d",&oprateMoney);
			initMoney += oprateMoney;
			printf("press any key to go back");
			continue;
		case 3:
		default:
			return;
		}
	}while(1);
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值