我正在创建一个具有以下要求的应用程序,并且是一位几乎没有编码经验的人,我需要帮助:
创建一个计算器,一次执行一次算术运算并将结果打印到屏幕上。
提示用户输入号码。
提示用户进行操作(+-/ *)。
提示用户输入另一个号码。
执行操作。
重复该操作,直到用户在任何提示下键入“退出”为止。
它无法正常工作。
当我输入quit
时它不会停止。
如何添加此功能?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Arithmetic_Calculator
{
class Program
{
static void Main(string[] args)
{
int x, y;
char operation;
while (true)
{
Console.Write("Enter a number or type \"quit\" to exit: ");
String entry = Console.ReadLine();
// Prompt user for the first number
Console.Write("Enter the first number: ");
x = Convert.ToInt32(Console.ReadLine());
// Prompt the user for an operation (+ - / *).
Console.Write("Enter an operation ");
operation = Convert.ToChar(Console.ReadLine());
// Prompt user for next number
Console.Write("Enter the next number ");
y = Convert.ToInt32(Console.ReadLine());
if (entry.ToLower() == "quit")
{
break;
}
if (operation == '+')
{
Console.WriteLine("{0} + {1} = {2}", x, y, x + y);
}
else if (operation == '-')
{
Console.WriteLine("{0} - {1} = {2}", x, y, x - y);
}
else if (operation == 'x')
{
Console.WriteLine("{0} * {1} = {2}", x, y, x * y);
}
else if (operation == '/')
{
Console.WriteLine("{0} / {1} = {2}", x, y, x / y);
}
}
}
}
}
答案 0 :(得分:1)
检查输入值的if条件应在收集用户输入后立即移动。 试试:
while (true)
{
Console.Write("Enter the first number or type \"quit\" to exit: ");
String entry = Console.ReadLine();
if (entry.ToLower() == "quit")
{
break;
}
x = Convert.ToInt32(entry);
// Prompt the user for an operation (+ - / *).
Console.Write("Enter an operation ");
operation = Convert.ToChar(Console.ReadLine());
// Prompt user for next number
Console.Write("Enter the next number ");
y = Convert.ToInt32(Console.ReadLine());