Was ist an diesem Programm-Code falsch?



  • #include <iostream>
    using namespace std;

    int main()
    { cout << " Denken Sie sich eine Zahl zwischen 1 und 10. " << endl;
    char answer;
    cout << " Ist deine Zahl kleiner als 7? (y/n): "; cin >> answer;
    if ( answer == 'y') // 1 <= n <= 6
    { cout << " Ist deine Zahl kleiner als 5? (y/n): "; cin >> answer;
    if (answer == 'y') // 1 <= n <= 4
    { cout << " Ist deine Zahl kleiner als 3? (y/n): "; cin >> answer;
    if (answer == 'y') // 1 <= n <= 2
    { cout << " Ist deine Zahl kleiner als 2? (y/n): "; cin >> answer;
    if (answer == 'y') // 1 <= n
    cout << " Deine Zahl ist die 1! " << endl;
    else
    cout << " Deine Zahl ist die 2! " << endl;
    }
    else // 3 <= n <= 4
    { cout << " Ist die Zahl kleiner als 4? (y/n): "; cin >> answer;
    if (answer == 'y')
    cout << " Deine Zahl ist die 3! " << endl;
    else
    cout << " Deine Zahl ist die 4! " << endl;
    }
    }
    else // 5 <= n <= 6
    { cout << " Ist die Zahl kleiner als 6? (y/n): "; cin >> answer;
    if (answer == 'y')
    cout << " Deine Zahl ist die 5! " << endl;
    else
    cout << " Deine ZAhl ist die 6! " << endl;
    }
    }
    else // 7 <= n <= 8
    { cout << " Ist deine Zahl kleiner als 8? (y/n): "; cin >> answer;
    if (answer == 'y') // 7 <= n
    cout << " Deine Zahl ist die 7! " << endl;
    else
    cout << " Deine Zahl ist die 8! " << endl;
    }
    }
    else // 9 <= n <= 10
    { cout << " Ist deine Zahl kleiner als 9? (y/n): "; cin >> answer;
    if (answer == 'y')
    cout << " Deine Zahl ist die 9! " << endl;
    else
    cout << " Deine Zahl ist die 10! " << endl;
    }
    cin.sync();
    cin.clear();
    cin.get();
    }



  • siehe selbst:

    #include <iostream> 
    using namespace std; 
    
    int main() 
    { 
        cout << " Denken Sie sich eine Zahl zwischen 1 und 10. " << endl; 
        char answer; 
        cout << " Ist deine Zahl kleiner als 7? (y/n): "; 
        cin >> answer; 
        if ( answer == 'y') // 1 <= n <= 6 
        { 
            cout << " Ist deine Zahl kleiner als 5? (y/n): "; 
            cin >> answer; 
            if (answer == 'y') // 1 <= n <= 4 
            { 
                cout << " Ist deine Zahl kleiner als 3? (y/n): "; 
                cin >> answer; 
                if (answer == 'y') // 1 <= n <= 2 
                { 
                    cout << " Ist deine Zahl kleiner als 2? (y/n): "; 
                    cin >> answer; 
                    if (answer == 'y') // 1 <= n 
                        cout << " Deine Zahl ist die 1! " << endl; 
                    else 
                        cout << " Deine Zahl ist die 2! " << endl; 
                } 
                else // 3 <= n <= 4 
                { 
                    cout << " Ist die Zahl kleiner als 4? (y/n): "; 
                    cin >> answer; 
                    if (answer == 'y') 
                        cout << " Deine Zahl ist die 3! " << endl; 
                    else 
                        cout << " Deine Zahl ist die 4! " << endl; 
                } 
            } 
            else // 5 <= n <= 6 
            { 
                cout << " Ist die Zahl kleiner als 6? (y/n): "; 
                cin >> answer; 
                if (answer == 'y') 
                    cout << " Deine Zahl ist die 5! " << endl; 
                else 
                    cout << " Deine ZAhl ist die 6! " << endl; 
            } 
         } 
         else // 7 <= n <= 8 
         { 
             cout << " Ist deine Zahl kleiner als 8? (y/n): "; 
             cin >> answer; 
             if (answer == 'y') // 7 <= n 
                 cout << " Deine Zahl ist die 7! " << endl; 
             else 
                 cout << " Deine Zahl ist die 8! " << endl; 
         } 
    } 
    else // 9 <= n <= 10 
    { 
        cout << " Ist deine Zahl kleiner als 9? (y/n): "; 
        cin >> answer; 
        if (answer == 'y') 
            cout << " Deine Zahl ist die 9! " << endl; 
        else 
            cout << " Deine Zahl ist die 10! " << endl; 
    } 
    cin.sync(); 
    cin.clear(); 
    cin.get(); 
    }
    

    Der hintere else-Block ist irgendwie verwaist. Das ganze Programm ist murks.


Anmelden zum Antworten