radSun Opublikowano 22 Października 2005 Opublikowano 22 Października 2005 Robie c o ś w C++ :lol: . Dlaczego w tym kawałku #include <dos.h> #include <stdio.h> #include <conio.h> #include <iostream.h> #include <stdlib.h> main() { int score,x,y,time; x=7; y=10; time=300; do { gotoxy(5,5); cprintf("X"); gotoxy(x,y); cprintf("Y"); } while (getch();) } wyskakuje mi błąd: 21 main.cpp parse error before `;' ?
Gooman Opublikowano 22 Października 2005 Opublikowano 22 Października 2005 w C++ nie jestem ekspertem ale chyba zamiast (getch();) Powinno być: (getch());
radSun Opublikowano 22 Października 2005 Autor Opublikowano 22 Października 2005 Dzięks, ten błąd już nie wyskakuje ale mam jeszcze jeden w linkers: d:\overlord\main.o(.text+0x2c):main.cpp: undefined reference to `gotoxy' d:\overlord\main.o(.text+0x4f):main.cpp: undefined reference to `gotoxy' Chyba trzeba dać include cośtam ale nie pamiętam co :(
Filar Społeczności Ranmus Opublikowano 22 Października 2005 Filar Społeczności Opublikowano 22 Października 2005 W tamtym nie powinno być w ogóle średnika: (getch())
Gooman Opublikowano 22 Października 2005 Opublikowano 22 Października 2005 Hehe,a nie mówiłem, że nie jestem expertem - prawde mówiąc wogóle się nie znam bo dopiero przymierzam się do C++, a w szkole uczą mnie Javy :P
Filar Społeczności Ranmus Opublikowano 22 Października 2005 Filar Społeczności Opublikowano 22 Października 2005 Javy? I BARDZO DOBRZE. Większe będziesz miał korzyści z Javy niż z C++. Twoja szkoła ma u mnie plusa i rekomendację serwisu gmclan.org ;)
radSun Opublikowano 22 Października 2005 Autor Opublikowano 22 Października 2005 Znalazłem błąd, zamiast conio.h >> conio.c U mnie lekcja informatyki wygląda tak że na co 2 lekcji gramy w half-lifa ;) normalnie robimy coś w c++
Tymon Opublikowano 22 Października 2005 Opublikowano 22 Października 2005 Pozazdrościć :D Moja klasa narazie nie wychodzi z ery mistrza klawiatury xD
Firemark Opublikowano 22 Października 2005 Opublikowano 22 Października 2005 Tymon jak moja xD kolesie nie wiedzą ile cd zajmujze xD mniach mniach też mam problem z deva-chce zakomplikować(nawet example) i pisze,że nie umi znaleść make .Może ktoś helpnie? :(
Administratorzy gnysek Opublikowano 22 Października 2005 Administratorzy Opublikowano 22 Października 2005 pff:P u mnie nauczyciel stwierdził, że są 3-bitowe procesory w komputerach szkolnych...
radSun Opublikowano 22 Października 2005 Autor Opublikowano 22 Października 2005 (edytowane) Mam jeszcze 1 błąd, tym razem kod duższy: #include <conio.c> #include <conio.h> main() { int score,x,y,move; unsigned char znak; x=7; y=10; move=30; do { gotoxy(5,5); cprintf("X"); gotoxy(x,y); cprintf("Y"); if (move=30) { if (kbhit()) { znak = (unsigned char) getch(); switch(znak) { case 75: y-1; break; case 77: y+1; break; case 80: x+1; break; case 72: x-1; break; } move=0; } } else { move++; } } while (getch()); } A błąd: 24 main.cpp implicit declaration of function `int kbhit(...)' Edytowane 22 Października 2005 przez radSun
Filar Społeczności Ranmus Opublikowano 22 Października 2005 Filar Społeczności Opublikowano 22 Października 2005 Nigdy nie słyszałem, żeby taka funkcja jak kbhit istniała w bibliotece conio, więc wyguglałem to: Prototype: int kbhit(void); Header File: conio.h Explanation: This function is not defined as part of the ANSI C/C++ standard. It is generally used by Borland's family of compilers. It returns a non-zero integer if a key is in the keyboard buffer. It will not wait for a key to be pressed. Szybko na polski. Funkcja ta nie jest częścią standardu ANSI C/C++ i jest głównie używana w kompilatorach od Borland'a. Jakiego kompilatora używasz? :] Poza tym czemu robisz include pliku conio.c? Powinno być tylko conio.h
radSun Opublikowano 23 Października 2005 Autor Opublikowano 23 Października 2005 Używam Dev-C++ 4. Dałem zamaiast h c bo wtedy nie działa mi getch()
Vardi Opublikowano 23 Października 2005 Opublikowano 23 Października 2005 Używam Dev-C++ 4. Dałem zamaiast h c bo wtedy nie działa mi getch() <{POST_SNAPBACK}> Przecież przy Dev C++ jak dołączysz conio.h to działa getch(); ja tak robie zawsze i wszystko działa.
radSun Opublikowano 23 Października 2005 Autor Opublikowano 23 Października 2005 Gdy mam conio.h: 29 untitled1.cpp implicit declaration of function `int getchar(...)' , a gdy conio.c wszystko dobrze :boxed:
Marmot Opublikowano 23 Października 2005 Opublikowano 23 Października 2005 Może wpisz samo conio :P ?
radSun Opublikowano 9 Listopada 2005 Autor Opublikowano 9 Listopada 2005 Skoro mam nie pytać na shotboxie to zapytam na formu :lol2: Mam taki oto kod: string czynnosc; cout<<"Komenda: "; cin>>czynnosc; switch (czynnosc) { case "w": cout<<"Ruch w gore"; break; case "s": cout<<"Ruch w dol"; break; case "a": cout<<"Ruch w lewo"; break; case "d": cout<<"Ruch w prawo"; break; default: cout<<"Nieznana komenda!"; break; } getch(); Oczywiście jak to bywa w moich problemach wyskakuje błąd: switch quantity not an integer case label `"w"' does not reduce to an integer constant break statement not within loop or switch ... Mam pytanie czy w switch można używać wyrazów?
Maximal Opublikowano 9 Listopada 2005 Opublikowano 9 Listopada 2005 Po pierwsze: nie case "w" tylko case 'w'. Po drugie: nie prościej zamiast stringa dać chara? Według mnie to powinno wyglądać tak: char czynnosc; cout<<"Komenda: "; cin>>czynnosc; switch (czynnosc) { case 'w': cout<<"Ruch w gore"; break; case 's': cout<<"Ruch w dol"; break; case 'a': cout<<"Ruch w lewo"; break; case 'd': cout<<"Ruch w prawo"; break; default: cout<<"Nieznana komenda!"; break; } getch();
radSun Opublikowano 9 Listopada 2005 Autor Opublikowano 9 Listopada 2005 Niestey nie działa, przynajmniej u mnie. Chyba czas zmienić kompilator :(
Maximal Opublikowano 9 Listopada 2005 Opublikowano 9 Listopada 2005 Niestey nie działa, przynajmniej u mnie. Chyba czas zmienić kompilator :( A jaki masz? Bo ja mam Dev -C++ i mi działa :blink:
Tymon Opublikowano 10 Listopada 2005 Opublikowano 10 Listopada 2005 Maximal@ " i ' to praktycznie to samo dla kompilatora :] char czynnosc; cout<<"Komenda: "; cin>>czynnosc; switch (czynnosc) { case 'w' : cout << "Ruch w gore"; break; case 's' : cout << "Ruch w dol"; break; case 'a' : cout << "Ruch w lewo"; break; case 'd' : cout << "Ruch w prawo"; break; default : cout << "Nieznana komenda!"; } getch(); Mi działa i po default : instrukcja; nie potrzeba break;
BeWuO Opublikowano 10 Listopada 2005 Opublikowano 10 Listopada 2005 Błąd mówi, ze zmienna sprawdzana nie jest typu INT. Więc spróbuj na intach.
radSun Opublikowano 10 Listopada 2005 Autor Opublikowano 10 Listopada 2005 Działa! Zamiast string dałem char. Dzięki Tymon :)
radSun Opublikowano 28 Listopada 2005 Autor Opublikowano 28 Listopada 2005 Mam kolejny problem. :( Kod: enum POLE{ P_PUSTE=C_PUSTE, P_MUR=C_MUR, P_GRACZ=C_GRACZ}; enum STATUS{S_MENU,S_GRA}; enum COS{ C_PUSTE=" ", C_MUR="O", C_GRACZ="X"}; Błąd: d:\overlord\jkjk.cpp:6: `C_PUSTE' was not declared in this scope d:\overlord\jkjk.cpp:6: enumerator value for `P_PUSTE' not integer constant d:\overlord\jkjk.cpp:7: `C_MUR' was not declared in this scope d:\overlord\jkjk.cpp:7: enumerator value for `P_MUR' not integer constant d:\overlord\jkjk.cpp:8: `C_GRACZ' was not declared in this scope d:\overlord\jkjk.cpp:8: enumerator value for `P_GRACZ' not integer constant d:\overlord\jkjk.cpp:10: enumerator value for `C_PUSTE' not integer constant d:\overlord\jkjk.cpp:11: enumerator value for `C_MUR' not integer constant d:\overlord\jkjk.cpp:12: enumerator value for `C_GRACZ' not integer constant Wie ktoś w czym błąd?
Quetzacotl Opublikowano 28 Listopada 2005 Opublikowano 28 Listopada 2005 zadeklarowales zmienne? nie wiem z czym to sie je w c++ ale turbo pascala walkuje 3 lata i tam sie deklaruje zmiennie i jestem pewiej, ze w c++ tez
2QL4SQL Opublikowano 28 Listopada 2005 Opublikowano 28 Listopada 2005 Owszem, w Pascalu i pochodnych trzeba zadeklarować zmienne. Raport błędów w tym skrypcie najwyraźniej mówi o tym, że ich nie zadeklarowałeś. Nie pamiętam, ale wydaje mi się, że trzeba deklarować zmienne. A tak na marginesie... dość dużo tutaj błędnych skryptów dawałeś... Ciekawi mnie, co to za program, który piszesz.
greg Opublikowano 29 Marca 2006 Opublikowano 29 Marca 2006 Błąd: d:\overlord\jkjk.cpp:6: `C_PUSTE' was not declared in this scope d:\overlord\jkjk.cpp:6: enumerator value for `P_PUSTE' not integer constant d:\overlord\jkjk.cpp:7: `C_MUR' was not declared in this scope d:\overlord\jkjk.cpp:7: enumerator value for `P_MUR' not integer constant d:\overlord\jkjk.cpp:8: `C_GRACZ' was not declared in this scope d:\overlord\jkjk.cpp:8: enumerator value for `P_GRACZ' not integer constant d:\overlord\jkjk.cpp:10: enumerator value for `C_PUSTE' not integer constant d:\overlord\jkjk.cpp:11: enumerator value for `C_MUR' not integer constant d:\overlord\jkjk.cpp:12: enumerator value for `C_GRACZ' not integer constant Wie ktoś w czym błąd? nie jestem pewien ale masz blad ze wart nie jest integer, a z tego co ja sie orientuje do enum mozna przypisac liczby, znakow nie mozna ... Kod: enum POLE{ P_PUSTE=C_PUSTE, P_MUR=C_MUR, P_GRACZ=C_GRACZ}; enum STATUS{S_MENU,S_GRA}; enum COS{ C_PUSTE=" ", C_MUR="O", C_GRACZ="X"}; w pierwszych liniach wartosci sa jeszcze nie znane bo wprowadziles je pozniej, a do tego C_MUR i C_GRASZ maja przypisane znaki enum COS{ C_PUSTE=" ", C_MUR="1", C_GRACZ="2"}; enum POLE{ P_PUSTE=C_PUSTE, P_MUR=C_MUR, P_GRACZ=C_GRACZ}; sproboj w tej kolejnosci, a wstawianie pozniej O i X rozwiaz w programie zaleznie czy 1 czy 2, ps. tak mi sie wydaje, pewnosci nigdy nie ma ;)
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się