[beginner] switch loop met else

Status
Niet open voor verdere reacties.

sander the man

Gebruiker
Lid geworden
7 jun 2007
Berichten
94
hoe kan je een switch loop maken met een else? ik bedoel:
Code:
#include <iostream.h>

int main()
{
    int fun;
    cout << "1: hoi" << endl;
    cout << "2: doei" << endl;
    cin >> fun;
    switch(fun)
    {
               case 1:
                    {
                         cout << "hoi" << endl;
                         system("PAUSE");
                    } break;
                    
               case 2:
                    {
                         cout << "doei" << endl;
                         system("PAUSE");
                    } break;
    }                   
}

dat heb ik nu maar als ik wat anders type dan 1 of 2 krijg ik standaard doei te zien waarom? en hoe maak ik het zo dat hij dan weer terug gaat naar het begin? (menu`tje)
 
Eenvoudige oplossing:

Code:
#include <iostream.h>

int main()
{
    int fun;
    cout << "1: hoi" << endl;
    cout << "2: doei" << endl;
    cin >> fun;
    switch(fun)
    {
               case 1:
                    {
                         cout << "hoi" << endl;
                         system("PAUSE");
                         break;   //op een iets andere plaats gezet
                    }
                    
               case 2:
                    {
                         cout << "doei" << endl;
                         system("PAUSE");
                         break;    //op een iets andere plaats gezet, hij hoort eigenlijk binnen de accolades
                    }
                default:
                    {
                          cout << "Heb ik gezegt dat je dit mag typen?" << endl;
                          break;
                    }
    }                   
}
 
hij doet het half..... als ik nu bijv. type: 4 ofzo dan gaat hij naar dat ene default bericht maar als ik letters type (bijv. hallo) dan gaat hij naar doei.....

mijn code tot nu toe:
Code:
#include <iostream.h>

int main()
{
    int fun;
    cout << "1: hoi" << endl;
    cout << "2: doei" << endl;
    cin >> fun;
    switch(fun)
    {
               case 1:
                    {
                         cout << "hoi" << endl;
                         system("PAUSE");
                         break;
                    }
                    
               case 2:
                    {
                         cout << "doei" << endl;
                         system("PAUSE");
                         break;
                    }
               default:
                    {
                          cout << "Heb ik gezegt dat je dit mag typen?" << endl;
                          system("PAUSE");
                          break;
                    }
    }                   
}
 
Verander als eerste eens de regel #include <iostream.h> naar #include <iostream> ^^.

Je leest een integer in, als je dan een letter invoert wordt er geprobeerd om die om te zetten in een integer. Bij de 'h' van "hallo" wordt dit toevallig 2 en verschijnt er dus "doei" op het scherm.

Je zou ipv een int een char in kunnen lezen:

Code:
#include <iostream>

using namespace std;

int main() {
    cout << "1: hoi" << endl;
    cout << "2: doei" << endl;
    cout << endl;
    cout << "keuze: ";
    
    char keuze;
    cin >> keuze;
    
    switch (keuze) {
        case '1':
            cout << "hoi" << endl;
        break;
        case '2':
            cout << "doei" << endl;
        break;
        default:
            cout << "Heb ik gezegd dat je dit mocht typen?" << endl;
        break;
    }
    
    system("pause");
    
    return 0;
}

Let er wel op dat je dan achter case de 1 en 2 tussen ' ' moet zetten om aan te duiden dat het om een karakter gaat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan