2017-01-25 21 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

おかげで、 - 。』文字列型とdoubleのオペランドに適用することはできません –

+1

括弧を追加します。あなたのBMRは "+(66 + ...)'のように計算されます。問題はあなたの問題です。あなたの問題は "Your BMR is"と "66"を連結して次のものと次のものを連結しますそしてそれは ' - 'に行き、手を上げます。 – itsme86

答えて

0

定数値を10進数にキャストし、計算にブラケットを付ける必要があります。それでも「演算子 『をrecieving、そのエラーのために役立っ

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))); 
    } 
} 
関連する問題