2016-06-22 6 views
-4

ここに私のコードです。 if文に入力した式は機能しません。私は "a"と入力したときにパンを言い、 "b"と入力するとワインを言うように、私はどのような変更を行うべきですか?

#include <iostream> 
using namespace std; 

int main(){ 

    int value; 

    cout << "a) Bread" << endl; 
    cout << "b) Wine" << endl; 
    cout << endl; 
    cout << "Please enter the letter of the type of product you want to buy: " << endl; 
    cin >> value; 

    if(value == a){ 
     cout << "You chose bread"; 
    } else{ 
     cout << "You chose wine"; 
    } 

    return 0; 
} 
+0

「a」という名前の変数がないため、コードがコンパイルされません。 'int'を' const char'の代わりに未定義の変数と比較しようとしています。 –

+0

- "if"行の左側に赤い四角形が現れます と私は思っています(値== a)は無効です –

+0

これはちょうどタイプミスですが、aとbの両側に引用符が必要です –

答えて

2
#include <iostream> 
using namespace std; 

int main(){ 

    char value; // int => char 

    cout << "a) Bread" << endl; 
    cout << "b) Wine" << endl; 
    cout << endl; 
    cout << "Please enter the letter of the type of product you want to buy: " << endl; 
    cin >> value; 

    if(value == 'a'){ // a => 'a' 
     cout << "You chose bread"; 
    } else{ 
     cout << "You chose wine"; 
    } 

    return 0; 
} 
+1

質問に何が間違っているかについての説明を含めてください! –

2

コードにはエラーが含まれていますが、問題を解決しようとするすべてのものを含める必要があります。

'a'を確認する場合は、一重引用符で囲む必要があります。 valueaという存在しない変数と比較しようとしています。

+0

'int value;'を 'char value;'に変更したいとします。 – immibis

+0

ああ、ありがとう、一重引用符が働いた。選択肢が3つの場合はどうなりますか? –

+0

'switch'と' case'キーワードを見てください。 – moswald

関連する問題