Program w C++ - jak wyeliminować błędy?


(Ziomek Zemsty) #1

include

include

int main()

{clrscr();

textattr(128+2*16+4);

cprintf(" AAA");

textcolor(BLINK+YELLOW);

cprintf("\n ╔═╗:);

textattr((GREEN<<<4)|RED|0x08);

gotoxy(6,5);

cprintf(" ???");

getch();

}

Dopiero zacząłem uczyć się C++, dlatego wybaczcie mi, jeżeli będę często zamieszczał na forum swoje problemy. Aktualnie chodzi o taki program, który ma za zadanie wydrukować tekst w kolorze. Napisałem go w MS VC++ i po przebudowaniu wyskakują mi błędy, a mianowicie:

error C3861: 'clrscr': identifier not found

error C3861: 'textattr': identifier not found

error C2065: 'BLINK' : undeclared identifier

error C2065: 'YELLOW' : undeclared identifier

error C3861: 'textcolor': identifier not found

warning C4566: character represented by universal-character-name '\u2554' cannot be represented in the current code page (1250)

warning C4566: character represented by universal-character-name '\u2550' cannot be represented in the current code page (1250)

warning C4566: character represented by universal-character-name '\u2557' cannot be represented in the current code page (1250)

error C2001: newline in constant

error C2146: syntax error : missing ')' before identifier 'textattr'

error C3861: 'gotoxy': identifier not found

Może mi ktoś wyjaśnić o co z tym chodzi i doradzić, jak usunąć te błędy i uwagi?


(Agatonster) #2

Ziomek Zemsty ,

Poczytaj - Konkretne tematy... ze zwróceniem szczególnej uwagi na pierwszy post. Proszę poprawić tytuł tematu na konkretny, mówiący o problemie. W celu dokonania zaleconej korekty - proszę użyć przycisku Edytuj przy poście otwierającym ten temat.

Zignorowanie zalecenia będzie skutkowało usunięciem tematu do Kosza.


(Ziomek Zemsty) #3

Tak dla przypomnienia wątek jest nadal aktywny i będę wdzięczny za wszelką pomoc...


([alex]) #4

i wszystko co zawiera zadziała poprawnie w Borlandzie lub w DevCpp ale nie VC.


(Fiołek) #5

To, co używasz w main-ie to nie są "standardowe"(choć ciężko i tak nazwać te z conio.h) funkcje. Pochodzą one z rozszerzenia Borlanda i musisz tam kompilować. Czy skompiluje się pod tym starym GCC o którym wspomniał [alex](?! DevC++ to nie kompilator co by mogło "zadziałać" pod nim poprawnie), ale pod GCC 4.4.0 na Fedorze 11 nie ma tych rozszerzeń. Zaraz sprawdzę pod TDM MinGW 4.4.0 tolko ściągnę.

EDIT: pod MinGW GCC 4.4.0 też nie ma tego rozszerzenia.


(Ziomek Zemsty) #6

Czyli co mam pościągać? Tak poza tym to kotoś może mi podać link do Borlanda? I jak przejść w tryb MS- DOS?


(matiit) #7

Zamiast próbować w innym kompilatorze przepisz kod bez użycia conio.


(Fiołek) #8

Trybu MS-DOS nie uświadczysz już w żadnym systemie(>=XP). Używanie conio to też przeszłość. Radziłbym opuścić jego nakę i przejść dalej, bo przypuszczam, że Ci to potrzebne nie będzie(są lepsze rozwiązania, np. WinAPI).


(Ziomek Zemsty) #9

OK. A z tym WinAPI to jak, bo się nie za bardzo orientuję. Przepraszam za głupie pytanie, ale dopiero co zacząłem się uczyć i w związku z tym to WinAPI to język programowania, książka o programowaniu, czy jakaś komenda do C++???? Zupełnie nie jarzę.


(Fiołek) #10

Jest to API systemu Windows: http://pl.wikipedia.org/wiki/Windows_API . Jeśli dopiero zaczynasz to nie zawracaj sobie nim głowy, przyjdzie na to czas. Narazie opanuj dobrze sam język i bibliotekę C/C++.


(Ziomek Zemsty) #11

Dobra. Może mi ktoś jeszcze powiedzieć jak stworzyć program w C++, obojętnie jaki, aby nie wyglądał jak w cmd.exe, tzn. nie był w takim czarnym okienku i był przyjemniejszy wizualnie. Byłbym wdzięczny za kod źródłowy i porady jak to wykonać. Najlepiej żeby był kompatybilny z MS Visual C++ 2005 lub Dev C++.


(Fiołek) #12

Jeśli nie wiesz jak to zrobić*, to nie rób tego, za wcześnie na to. Zapoznaj się z z programowaniem "pod konsolę" i gdy napiszesz już coś sensownego to wtedy przejdź w tryb okienkowy(bo to już wyrzsza szkoła jazdy).

* - w Visual Studio tworzysz nowy projekt->Win32 Project->Windows Application i _NIE_ zaznaczasz Empty Project.


(Ziomek Zemsty) #13

Dziękuję wam wszystkim a zwłaszcza Fiołkowi.