2017-01-25 1 views
-1

I 나이, 체중, 신장 및 성별을 묻는 BMR 계산기를 만드는 동안 계속 오류가 발생합니다. if 문을 사용하여 인쇄 할 BMR 수식을 결정합니다. 하지만 계속 오류가 발생합니다.int를 bool로 암시 적으로 변환 할 수없고 bool을 사용하여 디스 페이트 할 수 없습니다. 적용 할 수 없습니다.

Cannot implicitly convert type int to bool

저는 초보자이며 이전에는 본 적이 없습니다. 여기 내 코드가있다.

public static void Main (string[] args) 
{ 
    int weight, height, age, gender; 

    Console.Write("Enter your age in years"); 
    age = Convert.ToInt32 (Console.ReadLine()); 
    Console.WriteLine ("Enter your weight in pounds"); 
    weight = Convert.ToInt32 (Console.ReadLine()); 
    Console.WriteLine ("Enter your height in inches"); 
    height = Convert.ToInt32 (Console.ReadLine()); 

    Console.WriteLine ("Gender? Enter male/female (1 for Male, 2 for Female)"); 
    gender = Convert.ToInt32 (Console.ReadLine()); 

    if (gender = 1) 
    { 
     Console.WriteLine ("Age: " + age); 
     Console.WriteLine ("Height:" + height); 
     Console.WriteLine ("Weight:" + weight); 
     Console.WriteLine ("Gender:" + gender); 

     Console.WriteLine ("Your BMR is" + 66 + (6.23 * weight) + (12.7 * height) - (6.8* age)); 
    } 

    if (gender = 2) 
    { 
     Console.WriteLine ("Age: " + age); 
     Console.WriteLine ("Height:" + height); 
     Console.WriteLine ("Weight:" + weight); 
     Console.WriteLine ("Gender:" + gender); 

     Console.WriteLine ("Your BMR is " + 655 + (4.35 * weight) + (4.7 * height) - (4.7 * age)); 
    } 
} 
+2

'='와'=='서로 다른 사업자 ... – BradleyDotNET

+0

감사합니다, -. "형식 문자열과 이중의 피연산자에 적용 할 수 없습니다 –

+1

괄호를 추가 BMR은 "+ (66 + ...)"입니다. 귀하의 문제는 "BMR is"와 "66"을 연결 한 다음 다음 BMR과 다음 BMR을 연결하는 것입니다. 그리고 나서'-'에 도달하고 손을 들어 올립니다. – itsme86

답변

0

상수 값을 10 진수로 캐스트하고 계산 주위에 대괄호를 사용해야합니다. 여전히 "운영자"를 잡, 해당 오류에 대한 도움

public static void BMR(string[] args) 
{ 
    int weight, height, age, gender; 

    Console.Write("Enter your age in years"); 
    age = Convert.ToInt32(Console.ReadLine()); 
    Console.WriteLine("Enter your weight in pounds"); 
    weight = Convert.ToInt32(Console.ReadLine()); 
    Console.WriteLine("Enter your height in inches"); 
    height = Convert.ToInt32(Console.ReadLine()); 

    Console.WriteLine("Gender? Enter male/female (1 for Male, 2 for Female)"); 
    gender = Convert.ToInt32(Console.ReadLine()); 

    if (gender == 1) 
    { 
     Console.WriteLine("Age: " + age); 
     Console.WriteLine("Height:" + height); 
     Console.WriteLine("Weight:" + weight); 
     Console.WriteLine("Gender:" + gender); 

     Console.WriteLine("Your BMR is" + (66.0m + (6.23m * weight) + (12.7m * height) - (6.8m * age))); 
    } 
    else 
    { 
     Console.WriteLine("Age: " + age); 
     Console.WriteLine("Height:" + height); 
     Console.WriteLine("Weight:" + weight); 
     Console.WriteLine("Gender:" + gender); 

     Console.WriteLine("Your BMR is " + (655.0m + (4.35m * weight) + (4.7m * height) - (4.7m * age))); 
    } 
} 
관련 문제