zadanie z lekcji 11 pętla nieskończona
Ostatnio zmodyfikowano 2010-04-15 21:44
grykon Temat założony przez niniejszego użytkownika |
zadanie z lekcji 11 pętla nieskończona » 2010-04-15 17:44:39 Witam, jestem dość mocno początkujący i mam nadzieje że mnie nie zjecie że pisałem chaotycznie czy coś takiego :) robiłem sobie ten program z tej lekcji i już się poddaje. Warunek zmieniałem na różne sposoby na ='p' itp. aż zauważyłem że to nawet w takiej postaci jak jest teraz jest nieskończoną pętlą i nie mam już pomysłu dlatego piszę tu (chodzi o zmienną sprzedaj i drugi warunek(zaznaczone komentarzem(linia 55) #include <conio.h> #include <iostream> #include <string> #include <cctype> int main() { using namespace std; const int filmow = 4; int biletowNaFilm = 30; char wybor = 0; int bilet[ filmow ][ 1 ]; string film[ filmow ] = { "Bolek i Lolek", "Seksmisja", "Krzyzacy", "Killer" }; int sprzedaj = 0; for( int i = 0; i < filmow; i++ ) { bilet[ i ][ 0 ] = biletowNaFilm; } do { cout << "Kino \"Za Stodola\" Zaprasza." << endl << "Dzisiejsza oferta to:" << endl; for( int i = 0; i < filmow; i++ ) { cout << i + 1 << ". " << film[ i ] << "\t(" << bilet[ i ][ 0 ] << " biletow zostalo)" << endl; } cout << endl << "Wybierz numer filmu lub wpisz z lub Z by zakonczyc" << endl; cin >> wybor; for( int j = 0; j < filmow; j++ ) { if( wybor ==( j + 49 ) ) { cout << "Wybrano film " << film[ j ] << endl; cout << "Zostalo biletow " << bilet[ j ][ 0 ] << endl; if( bilet[ j ][ 0 ] == 0 ) { cout << "Brak biletow na ten film wychodze do menu" << endl; system( "pause" ); break; } cout << "Ile biletow chcesz sprzedac?" << endl << "Jesli chcesz wyjsc do menu wpisz litere p"; cin >> sprzedaj; if( sprzedaj >= 0 &&( bilet[ j ][ 0 ] >= sprzedaj ) ) { if( sprzedaj > bilet[ j ][ 0 ] ) { cout << "Nie ma tyle biletow musisz wybrac mniej" << endl; } if( sprzedaj <= bilet[ j ][ 0 ] ) { bilet[ j ][ 0 ] = bilet[ j ][ 0 ] - sprzedaj; } } if( !( sprzedaj >= 0 &&( bilet[ j ][ 0 ] >= sprzedaj ) ) ) { cout << "cos zle"; } } } } while(( wybor != 'z' ) &&( wybor != 'Z' ) ); return 0; }
|
|
Pirotechnik |
» 2010-04-15 18:26:10 to dlatego że: Jak chcesz wrócić do menu wpisujesz literę a zmienną masz int sprzedaj!! i wyskakuje Ci błąd zaraz ci podam rozwiązanie... |
|
Pirotechnik |
» 2010-04-15 18:35:20 albo nie. ty znajdź sensowne rozwiązanie... |
|
grykon Temat założony przez niniejszego użytkownika |
» 2010-04-15 18:36:55 ok ale litera to liczba zapisana w kodzie ascii... i to samo wykorzystuje ze zmienna wybor że raz ją sobie przez wyliczenie używam jako pseudo liczby a raz do wyjścia z lub Z i wychodzi grzecznie z programu a ta pętla w linii 55 nie wiem dlaczego jest taka nieposłuszna. Chociaż tam jest char używany jako pseudo int a w drugą strone może to już nie być tak ładne... no w każdym bądź razie czekam na jakąś fajną podpowiedź :) i dzięki za szybką odpowiedź
dobrze mam w takim razie pytanie czy ta zmienna sprzedaj powinna być typu char? bo tak będzie działać tylko jest mały szkopuł że wtedy będzie przechowywać jeden znak czyli max zdejmie 9 biletów. |
|
Pirotechnik |
» 2010-04-15 18:47:04 char sprzedaj.. to nie am znaczenia weźmie ci tyle znaków ile napiszesz ale i tak wiele nie zdziałasz z tym char |
|
grykon Temat założony przez niniejszego użytkownika |
» 2010-04-15 18:52:26 kurcze no to powoli się poddaje... int nie chce udawać zmiennej znakowej char też nie da rady... to nie wiem jak wyłuskać za jednym zamachem albo liczbe albo znak do wyjścia... jakaś podpowiedź? |
|
Pirotechnik |
» 2010-04-15 18:58:15 też miałem problem z tym programem, ale poprostu zrób jak naciśnie sie 0 to powraca do menu.. wkońcu czeba czasem improwizować |
|
grykon Temat założony przez niniejszego użytkownika |
» 2010-04-15 19:00:48 hehe ale chciałem być grzeczny i wg polecenia pójść żeby zjadło literke p ... no ale jak na tym poziomie póki co nie da rady to trudno i idę do przodu :) dzieki za podpowiedz |
|
« 1 » 2 |