首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >温度建议应用

温度建议应用
EN

Stack Overflow用户
提问于 2015-09-22 22:57:03
回答 3查看 589关注 0票数 0

第一个问题。任何建议都有帮助。

这是为了一堂课,尽管我正试图自己去理解。我在编写代码时遇到了一些语法错误。这个控制台应用程序的目标是让用户能够输入一个温度,并有一个建议,因为什么衣服是必要的(即“穿上一件轻型夹克”)。

在此之前,我已经完成了温度转换应用程序,并将我的代码添加到通知应用程序中。我看过其他示例,也没有找到类似于这样的if...else语句的简洁示例。

我认为这个错误是因为变量不是布尔变量,但我不知道如何将它转换为布尔值,只用于if else语句。

到目前为止,这就是我所拥有的:

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleF_to_C_App
{
    class Program
    {
        static void Main(string[] args)
        {
            //declare a char variable to store the degree symbol
            char chrDegree = (char)176;

            //display program info
            Console.WriteLine("Temperature Conversions with Advice (v.1) Sept 17, 2015");
            Console.WriteLine("-------------------------------------------------------\n\n");
            //prompt user to enter the temperature in F
            Console.Write("Enter today's temperature in {0} F (eg 60): ", chrDegree);

            //read in the user input
            string strF = Console.ReadLine();

            //declare two doubles to store F and C temperature
            double dblF, dblC;

            //convert input from string to double
            dblF = Convert.ToDouble(strF);

            //calculate celsius using fahrenheit
            dblC = (dblF - 32) * 5 / 9;

            Console.WriteLine("\n\nToday's Temperature: {0:F2}{1} F = {2:F2}{1} C \n\n",
                dblF, chrDegree, dblC);

            double temp = double.Parse(Console.ReadLine());

            //if the user enters < 40
                if (temp < 40)
            {
                Console.WriteLine("\n\nIt is very cold. Put on a heavy coat.");
            }

            else if
            {
                 (temp > 40 || temp < 60)
                Console.WriteLine("\n\nIt is cold. Put on a coat.");
            }
            else if
            {
                 (temp >= 60 || temp < 70)
                Console.WriteLine("\n\nThe temperature is cool. Put on a light jacket.");
            }
            else if
            {
                 (temp >= 70 || temp < 80)
                Console.WriteLine("\n\nThe temperature is pleasant. Wear anything you like.");
            }
            else if
            {
                  (temp >= 80 || temp < 90)
                Console.WriteLine("\n\nThe temperature is warm. Wear short sleeves.");
            }
            else if
            {
                 (temp >= 90)
                Console.WriteLine("\n\nIt is hot. Wear shorts today.");
            }

            Console.WriteLine("Thank you for using the Temperature Conversion Application.\n\n");
            //ask if the user wants to continue
            Console.Write("Do you want to continue Y/N ? ");
            //reads in the user input
            strContinue = Console.ReadLine();
            Console.WriteLine("\n\n");

            //if the user enters N or n
            if (strContinue == "N" || strContinue == "n")
            {
            //set the bool variable to false
            boolContinue = false;
            }
            //otherwise
            else
            {
            //set the boolean variable to true
            boolContinue = true;
            }

            Console.ReadKey();

        }
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-22 23:03:06

在这些点上会出现语法错误。

代码语言:javascript
复制
else if
{
    (temp > 40 || temp < 60)
    Console.WriteLine("\n\nIt is cold. Put on a coat.");
}

语法是if( expression) { /* ... */ },所以(必须直接跟踪if。这是正确的:

代码语言:javascript
复制
else if (temp > 40 || temp < 60)
{
    Console.WriteLine("\n\nIt is cold. Put on a coat.");
}

另外,您忘记将此变量声明为string

代码语言:javascript
复制
strContinue = Console.ReadLine();

并且正确地将此布尔值设置为truefalse,因此只需将bool boolContinue = true;的声明移至Main()函数的开头,即将所有现有代码包装在while(boolContinue)表达式中即可。

票数 0
EN

Stack Overflow用户

发布于 2015-09-22 23:03:19

有一个问题是你的比较。

代码语言:javascript
复制
else if
{
    (temp >= 90)
    Console.WriteLine("\n\nIt is hot. Wear shorts today.");
}

一定是..。

代码语言:javascript
复制
else if (temp >= 90)
{
    Console.WriteLine("\n\nIt is hot. Wear shorts today.");
}
票数 0
EN

Stack Overflow用户

发布于 2015-09-23 00:05:10

多亏了马西米兰,我把事情解决了。

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {

            //declare a char variable to store the degree symbol
            char chrDegree = (char)176;
            Boolean boolContinue = true;
            string strContinue;
            //declare two doubles to store F and C temperature
            double dblF, dblC;


            while (boolContinue == true)
            {

                //display program info
                Console.WriteLine("Temperature Conversions with Advice (v.1) Sept 17, 2015");
                Console.WriteLine("-------------------------------------------------------\n\n");
                //prompt user to enter the temperature in F
                Console.Write("Enter today's temperature in {0} F (eg 60): ", chrDegree);

                //read in the user input
                string strF = Console.ReadLine();


                //convert input from string to double
                dblF = Convert.ToDouble(strF);

                //calculate celsius using fahrenheit
                dblC = (dblF - 32) * 5 / 9;

                Console.WriteLine("\n\nToday's Temperature: {0:F2}{1} F = {2:F2}{1} C \n\n",
                    dblF, chrDegree, dblC);

                //if the user enters < 40
                if (dblF < 40)
                {
                    Console.WriteLine("\n\nIt is very cold. Put on a heavy coat.");
                }

                else if (dblF > 40 && dblF < 60)
                {
                    Console.WriteLine("\n\nIt is cold. Put on a coat.");
                }

                else if (dblF >= 60 && dblF < 70)
                {
                    Console.WriteLine("\n\nThe temperature is cool. Put on a light jacket.");
                }

                else if (dblF >= 70 && dblF < 80)
                {
                    Console.WriteLine("\n\nThe temperature is pleasant. Wear anything you like.");
                }

                else if (dblF >= 80 && dblF < 90)
                {
                    Console.WriteLine("\n\nThe temperature is warm. Wear short sleeves.");
                }

                else if (dblF >= 90)
                {
                    Console.WriteLine("\n\nIt is hot. Wear shorts today.");
                }

                Console.WriteLine("Thank you for using the Temperature Conversion Application.\n\n");
                //ask if the user wants to continue
                Console.Write("Do you want to continue Y/N ? ");
                //reads in the user input
                strContinue = Console.ReadLine();
                Console.WriteLine("\n\n");

                //if the user enters N or n
                if (strContinue == "N" || strContinue == "n")
                {
                    //set the bool variable to false
                    boolContinue = false;
                }
                //otherwise
                else
                {
                    //set the boolean variable to true
                    boolContinue = true;
                }

                Console.ReadKey();
            }

        }
    }
}

^这个工作,谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32728349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档