malan |
» 2012-06-26 23:21:54 int main() srand( time( NULL ) ); { } Na pewno tak? |
|
Benu1 Temat założony przez niniejszego użytkownika |
» 2012-06-26 23:26:33 seamonster wiem na czym polega roznica miedzy string a char lecz nie wiedzialem ze string nie mozna umieszac w ' ' i masz za to u mnie piwo LECZ sranda nadal nie naprawilem a po usunieciu tych ' ' moj skrypt wyglada tak:
#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() { srand( time( NULL ) ); int wywolanie, wywolanie_ponowne; string tak, nie; string TAK, NIE; cout << "Liczba zostala juz wylosowana" << endl; cout << "Czy chcesz wywolac funkcje?\nNapisz tak lub nie: " << endl; cout << "Wybierasz: "; cin >> wywolanie; switch( wywolanie ) { case tak: cout << "Wylosowana liczba to: " << funkcja_losujaca() << endl; case nie: cout << "To nie. Laski bez xD" << endl; getch(); } if( wywolanie == tak ) { do { cout << "A moze chcesz jeszcze raz wywolac funkcje? " << endl; cout << "Jesli chcesz to napisz T, jesli napiszesz N to program konczy dzialanie: " << endl; cin >> wywolanie_ponowne; switch( wywolanie_ponowne ) { case TAK: cout << "Ponownie wylosowana liczba to: " << funkcja_losujaca() << endl; case NIE: cout << "W takim razie dziekuje" << endl; getch(); } } while( wywolanie_ponowne == NIE ); } return 0; }
i mam takie bledy :
D:\C++\Prace domowe.cpp||In function 'int main()':|
D:\C++\Prace domowe.cpp|32|error: 'tak' cannot appear in a constant-expression|
D:\C++\Prace domowe.cpp|35|error: 'nie' cannot appear in a constant-expression|
D:\C++\Prace domowe.cpp|39|error: no match for 'operator==' in 'wywolanie == tak'|
D:\C++\Prace domowe.cpp|48|error: 'TAK' cannot appear in a constant-expression|
D:\C++\Prace domowe.cpp|51|error: 'NIE' cannot appear in a constant-expression|
D:\C++\Prace domowe.cpp|57|error: no match for 'operator==' in 'wywolanie_ponowne == NIE'|
||=== Build finished: 6 errors, 0 warnings ===|
Czekam na podpowiedzi i wytlumaczenia.
@Do pomagajacych mi ludzi badzcie cierpliwi programuje dopiero trzeci dzien ;( |
|
Marcinowy |
» 2012-06-26 23:29:12 int wywolanie, wywolanie_ponowne; string tak, nie;
string TAK, NIE; cout << "Liczba zostala juz wylosowana" << endl; cout << "Czy chcesz wywolac funkcje?\nNapisz tak lub nie: " << endl; cout << "Wybierasz: "; cin >> wywolanie; switch( wywolanie )
Okej, int to cyferka, a nie literki, więc dlaczego oczekujesz ode mnie, że wpiszę literkę, kiedy wymagasz cyferki? :) |
|
Benu1 Temat założony przez niniejszego użytkownika |
» 2012-06-26 23:31:41 ludzie namieszaliscie mi w glowie xddd marcinek zmieniajac z : int wywolanie, wywolanie_ponowne; na : string wywolanie, wywolanie_ponowne; wyskakuja mi jeszcze inne bledy. Prosze jakiegos kogza ktory mi to poprawi i poda kod a ja go swobodnie przeanalizuje |
|
DejaVu |
» 2012-06-26 23:33:53 1. Jeden temat = jeden problem. Obecnie nie toczą się dyskusje na temat błędu występującego w temacie. On został rozwiązany (chyba).
Zapoznaj się z rozdziałem: Warunek wielokrotnego wyboru switch ... case. Po przeczytaniu ze zrozumieniem będziesz wiedział dlaczego otrzymujesz błędy.
/edit:
Prosze jakiegos kogza ktory mi to poprawi i poda kod a ja go swobodnie przeanalizuje
|
Z takim podejściem możesz zacząć szukać innego forum :) |
|
Benu1 Temat założony przez niniejszego użytkownika |
» 2012-06-26 23:36:52 DejaVu okej zczailem sie i moj kod wyglada teraz tak :
#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() { srand( time( NULL ) ); string wywolanie, wywolanie_ponowne, tak, nie; string TAK, NIE; cout << "Liczba zostala juz wylosowana" << endl; cout << "Czy chcesz wywolac funkcje?\nNapisz tak lub nie: " << endl; cout << "Wybierasz: "; cin >> wywolanie; switch( wywolanie ) { case "tak": cout << "Wylosowana liczba to: " << funkcja_losujaca() << endl; case "nie": cout << "To nie. Laski bez xD" << endl; getch(); } if( wywolanie == "tak" ) { do { cout << "A moze chcesz jeszcze raz wywolac funkcje? " << endl; cout << "Jesli chcesz to napisz T, jesli napiszesz N to program konczy dzialanie: " << endl; cin >> wywolanie_ponowne; switch( wywolanie_ponowne ) { case "TAK": cout << "Ponownie wylosowana liczba to: " << funkcja_losujaca() << endl; case "NIE": cout << "W takim razie dziekuje" << endl; getch(); } } while( wywolanie_ponowne == "NIE" ); } return 0; }
D:\C++\Prace domowe.cpp||In function 'int main()':|
D:\C++\Prace domowe.cpp|29|error: switch quantity not an integer|
D:\C++\Prace domowe.cpp|45|error: switch quantity not an integer|
||=== Build finished: 2 errors, 0 warnings ===|
Lecz w konsoli wypiera mi non stop te bledy:
@DejaVu kurde wiem co miales na mysli dobry programista to taki ktory stosuje metode prob i bledow =) |
|
Marcinowy |
» 2012-06-26 23:38:31 #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() { srand( time( NULL ) ); string wyw, wyw2; cout << "Liczba zostala juz wylosowana" << endl; cout << "Czy chcesz wywolac funkcje?\nNapisz tak lub nie: " << endl; cout << "Wybierasz: "; cin >> wyw; switch( wyw ) { case "tak": cout << "Wylosowana liczba to: " << funkcja_losujaca() << endl; case "nie": cout << "To nie. Laski bez xD" << endl; getch(); } if( wyw == "tak" ) { do { cout << "A moze chcesz jeszcze raz wywolac funkcje? " << endl; cout << "Jesli chcesz to napisz T, jesli napiszesz N to program konczy dzialanie: " << endl; cin >> wyw2; switch( wyw2 ) { case "TAK": cout << "Ponownie wylosowana liczba to: " << funkcja_losujaca() << endl; case "NIE": cout << "W takim razie dziekuje" << endl; getch(); } } while( wyw2 == "NIE" ); } return 0; }
|
|
DejaVu |
» 2012-06-26 23:41:15 Oba rozwiązania są niepoprawne i oba są niepoprawne z tego samego powodu. Ponadto wyjaśnienie znajduje się w rozdziale do którego dałem wcześniej linka.
/edit:
W przedstawionym switch-u popełnione są wszystkie możliwe błędy :P |
|
1 2 « 3 » 4 |