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

Zakończenie lub wznowienie programu

Object Storage Arubacloud
0 głosów
61 wizyt
pytanie zadane 29 października 2020 w C i C++ przez Wolv63 Użytkownik (630 p.)

Witam mam mały problem, odnośnie wznowienia programu lub zakończenia.
 

do{

\\reszta kodu

printf("Jesli chcesz wykonac program jeszcze raz wcisnij t \n");
  printf("Jesli chcesz zakonczyc program wcisnij n \n");
  scanf("%d, &n");
  scanf("%d,&n");
  }while(getchar() !='n');

Jak wybieram "n" to program się zamyka, wybierając "t" program się wznawia lecz zamiast "t" mogę użyć np. innej litery tupu j,k,o. Jak moge przypisać to "t" by tylko "t" można było użyć do  wznowienia programu.

Trochę masło maślane ale nie wiem jak to lepiej wytłumaczyć.

2 odpowiedzi

+1 głos
odpowiedź 29 października 2020 przez tangarr Mędrzec (154,860 p.)

Jeżeli chcesz reagować tylko na 't' zmień warunek pętli

while (getchar() == 't')

Jeżeli chcesz bardziej zaawansowane sprawdzanie warunków to zmodyfikuj pętlę tak, aby jej przerwaniem sterować z wnętrza pętli.

while (1) {
    // jakis kod

    if ( warunek )
        break;
}

Możesz nawet zrobić pętlę w pętli. Dzięki której będziesz powtarzać pytanie dopóki nie dostaniesz akceptowalnej odpowiedzi.

int powtarzaj = 1;
do{ 
    \\reszta kodu

    while (1) {
        printf("Jesli chcesz wykonac program jeszcze raz wcisnij t \n");
        printf("Jesli chcesz zakonczyc program wcisnij n \n");
        char c = getchar();
        if (c == 't') {
             //powtarzaj = 1;
             break;
        }
        if (c == 'n') {
            powtarzaj = 0;
            break;
        }
    }
}
while(powtarzaj);

 

komentarz 29 października 2020 przez Wolv63 Użytkownik (630 p.)
Dziena za pomoc :D
0 głosów
odpowiedź 29 października 2020 przez Oscar Nałogowiec (29,320 p.)

A co ma się stać jak ktoś jednak wpisze coś innego niż 'n' lub 't'? Jeszcze raz męczyć użytkownika pytaniem "czy kontynuować"?

 

Masz dziwne wywołania scanf(). Chyba powinno być tak:

  scanf("%d", &n);

 

Podobne pytania

0 głosów
2 odpowiedzi 100 wizyt
pytanie zadane 27 stycznia 2018 w C i C++ przez sid2602 Użytkownik (510 p.)
0 głosów
2 odpowiedzi 164 wizyt
0 głosów
3 odpowiedzi 1,461 wizyt
pytanie zadane 4 sierpnia 2017 w C i C++ przez Artur Hajmowicz Początkujący (340 p.)

92,634 zapytań

141,505 odpowiedzi

319,883 komentarzy

62,015 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!

...