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

Jak złamać pętlę wewnątrz switcha ?

Object Storage Arubacloud
0 głosów
115 wizyt
pytanie zadane 29 marca 2020 w C i C++ przez RubiN Początkujący (290 p.)
Jak złamać pętlę wewnątrz switcha ? piszę taki program co jest jakby systemem operacyjny , po prostu taki plik exe.

i gdy podprogram .exe i go uruchamiam w jednym oknie to niewiem jak go wyłączyć bo nie umiem zerwać pętli wewnątrz switcha .

2 odpowiedzi

0 głosów
odpowiedź 29 marca 2020 przez tangarr Mędrzec (154,860 p.)
wybrane 29 marca 2020 przez RubiN
 
Najlepsza

Widzę 3 opcje:
- dodatkowa zmienna
- goto
- return

 

// przykład 1 -- dodatkowa zmienna

bool koniec = false;
while(true) {
    int wybor;
    cin >> wybor;
    switch (wybor) {
    case 5:
        koniec = true;
        break;
    }
    if (koniec)
        break;
}

// przykład 2 -- goto

while(true) {
    int wybor;
    cin >> wybor;
    switch (wybor) {
    case 5:
        goto etykieta_za_petla;
    }
}
etykieta_za_petla:
;

// przykład 3 -- return
// w większości przypadków kod należy umieści w osobnej funkcji
// żeby nie zamknąć programu instrukcją return

while(true) {
    int wybor;
    cin >> wybor;
    switch (wybor) {
    case 5:
        return 0;
    }
}

 

0 głosów
odpowiedź 29 marca 2020 przez Sic Dyskutant (8,510 p.)
Mógłbyś pokazać kod ?
komentarz 29 marca 2020 przez RubiN Początkujący (290 p.)
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <cstdio>

using namespace std;

float a,b;
int wybor;


int main()
{

while(true)
{



    cout<<"podaj 1 liczbe: ";cin>>a;
    cout<<"podaj 2 liczbe: ";cin>>b;
    system("cls");
    cout<<" --------------";

    cout<<endl<<"      Menu"<<endl;
    cout<<" --------------"<<endl;
    cout<<"1.Dodawanie"<<endl;
    cout<<"2.Odejmowanie"<<endl;
    cout<<"3.Mnozenie"<<endl;
    cout<<"4.Dzielenie"<<endl;
    cout<<"5.Exit"<<endl<<endl;

wybor=getch();
    switch(wybor)
    {
    case '1':
        system("cls");
        cout<<a+b;getchar();getchar();system("cls");
    break;

        case '2':
        system("cls");
        cout<<a-b;getchar();getchar();system("cls");
    break;

        case '3':
        system("cls");
        cout<<a*b;getchar();getchar();system("cls");
    break;

        case '4':
        system("cls");

        cout<<a/b;
        getchar();getchar();system("cls");

    break;
        case '5':
//no i tutaj nie wiem :(
    break;

    default: system("cls");cout<<"Wrong number";system("cls");break;
    }
}
    return 0;
}

Tak , taki jak z kursu .

komentarz 29 marca 2020 przez Sic Dyskutant (8,510 p.)

Wpisz:

case '5':
exit(0);
break;

Powinno pomóc.

1
komentarz 29 marca 2020 przez DragonCoder Nałogowiec (36,500 p.)
nie, exit nie jest zalecane do konczeniaa programu, robisz return i tyle.

https://stackoverflow.com/questions/25141737/why-is-using-exit-considered-badTu wyjasnienie czemu, exit jest zla praktyka i nie powinnien byc uzywany.

A co do getchar to pragne przypomniej, ze jest to funkcja z api windowsa, wiec kod jest nie przenosny

Podobne pytania

0 głosów
2 odpowiedzi 315 wizyt
pytanie zadane 1 kwietnia 2020 w C i C++ przez Atman Użytkownik (810 p.)
0 głosów
1 odpowiedź 421 wizyt
pytanie zadane 16 listopada 2017 w C i C++ przez kacper1445 Gaduła (4,880 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...