PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dev-Cpp projekt conio.h



Gunblade
30.10.2008, 13:06
Hallo Zusammen,

Ich habe ein gewisses Problem mit dem Dev-Cpp.
Der will einfach nicht die conio.h benutzen ich schreibe sie in den quellcode:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main(int argc, char *argv[])
{
gotoxy (40,12);
printf("Hallo Welt\n");
getch();
return 0;
}


Fehler Meldung:

[Linker error] undefined reference to `gotoxy'
ld returned 1 exit status



Ich bekomme das kotzen weil ich für die Schule so ne scheiss konsolenanwendung Schreiben soll -.-
mit textattr(); usw geht das auch nicht!

Bitte um Hilfe

Mfg

Gunblade

b0ne
30.10.2008, 13:30
gibt es gotoxy nicht nur in c???

eRaSeR!
30.10.2008, 13:38
gibt es gotoxy nicht nur in c???

jup das glaub ich auch

aber:
X:\XX\Dev-Cpp\include\ da is conio.h drin
genauso wie math.h und math.h geht in c++.. hm sry kann dir nich weiterheldfen^^

Hamachi-1
30.10.2008, 13:39
kannst du nicht was anderes benutzen als gotoxy?
ich glaube damit kommste nicht weit.
und darin liegt der fehler.

-[RiDER]-
30.10.2008, 16:31
Hi :D

Das hat nichts mit C oder C++ zu tun, sondern dass gotoxy() AFAIR eine Funktion des Borland C++-Builders ist, von der MinGW32 (natürlich) kein Ahnung hat. Genausowenig von conio.h.

Denk Dir was anderes aus oder such Dir ne API, die kann was Du suchst... z.B. ncurses oder allegro.

GreetZ RiDER :D :D :D

l0dsb
30.10.2008, 17:13
Rider, bin mir auch relativ sicher, dass es Borland-spezifisch ist. Meinen Informationen nach ist auf den ganzen Header nicht unbedingt Verlass, aber es gibt ja wie genannt genug Alternativen

Da ihr in der Schule damit arbeitet, gehe ich einfach mal von Windows als OS aus, da wäre der einfachste Weg über die WinAPI. Du holst dir das Ausgabehandle (Konstante STD_OUTPUT_HANDLE) mit GetStdHandle und setzt die Position schließlich mit SetConsoleCursorPosition (erster Parameter das Handle, zweiter Parameter eine COORD-Struktur).

Informationen zu den Funktionen via Googe (API-Name + "msdn"), der Rest sollte klar sein. Good luck.

Gunblade
30.10.2008, 19:52
SOOOO einfach ist das nicht... ( C CONSOLEN PROJEKT)
Der Lehrer will das wir mit Dev-Cpp arbeiten und das das mit der conio.h geschieht nicht mit #include <windows.h> !!!
Der lehrer will das so und jetz is der im Krankenhaus und können den deshalb nicht fragen wie das gehen soll.
der hat uns über 10000 Lehrer So eine beschissene Aufgabe gegeben -.-

Teto
30.10.2008, 20:49
So habe jetzt mal in Google rumgelesen und es gibt diese Funktion nicht in C++ und wenn es dein Lehrer so will dann ist er unfähig und sollte darüber nachdenken sein Studium zu wiederholen.

Es ist eine Funktion von Borland und man kann sie über umwege selbst schreiben mit der und nicht mehr.

Gunblade
30.10.2008, 21:50
Das Programm heißt Dev-Cpp

Wir sin im mom bei C nicht C++
hab ich doch schon tausendmal geschrieben...
Und irgendwie geht das nur ka wie

Teto
30.10.2008, 21:53
Hier lese dir den beitrag durch es geht auch in C nicht.

http://board.gulli.com/thread/659029-gotoxy-in-c/

l0dsb
30.10.2008, 21:59
Des Weiteren ist Dev-Cpp auch kein reiner C-Compiler. Fachidioten for the win? Nutzt doch einfach MSVC Express oder GCC.

k0rxxx
31.10.2008, 00:44
Dev-Cpp ist garkein Compiler.
Sondern eine IDE die gcc nutzt.

Gunblade
31.10.2008, 14:09
Vielen dank Teto hast mir echt geholfen!!!!

Neues prob -.-
meine main soll weiterlaufen(die ist fertig) und eine andere funktion soll die schriftfarbe ändern alle 0.5 sekunden.(auch fertig)
die funktion funktioniert auch aber sie ist eine unendlich schleife und hält meine main auf.
Wie kann ich das anstellen das die main weiterläuft und totzdem die schrift durch meine 2. funktion geändert wird die ganze zeit über????
bitte um rat nochmal bitte bitte
Mfg Gunblade

-[RiDER]-
31.10.2008, 23:09
Hi :D

DevC++ nutzt MinGW32.

Zu Deiner Frage. Ich weiß natürlich nicht, wie Dein Kode aussieht, aber ich würde mal sagen, dass Du Deine Endlosschleife in die main-Funktion setzt.
Das ist nicht nur eine Möglichkeit, sondern auch Gang und Gebe beim Programmieren, man spricht deshalb auch gerne von der "main-while" (jedoch eigentlich nicht, weil sie in der main-Funktion steht, sondern weil innerhalb dieser Schleife der gesamte Programmablauf außer Initialisierung und Beenden des Programms stattfinden).

Pseudokode:
int main(void)
{
init();

while(1)
{
if(!mach_andere_farbe())
break
if(!gehe_zu_position_xy())
break;
if(!gib_hello_world_aus()))
break;
}

quit();
}

Wie gesagt Pseudokode und einfach so dahingekleistert, aber so schaut das ungefähr aus.

GreetZ RiDER :D :D :D

Gunblade
02.11.2008, 20:30
das würde bei minem projekt nicht funkrionieren...
Weil das farbenändern dann keinen algorythmus hat was es sein soll... und while schleifen habe ich schon 3 drinne :P
wenn ich dann in einer meine farbenändern reintuhe ändert sie sich einmal dann wartet er auf die "richtige" eingabe und dann würde er sie wider ändern das habe ich schon ausprobiert... ich kann dir montag mal den code als pm schicken ;)

-[RiDER]-
03.11.2008, 22:23
Tu das.
Ich bin mir sehr sicher, dass es da eine Möglichkeit gibt...

GreetZ RiDER :D :D :D

wolf
12.11.2008, 15:18
Vielen dank Teto hast mir echt geholfen!!!!
Neues prob -.-
meine main soll weiterlaufen(die ist fertig) und eine andere funktion soll die schriftfarbe ändern alle 0.5 sekunden.(auch fertig)
die funktion funktioniert auch aber sie ist eine unendlich schleife und hält meine main auf.
Wie kann ich das anstellen das die main weiterläuft und totzdem die schrift durch meine 2. funktion geändert wird die ganze zeit über????
bitte um rat nochmal bitte bitte
Mfg Gunblade

Wie wärs mit Threads?

-[RiDER]-
12.11.2008, 20:59
Wie wärs mit Threads?
"A Computer is a state machine. Threads are for people who can't program state machines." - Alan Cox

wolf
12.11.2008, 21:08
-]
Wie wärs mit Threads?
"A Computer is a state machine. Threads are for people who can't program state machines." - Alan Cox

Naja.. helfen könnte es in diesem Fall trotzdem :P

-[RiDER]-
12.11.2008, 22:01
Nein, das glaube ich nicht.

Wenn Du mich vom Gegenteil (in Form eines konkreten Beispiels) überzeugen kannst, werde ich meine Behauptung natürlich sofort zurückziehen... aber so vielen Programmierern ich das schon angeboten hat, und noch keiner war in der Lage, mir (oder gar Alan Cox) das Gegenteil zu beweisen.

Pseudokode fürs konkrete Beispiel (der OP hat mir seinen Kode geschickt, ich weiß nicht, ob er möchte, dass ich hier Teile davon veröffentliche) :
while Keine Taste gedrückt
do
0,5 Sekunden warten
Farbe ändern
done

Lies Taste
Führe gewünschte Aktion aus
Gehe wieder an den Anfang

GreetZ RiDER :D :D :D