问题 使用开关将摄氏度福彩12选5走势图为华氏度

凯文91

新成员
已加入
2021年2月12日
留言内容
2
编程经验
Beginner
我是一名初学者C#程序员,试图编写一个向用户显示菜单的简单应用。当用户在运行时选择选项1时,程序将列出从0到100摄氏度福彩12选5走势图为华氏度的值。选择选项2时,程序将计算并显示0到212华氏度之间的值列表,福彩12选5走势图为摄氏温度。在相关方法中,将常数用于值100和212。我试图按如下所示的时间间隔从0-100编写一个for循环:for(int i = 0; i<100; i + = 4){Console.WriteLine(i); }:但是,仍然无法弄清楚如何传递(i)并使用GetCelsiusToFahrenheitLine()方法进行福彩12选5走势图以显示0-100之间的福彩12选5走势图结果。 –
问题是我只得到输入的选项,而不是福彩12选5走势图后的结果。到目前为止,这是我所做的:


C#:
  public TemperatureConverter()
    {
        Start();
    }

    /// <summary>
    ///
    /// </summary>
    public void Start()

    {

        while (true)

        {
            int choice = ShowMenu();
            switch (choice)
            {
                case 0:
                    return;
                case 1:

                    Console.WriteLine();
                    while (true)
                    {

                        Console.Write("Enter Celsius:");

                        Console.WriteLine();
                        if (double.TryParse(Console.ReadLine(), out double celsius))
                        {
                            Console.WriteLine(ShowTableCelsiusToFahrenheit(celsius));
                            Console.WriteLine();
                            break;
                        }
                        
                    }
                    break;
                case 2:
                    Console.WriteLine();
                    while (true)
                    {
                        Console.Write("Enter Fahrenheit:");
                        if (double.TryParse(Console.ReadLine(), out double fahrenheit))
                        {
                            Console.WriteLine(ShowTableFahrenheitToCelsius(fahrenheit));
                            Console.WriteLine();
                            break;
                        }
                    }
                    break;
                default:
                    Console.WriteLine("You must enter 1 to convert to Celsius or 2 to convert to Fahrenheit or 0 to exit!");
                    break;
            }
        }
    }

    private double CelsiusToFarenheit(double celsius) => celsius * 9.0 / 5.0 + 32.0;
    private double FahrenheitToCelsius(double fahrenheit) => (fahrenheit - 32.0) * 5.0 / 9.0;
    private string ShowTableCelsiusToFahrenheit(double celsius) => $"{celsius}°C is {CelsiusToFarenheit(celsius)}°F";
    private string ShowTableFahrenheitToCelsius(double fahrenheit) => $"{fahrenheit}°F is {FahrenheitToCelsius(fahrenheit)}°C";

    public int ShowMenu()
    {
        int width = 28;
        while (true)
        {
            Console.WriteLine("MAIN MENU");
            Console.WriteLine("".PadLeft(width, '-'));
            Console.WriteLine("Celsius to Fahrenheit".PadRight(width - 3) + ": 1");
            Console.WriteLine("Fahrenheit to Celsius".PadRight(width - 3) + ": 2 ");
            Console.WriteLine("Exit the program".PadRight(width - 3) + ": 0 ");
            Console.WriteLine("".PadLeft(width, '-'));
            Console.WriteLine();
            Console.WriteLine("Your choice: ");
            string line = Console.ReadLine();
            if (int.TryParse(line, out int choice))
            {
                return choice;
            }
        }
    }

}
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,561
地点
悉尼,澳大利亚
编程经验
10+
这是和其他方法一样的方法。您知道如何调用方法并传递参数,对吗?您已经在该代码中做了很多次。那也是您在那里所做的全部。调用该方法,传递参数,它将返回结果。这:
C#:
private double CelsiusToFarenheit(double celsius) => celsius * 9.0 / 5.0 + 32.0;
只是这样写的更简洁:
C#:
private double CelsiusToFarenheit(double celsius)
{
    return celsius * 9.0 / 5.0 + 32.0;
}
 
最佳 底部