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

for co zrobić ?

Ostatnio zmodyfikowano 2011-03-27 19:49
Autor Wiadomość
G.H.O.S.T.
Temat założony przez niniejszego użytkownika
for co zrobić ?
» 2011-03-25 20:30:57
Cześć mam pewną część kodu...
C/C++
for( int o = 3; o <= odpowiedz_uz; odpowiedz_uz-- )
{
    cout << "Dobrze!";
};

for( int o = 2; o <= odpowiedz_uz; odpowiedz_uz-- )
{
    cout << "Zle...";
}

for( int o = 1; o <= odpowiedz_uz; odpowiedz_uz-- )
{
    cout << "Zle...";
}
Całego kodu nie dam z przyczyn oczywistych ;)
Mam taki program, że jak użytkownik wybierze np. 3 to wyświetli się "Dobrze!" ale w tym problem, że jak to wybiera to pokazuje się "Dobrze!" "Zle..." "Zle..." "Dobrze!" i tak kilka razy. Co zrobić, żeby tylko "Dobrze!" pokazywało ?
P-29739
szyx_yankez
» 2011-03-25 20:38:32
C/C++
if( odpowiedz_uz == 3 ) cout << "Dobrze!";
else cout << "Zle!";
P-29740
dmx81
» 2011-03-26 01:35:21
przesledz dzialanie swojego kodu:


odpowiedz=3
poczatek: o=3, warunek trwania petli : spelnona nierownosc o<=odpowiedz, krok to zmniejsz o 1 odpowiedz
1. o=3 co jest prawda, ze o<=odpowiedz, zmniejsz odpowiedz, wyswietl dobrze
2.odpowiedz=2,warunek nie spelniony - wychodzisz z petli
3.wchodzisz do petli ponizej - o=2, prawda, ze o<=odpowiedz, zmniejsz o 1 odpowiedz, wyswietl zle... itd itd...

petle nie wykluczaja siebie na wzajem, do tego jak kolega wyzej napisal trzeba uzyc instrukcji warunkowych

for()
lub np
switch()

zostaja one wykonane albo jedna, albo druga, albo kolejna (o ile dobrze zaprojektujesz)
bo mozna skopac piszac
C/C++
if( cos_tam == 3 )
     cos_tam--;

if( cos_tam == 2 )
...
//lub
switch( cos_tam )
case 3
:..case 2
: //po case i kodzie trzeba dac break, przed nastepnym wystapieniem case;
najlepiej samemu przeanalizowac kod po kolei, co bedzie sie dzialo ze zmiennymi w programie.
dlatego dobrze jest pisac kod dzielac naklasy, pliki - tworzyc fragmentami dzialajace funkcje itd, latwiej znalezc blad, bo przy kilku tysiacach linii kodu napisanego strukturalnie, jest to duzo trudniejsze i czasochlonne
P-29765
G.H.O.S.T.
Temat założony przez niniejszego użytkownika
» 2011-03-27 19:48:31
Yeah !!! sam do tego doszedłem. Na początku też próbowałem z if'em ale coś nie wychodziło.
Po prostu jak deklarowałem funkcję np. odp_dla_3() w funkcji głównej main() to robiłem tak.

int main()
{
coś tam coś tam....

..
..
.
..
int do_main = odp_dla_3();   //To powinno być na samym początku przed pierwszą klamrą w main() dlatego się knociło.
cout << odp_dla_3();
}

Powiem szczerze uczyłem się funkcji ale nic z tego nie kumałem. Muszę częściej patrzeć do tutejszego kursu niż użyć mózgu.
P-29849
McAffey
» 2011-03-27 19:49:56
Jeśli problem rozwiązany to temat zamknij ;)
P-29850
« 1 »
  Strona 1 z 1