题目
假设一个简单的在ATM的取款过程如下
首先提示用户输入密码(password),最多只能输入3次,
超过3次则提示用户“密码错误,请取卡”结束交易。
如果用户密码正确,再提示用户输入金额(amount),
ATM只能输出100元的纸币,一次取线数要求最低0元,最高1000元。
如果用户输入的金额符合上述要求,则打印输入用户取的钱数,
最后提示用户“交易完成,请取卡”,
否则,提示用户重新输入金额。
假设用户密码111111。
代码
try
{
string pass; //用于存储用户输入的密码
int count=1; //定义用户输入次数
int amount=0; //定义用户金额
string password = "111111";
bool ispass = false;
Console.WriteLine("请输入密码:");
pass = Console.ReadLine();
while (count< 3 && !ispass ) //输入密码次数
{
if (pass != password)
{
count++;
Console.WriteLine("请输入密码:");
pass = Console.ReadLine();
continue;
}
Console.WriteLine("请输入金额:");
amount = Convert.ToInt32(Console.ReadLine());
while (amount > 1000 ||amount % 100 != 0) //输入的金额 大于1000,或不能被100整除,则重新输入
{
Console.WriteLine("请输入金额:");
amount = Convert.ToInt32(Console.ReadLine());
}
ispass = true;
break;
}
if (count >= 3)
{
Console.WriteLine("你三次密码输入都错误,卡被冻结");
}
if (ispass)
{
Console.WriteLine("你取出了{0}元钱", amount);
Console.WriteLine("交易完成");
}
}
catch
{
Console.WriteLine("对不起,格式有误,程序退出!");
}
Console.ReadKey();
效果图

网友评论