第一个问题。任何建议都有帮助。
这是为了一堂课,尽管我正试图自己去理解。我在编写代码时遇到了一些语法错误。这个控制台应用程序的目标是让用户能够输入一个温度,并有一个建议,因为什么衣服是必要的(即“穿上一件轻型夹克”)。
在此之前,我已经完成了温度转换应用程序,并将我的代码添加到通知应用程序中。我看过其他示例,也没有找到类似于这样的if...else语句的简洁示例。
我认为这个错误是因为变量不是布尔变量,但我不知道如何将它转换为布尔值,只用于if else语句。
到目前为止,这就是我所拥有的:
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();
}
}
}发布于 2015-09-22 23:03:06
在这些点上会出现语法错误。
else if
{
(temp > 40 || temp < 60)
Console.WriteLine("\n\nIt is cold. Put on a coat.");
}语法是if( expression) { /* ... */ },所以(必须直接跟踪if。这是正确的:
else if (temp > 40 || temp < 60)
{
Console.WriteLine("\n\nIt is cold. Put on a coat.");
}另外,您忘记将此变量声明为string。
strContinue = Console.ReadLine();并且正确地将此布尔值设置为true或false,因此只需将bool boolContinue = true;的声明移至Main()函数的开头,即将所有现有代码包装在while(boolContinue)表达式中即可。
发布于 2015-09-22 23:03:19
有一个问题是你的比较。
else if
{
(temp >= 90)
Console.WriteLine("\n\nIt is hot. Wear shorts today.");
}一定是..。
else if (temp >= 90)
{
Console.WriteLine("\n\nIt is hot. Wear shorts today.");
}发布于 2015-09-23 00:05:10
多亏了马西米兰,我把事情解决了。
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();
}
}
}
}^这个工作,谢谢!
https://stackoverflow.com/questions/32728349
复制相似问题