Potrzebuje pomocy z switch...case
Ostatnio zmodyfikowano 2012-06-27 12:08
Benu1 Temat założony przez niniejszego użytkownika |
Potrzebuje pomocy z switch...case » 2012-06-27 01:07:07 Witam przedstawiam wam skrypt: #include <iostream> #include <cstdlib> #include <ctime> #include <conio.h> #include "time.h" #include "cstdlib" using namespace std;
int funkcja_losujaca() { int losowanie_liczby; losowanie_liczby =( rand() % 60 ) + 50; return losowanie_liczby; }
int main() { char wywolanie, wywolanie_ponowne; cout << "Liczba zostala juz wylosowana" << endl; cout << "Czy chcesz wywolac funkcje?\nNapisz t lub n: " << endl; cout << "Wybierasz: "; cin >> wywolanie; switch( wywolanie ) { case 't': cout << "Wylosowana liczba to: " << funkcja_losujaca() << endl; do { cout << "Czy chcesz ja wywolac jeszcze raz?.\nNapisz T/N" << endl; cout << "Zdecydowales, ze: "; cin >> wywolanie_ponowne; switch( wywolanie_ponowne ) { case 'T': cout << "Ponowna wywolana liczba losowa to: " << funkcja_losujaca() << endl; } } while( wywolanie_ponowne != 't' ); case 'n': cout << "W takim razie dziekuje za skorzystanie z programu" << endl; } return 0; }
Moj problem polega na tym ze nie mam pomyslu gdzie wstawic fragment skryptu taki jak: case 'N': cout << "To dziekuje i bye bye" << endl;
Zeby sie w petli nie powtarzal zanim ktos napisze jakikolwiek post ( mowa o poczatkujacych programistach ) jesli chca mi pomoc pierw niech skompiluja i sprawdza czy podane przez nich rozwiazanie jest poprawne. Czekam na odpowiedzi :) PS. Rozmkninialem nad tym 40 min i nie wymyslilem bo zawsze w petli sie to pojawialo i chyba mysle ze utknalem w pupie ;<. Moze dlatego ze jest pozna porna i moj mozg nie funkcjonuje tak jak powinien (jestem spiacy) |
|
Benu1 Temat założony przez niniejszego użytkownika |
» 2012-06-27 01:41:28 Prosze was o pomoc COMMON
@Deja Vu bladam pomoz mecze sie prawie 3 h juz z tym ;( |
|
Benu1 Temat założony przez niniejszego użytkownika |
» 2012-06-27 02:42:31 Moge dostac warna ale posta nowego zrobilem po to bys Deja Vu zauwazyl ze ktos potrzebuje pomocy bo ja mecze sie juz 3h prawie z tym :( mialem tyle przeblyskow ze szok :D |
|
ison |
» 2012-06-27 08:17:24 case 'T': tu chyba T z małej miało być } while( wywolanie_ponowne != 't' ); zamiast != powinno być == |
|
m4tx |
» 2012-06-27 09:04:44 |
|
Benu1 Temat założony przez niniejszego użytkownika |
» 2012-06-27 11:18:14 ison nie... ma byc case 'T': poniewaz to jest do drugiego pytania i chce dopisac teraz case 'N': lecz jesli dopisze to pod tym case 'T' to powtarza mi sie to w petli i wychodzi syf (nie umiem wytlumaczyc co sie dzieje wiec najlepiej skompiluj i zobacz). Czekam na dalsze porady
@m4tx
Zalezy mi na tym bardzo poniewaz chce dalej pracowac a nie moge bo stoje w miejscu PS. nie czytalem tego twojego bloga bo jest za dlugi xD przepraszam :P
@edit ison jesli dalem tak jak ty } while( wywolanie_ponowne == 't' ); to petla mi w ogole nie chodzi a z tego co mi wiadomo to petla konczy sie jest jest false wiec chyba musi byc != |
|
Admixior |
» 2012-06-27 11:25:31 To skoro chcesz mieć z dużej litery (nie rozumiem dlaczego) to w takim razie powinieneś zmienić while( wywolanie_ponowne != 't' ); na while( wywolanie_ponowne == 'T' ); PS zauważ to równa się. W while podajesz kiedy ma pętla kontynuować się(true), a nie przerwać
//edit: dopóki warunek jest spełniony (user podaje 'T') dopóty pętla działa Z twojego kodu wynika że jak user poda inną literę to kontynuuje, a jak 't' to przerywa. |
|
Benu1 Temat założony przez niniejszego użytkownika |
» 2012-06-27 11:30:26 Admixior super masz u mnie browca jedyny blad jaki robilem to taki ze utwierdzono mnie w fakcie przez pewnego osobnika ze w while trzeba podawac negowanie prawdy by petla sie powtarzala czy cos juz sam nie wiem bo mam namieszanie. Przeczytam uwaznie jesszcze raz kurs na temat do..while w kazdym badz razie wiem na czym moj blad polegal i dziekuje za poswiecenie mi odrobiny czasu, blad ten pisany w while przeze mnie juz sie nie bedzie powtarzal poniewaz dobrze mi to wytlumaczyles!:P @edit zamieszcze wam caly skrypcik juz naprawiony w 98%, poniewaz nie losuje mi liczb z przedzialu od 50 do 60 tylko wieksze i kminie jak naprawic ;> #include <iostream> #include <cstdlib> #include <ctime> #include <conio.h> #include "time.h" #include "cstdlib" using namespace std;
int funkcja_losujaca() { int losuje_od = 50, losuje_do = 60; int losowanie_liczby; losowanie_liczby =( rand() % losuje_do ) + losuje_od; return losowanie_liczby; }
int main() { char wywolanie, wywolanie_ponowne; cout << "Liczba zostala juz wylosowana" << endl; cout << "Czy chcesz wywolac funkcje?\nNapisz t lub n: " << endl; cout << "Wybierasz: "; cin >> wywolanie; switch( wywolanie ) { case 't': cout << "Wylosowana liczba to: " << funkcja_losujaca() << endl; do { cout << "Czy chcesz ja wywolac jeszcze raz?.\nNapisz T/N" << endl; cout << "Zdecydowales, ze: "; cin >> wywolanie_ponowne; switch( wywolanie_ponowne ) { case 'T': cout << "Ponowna wywolana liczba losowa to: " << funkcja_losujaca() << endl; } } while( wywolanie_ponowne == 'T' ); case 'n': cout << "W takim razie dziekuje za skorzystanie z programu" << endl; } return 0; }
|
|
« 1 » 2 |