Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C++ - Źle działająca pętla while

qbass01 05 Cze 2015 18:45 534 9
  • #1 05 Cze 2015 18:45
    qbass01
    Poziom 12  

    Witam posiadam program z pętlą while którego kod wygląda następująco:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Mój problem polega na tym że w chwili podjęcia decyzji o dalszym działaniu programu gdy wciskamy literkę n wszystko jest w porządku i program kończy swoje działanie natomiast gdy wciskamy literkę t program nie wznawia swojego działania wyświetlając menu tylko się zawiesza. CZy ktoś mógłby mi z tym pomóc? Proszę o wyrozumiałość.

    0 9
  • Pomocny post
    #2 05 Cze 2015 19:19
    Dżyszla
    Poziom 42  

    Bo masz polecenia "zawieszania" programu na literkę 't' ;)

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Na marginesie to bym sugerował użycie do takich rzeczy prostego getch(), żeby nie zatwierdzać enterem oraz skorzystanie ze switch, aby uczytelnić program.

    1
  • #3 05 Cze 2015 19:51
    qbass01
    Poziom 12  

    Ok czyli jak mam to zrobić żeby na literkę t się nie zawieszało, tylko ponownie wyświetlało menu?
    Czy coś takiego będzie poprawne?

    Code:
    while(odp=='a,b,c,d,e,f,g,h,i,j,k,l,m,,o,p,r,s,t,u,q,w,x,y,z');


    Wtedy będzie zawieszało na każdą literkę oprócz n i w sumie działa tak jak chciałem

    0
  • Pomocny post
    #4 05 Cze 2015 20:13
    szwagros
    Poziom 30  

    Są dwa rodzaje pętli while:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    oraz
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Zauważ, że tylko pierwsze while() w Twoim kodzie odnosi się do 'do {} ' na początku, następne są pętlami drugiego rodzaju, na dodatek pustymi.

    1
  • #6 05 Cze 2015 20:29
    qbass01
    Poziom 12  

    No racja pousuwałem te pętle wewnątrz pętli i hula aż miło patrzeć, proszę o wyrozumiałość bo na c++ poświęcam czas tylko wtedy gdy muszę i dzisiaj jest taki dzień, ale chyba trzeba to zmienić.

    0
  • #7 05 Cze 2015 20:29
    szwagros
    Poziom 30  

    Autor zapewne ma nadzieję, że 'do {}' może mieć więcej niż jedno 'while()'.

    0
  • #10 07 Cze 2015 12:37
    -psiak-
    Poziom 32  

    Spójrz na to:

    Kod: c
    Zaloguj się, aby zobaczyć kod
    znacznie krótsze oraz wygodniejsze w użyciu dla użytkownika.

    0