Menu Steuerung
-
ja wo muss das :
int xpos(int p) {return 27;} int ypos(int p) {return 8+7*p;}
hin ? ^^
-
irgenwo oberhalb der main()-Funktion (kannst dir noch aussuchen, ob du das vor oder nach der gotoxy() hinpackst).
PS: Was mir vorher noch nicht aufgefallen ist - das muß "int main()" heißen.
-
schau ma oben bei dem Quelltext da hab ich das hingemacht mit xpos...
dann schreibt er mir aber beim debuggen das dieser return befehl falsch is
-
Das gehört doch nicht in die main-Funktion, sondern davor.
-
ahh aber nu hab ich ne endlosschleife ^^
-
Und wo? Kannst du mal den aktuellen Quelltext posten, damit man das überprüfen kann?
(aus meiner Sicht sieht das obige Programm fast korrekt aus - abgesehen von den falsch platzierten Funktionsdefinitionen)
-
OT: Ihr werden hier wohl doch noch ein Ende finden, oder???
-
hm ja wäre nit schlecht ^^
aber immer wenn ich jezze das prog starte und nach oben drücke ehm ja dann hab ich quasi ne endloss schleife
-
Das kommt davon, wenn du nur die Hälfte meiner Bemerkungen liest
CStoll schrieb:
Wie sieht denn der Fehler aus, der da kommt? Mir fällt auf Anhieb nur auf, daß du nach am Beginn der while()-Schleife ch noch zurücksetzen solltest - sonst rattert das Programm so schnell durch dein Menü, daß du nicht mehr hinterherkommst.
Oder nochmal ganz klar:
char ch; while(ch!='\n') { ch=0;//<- GANZ WICHTIG !!! if(kbhit() ch=getch() //... }
-
lalala
hm irgendwie gehts jezze ^^
tjo nu noch nen prob wenn ich nach oben drücke geht er auf posi1 wenn ich
noch ma nach oben drück dann geht der pfeil zu koords die ich nirgendsfestgelegt hab -.-
-
wie wärs z.B. damit:
if (ch==72 && ypos(pos)>5) { gotoxy(xpos(pos),ypos(pos)); cout<<" "; pos=(pos-1)%befehlszahl;//ein Feld hoch gotoxy(xpos(pos),ypos(pos)); cout<<"==>"; } if (ch==80 && ypos(pos)<11) { gotoxy(xpos(pos),ypos(pos)); cout<<" "; pos=(pos+1)%befehlszahl;//ein Feld runter gotoxy(xpos(pos),ypos(pos)); cout<<"==>"; }
Sprich du fragst einfach in den if's bevor du den Pfeil bewegst ypos ab und gibst halt an wie weit er nach oben bzw. nach unten gehen soll (hier z.B. 5 und 11)
Nichtsdestotrotz hätte ich ne Frage:
Ich hab den Code auch probiert, nur verlässt er bei mir die while Schleife nicht wenn ich Enter drücke.Kann mir nicht erklären warum...
-
@steve: kannst du mal den Debugger anwerfen und darauf achten, welche Werte pos jeweils bekommt? (kann sein, daß ich die Modulo-Arithmetik etwas falsch verstanden habe)
@holh:
1. Warum prüfst du dort nicht direkt den Wert von pos (sollte zwischen 0 und 1 liegen)?
2. Wenn er oben angekommen ist, sollte der Pfeil eigentlich ans untere Ende des Menüs wandernIch hab den Code auch probiert, nur verlässt er bei mir die while Schleife nicht wenn ich Enter drücke.
Kann mir nicht erklären warum...
Möglicherweise hast du die Abbruchbedingung falsch gesetzt.