Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] Etykieta - punkt odniesienia

Ostatnio zmodyfikowano 2017-07-20 22:24
Autor Wiadomość
tomecki
Temat założony przez niniejszego użytkownika
[c++] Etykieta - punkt odniesienia
» 2017-07-20 18:18:15
Witam,
Mam taki kod:
C/C++
cin >> option;
optionInt = atof( option.c_str() );
if( optionInt != 1 && optionInt != 2 && optionInt != 3 && optionInt != 4 && optionInt != 5 && optionInt != 6 && optionInt != 7 ) {
    cout << endl << "Unavailable option!" << endl;
}
else {
    if( optionInt == 1 ) {
        cout << "Can not edit" << endl;
    }
    if( optionInt == 2 ) {
        cout << "Can not edit" << endl;
    }
    if( optionInt == 3 ) {
        cout << "Type date of birth" << endl;
    }
    if( optionInt == 4 ) {
        cout << "Type email" << endl;
    }
    if( optionInt == 5 ) {
        cout << "Type phone" << endl;
    }
    if( optionInt == 6 ) {
        cout << "Type address" << endl;
    }
    if( optionInt == 7 ) {
        //End / Done
    }
}
Moje pytanie brzmi następująco.
Jeśli wybiorę np. 1 wyświetla się, że nie można edytować, ale ja chce, aby dało mi jeszcze raz możliwość wyboru (tak w pętli trochę). Jak to zrobić? W batcie są etykiety stąd tytuł. Proszę o nakierowanie, wskazanie funkcji czy czegoś.
Będę wdzięczny za pomoc. Proszę i pozdrawiam.
P-163453
Kinexity
» 2017-07-20 18:30:51
Zamiast if'ów używaj switch:

C/C++
string option;
do {
    cin >> option;
    switch( stoi( option ) ) {
        default:
        cout << endl << "Unavailable option!" << endl;
        break;
    case 0:
        break;
        //przerwanie
    case 1:
        cout << "Can not edit" << endl;
        break;
    case 2:
        cout << "Can not edit" << endl;
        break;
    case 3:
        cout << "Type date of birth" << endl;
        break;
    case 4:
        cout << "Type email" << endl;
        break;
    case 5:
        cout << "Type phone" << endl;
        break;
    case 6:
        cout << "Type address" << endl;
        break;
    }
} while( stoi( option ) != 0 );
P-163454
tomecki
Temat założony przez niniejszego użytkownika
» 2017-07-20 19:06:50
O dzięki wielki! Zapomniałem o switch, ale jak wybieram pierwszy raz opcje to nie wyświetla się napis przypisany do opcji :/ Da się to jakoś naprawić?
P-163455
Kinexity
» 2017-07-20 20:47:58
W VS2017 działa prawidłowo, więc nie rozumiem problemu. W czym kompilujesz?
P-163458
tomecki
Temat założony przez niniejszego użytkownika
» 2017-07-20 21:24:53
To jest mój problem - po wpisaniu pierwszy raz, tekst się nie wyświetla.
https://drive.google.com/file​/d/0B3LWRfNDCNdBaHVOamxJN1E5Mlk​/view?usp=sharing

PS Ja robię w VS2017
P-163459
Kinexity
» 2017-07-20 21:59:37
Modyfikowałeś coś w tym fragmencie?
P-163460
tomecki
Temat założony przez niniejszego użytkownika
Rozwiązane
» 2017-07-20 22:24:43
Dzięki @Kinexity! Zapomniałem usunąć jednego cin ze starego fragmentu... (bez słów)
Dziękuję serdecznie za pomoc.
Temat rozwiązany!

Wskazówka:
Przejrzyjcie swój kod zawsze po 5 razy :)
P-163462
« 1 »
  Strona 1 z 1