【问题标题】:Need Help taking User Input需要帮助接受用户输入
【发布时间】:2021-02-02 06:32:20
【问题描述】:

我正在尝试创建一个程序,询问用户他们的身高是多少以及他们采取了哪些步骤并将其转换为英里。我无法让程序甚至向用户询问问题和帮助,我们将不胜感激。这是我到目前为止的代码。

float Height;
float Steps;
float CON_FAC;
float FEET_IN_Mile;
float strideLength;
float averageStride;
float feetWalked; 
float milesWalked;

Console.Write("Input height(inches): ");
Height = Convert.ToSingle(Console.ReadLine());
Console.Write("Input Steps(today):");
Steps = Convert.ToSingle(Console.ReadLine());

CON_FAC = .413F; 
FEET_IN_Mile = 5280;
strideLength = Height * CON_FAC;
averageStride = strideLength / 12;
feetWalked = averageStride * Steps;
milesWalked = feetWalked / FEET_IN_Mile;
Console.WriteLine($"You walked {milesWalked} miles");

【问题讨论】:

  • "我无法让程序甚至向用户提问" - 有什么问题,您遇到异常了吗?
  • float.TryParse 会让您更开心。当您的用户输入错误的数字时,它不会抛出异常

标签: c# type-conversion user-input


【解决方案1】:

使用 float.TryParse 或 float.Parse

float Height;
float Steps;
float CON_FAC;
float FEET_IN_Mile;
float strideLength;
float averageStride;
float feetWalked; 
float milesWalked;

Console.Write("Input height(inches): ");
Height = float.Parse(Console.ReadLine());
Console.Write("Input Steps(today):");
Steps = float.Parse(Console.ReadLine());

CON_FAC = .413F; 
FEET_IN_Mile = 5280;
strideLength = Height * CON_FAC;
averageStride = strideLength / 12;
feetWalked = averageStride * Steps;
milesWalked = feetWalked / FEET_IN_Mile;
Console.WriteLine("You walked " + milesWalked + " miles");

使用这个或检查值是否为浮点数

float Height;
float Steps;
float CON_FAC;
float FEET_IN_Mile;
float strideLength;
float averageStride;
float feetWalked; 
float milesWalked;

incagain:
Console.Write("Input height(inches): ");
if(float.TryParse(Console.ReadLine(),out Height))
{

}
else
{
    goto incagain;
}
todayagain:
Console.Write("Input Steps(today):");
if(float.TryParse(Console.ReadLine(),out Steps))
{

}
else
{
    goto todayagain;
}

CON_FAC = .413F; 
FEET_IN_Mile = 5280;
strideLength = Height * CON_FAC;
averageStride = strideLength / 12;
feetWalked = averageStride * Steps;
milesWalked = feetWalked / FEET_IN_Mile;
Console.WriteLine("You walked " + milesWalked + " miles");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多