• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak sprawić żeby kod dalej się kontynuował po switchu? :)

+1 głos
148 wizyt
pytanie zadane 24 sierpnia 2021 w C i C++ przez IgorS1 Początkujący (260 p.)
edycja 24 sierpnia 2021 przez ScriptyChris

Witam wszystkich

Chciałbym się zapytać w jaki sposób mogę kontynuować kod po funkcji switch? Np. mamy funkcję switch jakąś ankietę lub małą grę, prawda? I jak połączyć 2 lub 3 takie ankiety w 1 grę? Prosiłbym o odpowiedź. Będę bardzo wdzięczny za każdą dobrą odpowiedź. Dzięki z góry ;)

Pozdrawiam

Igor S.

Mój prymitywny Kod do zadania z książki Alexa Alaina 

Ps. proszę się nie sugerować tym że ciągle jest funkcja Sleep, chciałem to jak naj ładniej i efektownie stworzyć dla kolegi, żeby mu pokazać że i ja mogę coś fajnego stworzyć w C++ :D

KOD:

#include <iostream>
#include <windows.h>
using namespace std;
int odp1=1, odp2=2, odp3=3, strzal, strzal2;
int main()
{
    cout << "Witaj :) " << endl;
    Sleep(1000);
    cout << "Oto ankieta anonimowa i zabawa w: 'Zgaduj zgadule', pamietaj, odpowiadaj zgodnie z tym co uwazasz... " << endl;

   cout << "" << endl;
    Sleep(5000);

    cout << "Kazde pytanie ma swoja wartosc 1 odpowiedz 1 pt, 2 odp 2 pt, itd... " << endl;
    cout << "Mam nadzije ze rozumiesz, powodzenia ;) " << endl;
    cout << "" << endl;
    Sleep(5000);
    cout << "A i jeszcze mala uwaga, nacisniecie klawisza 0 wylacza gre... " << endl;
Sleep(5000);
 cout << "" << endl;
cout << "Jakie filmy lubisz najbardziej? " << endl;
Sleep(5000);
cout << "1.Western? " << endl;
Sleep(5000);
cout << "2.Science-fiction?" << endl;
Sleep(5000);
cout << "3.Przygodowo-akcyje?" << endl;
cin >> strzal;
switch (strzal)
{
    case 1:

    cout << "Wybrales filmy western" << endl;

    break;

    case 2:
      cout   << "wybrales ffilmy Science-fiction" << endl;
    break;
    case 3:
      cout   << "wybrales filmy Przygodowo-akcyje" << endl;
    break;
Sleep(5000);
    default:
        cout << "Czyli juz konczysz gre? Rozumiem, milo bylo grac z toba, pozdrawiam Komputer ;) nacisknij enter. "  << endl;

Sleep(5000);

cout << "Do jakiego kraju chcialbys/chialabys sie wybrac na wakacje (gdyby nie bylo covidu;) ) ? " << endl;
Sleep(5000);
cout << "1.Hiszpania? " << endl;
Sleep(5000);
cout << "2.Wielka Brytania?" << endl;
Sleep(5000);
cout << "3.Egipt?" << endl;
cin >> strzal2;

switch (strzal2)
{
    case 1:

    cout << "Wybrales kraj Hiszpanie, goracy kraj " << endl;

    break;

    case 2:
      cout   << "wybrales Wielka Brytanie, kultura na wysokim poziomie " << endl;
    break;
    case 3:
      cout   << "wybrales Egipt, chyba lubisz historie?" << endl;
    break;
Sleep(5000);
    default:
        cout << "Czyli juz konczysz gre? Rozumiem, milo bylo grac z toba, pozdrawiam Komputer ;) nacisknij enter. "  << endl;
        cin.get();
        break;
}


}

    return 0;
}

 

1
komentarz 24 sierpnia 2021 przez Wiciorny Ekspert (218,330 p.)
sformatuj poprawnie pytanie w bloczki kodu.

1 odpowiedź

+1 głos
odpowiedź 24 sierpnia 2021 przez Pawel1995 Gaduła (3,160 p.)

Cześć, po pierwsze zapomniałeś o klamerce na kod:

Przykład

Rozumiem że chcesz żeby dopiero po jakiejś odpowiedzi był następny switch, a w przypadku default program się zakończył. 

Najprościej wyjscie z programu możesz zrobić jak w default przed break; wstawisz  return 0; to program się zakończy. A jak bedzie odpowiedź z case to program poleci dalej, nieważne ile switch'y dasz pod rząd.

komentarz 24 sierpnia 2021 przez IgorS1 Początkujący (260 p.)
Hej

Nie rozumiem, czy mógłbyś to lepiej wyjaśnić?
1
komentarz 25 sierpnia 2021 przez Pawel1995 Gaduła (3,160 p.)

Instrukcja return  kończy program, wiec kiedy ja wywołasz to program się zakończy.

dafault to w switchu instrukcja która jest wywołana kiedy żadna inna wartość z case nie pasuje.

Napisz co dokładnie nie rozumiesz, gdzie się gubisz? To lepiej bedę w stanie ci pomóc.

 

Tu mam mały program ilustrujący:

#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
    string strzal;
    cout << "Wybierz 'A' lub wyjdz" << endl;
    cin >> strzal;

    switch (strzal[0])
    {
    case 'A':
        cout << "Gratulacje! A" << endl;
        break;
    default:
        cout << "Serio konczysz? " << endl;
        return 0;
        break;
    }

    cout << "Gramy dalej? Wybierz 'B' lub wyjdz" << endl;
    cin >> strzal;

    switch (strzal[0])
    {
    case 'B':
        cout << "Gratulacje! B" << endl;
        break;
    default:
        cout << "Serio konczysz? " << endl;
        return 0;
        break;
    }

    cout << "Gramy dalej? Wybierz 'C' lub wyjdz" << endl;
    cin >> strzal;

    switch (strzal[0])
    {
    case 'C':
        cout << "Gratulacje! C" << endl;
        break;
    default:
        cout << "Serio konczysz? " << endl;
        return 0;
        break;
    }

    return 0;
}

 

Podobne pytania

0 głosów
1 odpowiedź 115 wizyt
0 głosów
1 odpowiedź 615 wizyt
0 głosów
2 odpowiedzi 859 wizyt
pytanie zadane 13 grudnia 2015 w C i C++ przez Pixel040 Gaduła (3,020 p.)

87,902 zapytań

136,488 odpowiedzi

304,301 komentarzy

58,284 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...