2

C++ Scara

Frage von Defragger Defragger

Hallo Leute,

habe mir vor kurzem ein Buch über C++ gekauft, heißt "Spielend C++ lernen". Habe schon einige andere Programmiersprachen gehabt und habe das Buch unterhaltsam empfunden, da es hierdrin einige schöne Beispiele gibt.

Nun habe ich leider ein Problem. Da es mit der 2010er Visual C++ Version nicht hingehauen hat, das Programm ordentilch zu starten, habe ich die 2008er Version nun droben. Nun habe ich folgendes Konstrukt programmiert:

include

using namespace std;

int main() { Scara::Starten(1,1); cout << "Scara geht jetzt einen Schritt"; Scara::Gehen(); cout << "Und noch einen" << endl; Scara::Gehen(); cout << "Uuuuuund ... Geschafft!" << endl; Scara::Beenden(); }

Es öffnet sich ein Fenster, auf dem Ein Käfer auf einem Feld sitzt. Eigentlich sollte er nun 2 Felder weiter gehen ( Scara::Gehen(); ) Nur tut er das nicht. Aus der IDE Eclipse weiß ich noch, dass man beim Debuggen nebenbei noch jeweils in die nächste Zeile hüpfen konnte. Hier geht das irgendwie nicht.

Wenn ich debugge, dann öffnet sich die Eingabeaufforderung und das Käferfenster, aber die Debuggschritte kann ich nicht anklicken (grau hinterlegt).

Nun habe ich beim Schließen des Fensters einen Abbruch der Eingabeaufforderung zur Folge (Fenster schließt sich auch).

Daraufhin erscheint in der Konsole unten folgender Fehlerkrams:

Der Thread 'Win32 Thread' (0x760) hat mit Code 0 (0x0) geendet. Der Thread 'Win32 Thread' (0x7d4) hat mit Code 0 (0x0) geendet. Der Thread 'Win32 Thread' (0xbc4) hat mit Code 0 (0x0) geendet. Der Thread 'Win32 Thread' (0xa14) hat mit Code 0 (0x0) geendet. Der Thread 'Win32 Thread' (0xabc) hat mit Code 0 (0x0) geendet. Der Thread 'Win32 Thread' (0xa64) hat mit Code 0 (0x0) geendet. Das Programm "[2700] Anweisungen.exe: Verwaltet" wurde mit Code 0 (0x0) beendet. Das Programm "[2700] Anweisungen.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.

Kompiliert habe ich alles. Ich habe die 2008er Version auf einer alten XP Partition mit 32 bit installiert (die 2010er Version hatte mit dem Scara Programm auf meiner 64 bit Win 7 Version Probleme).

Kann mir jemand helfen? :)

Fragen zu gleichen Themen finden

Antworten (2)

  • 2
    Hilfreichste Antwort ausgezeichnet vom Fragesteller
    Antwort von RichardW RichardW

    Hallo Defragger,

    Du rufst hier

    Scara::Gehen(); cout << "Und noch einen" << endl;

    Die Methode Gehen auf, welche allerdings nicht in dem von dir angegebenen Quelltext definiert ist.

    Ich vermute die Aufgabe ist es diese Methoden fertig zu schreiben.

    Ein Lösungsansatz wäre folgendes:

    Nehmen Wir an, dein Objekt Käfer hat den Namen Käfer. Dein Objekt besitzt einige Eigenschaften, worunter du auch die Eigenschaft .Position oder ähnliches finden wirst. Nun entwickelst du eine Bewegungsroutine, die in der Tat relativ einfach sein dürfte. Hierbei hilfst du dir mit einer einfach for Schleife, in der du die Anzahl der Schritte definierst, die dein Käfer nach vorne gehen soll.

    Bsp: for(int i = 0; i < [ANZAHL DER SCHRITTE]; i++) { }

    In dieser Schleife sagst du dem Objekt Käfer nun das sich seine Position um 10 Pixel in die Richtung deiner Wahl verschiebt.

    for(int i = 0; i < [ANZAHL DER SCHRITTE]; i++) { Käfer.Position(int X, int Y); }

    Nun sollte dein Käfer beim öffnen des Forms in die gewünschte Richtung Laufen. Ich bin C# Programmierer und kann dir deshalb keine 100 prozentige Erfolgsgarantie geben, hoffe aber trotzdem, dass ich dir helfen konnte.

    Liebe grüße

    PS: Das Resultat würde mich interessieren. Wäre wirklich nett von dir wenn du deinen fertigen Quelltext posten würdest

    Kommentar von Defragger Defragger

    Du hast schon recht, wenn es eine Aufgabe wäre, würde ich natürlich auch erstmal die Funktion runterprogrammieren. Aber die Funktion Gehen() ist schon auf einer scara.dll Datei definiert, in welcher auch dieses Käfter Programm vorprogrammiert ist. Nun sollte man eigentlich (nach Buch) nur Scara::Gehen(); hinschreiben können, und der Käfer würde sich bewegen.

    Kommentar von Defragger Defragger

    sehr komisch. Habe gerade die mal das mit der Position probiert und dann gleich wieder gelöscht

    Nun alter Code und es funzt. :-/ werd noch irre mit dem ganzen

    Kommentar von RichardW RichardW

    Vllt einfach ein bug im Compiler. Wünsche dir auf jeden Fall noch viel Erfolg.

    Zögere nicht mich anzuschreiben, falls du noch Fragen hast.

    Ich werde mich in nächster Zeit ebenfalls intensiv mit C++ beschäftigen.

    Kommentar von Defragger Defragger

    gerne werd ich machen :)

  • 0
    Antwort von Defragger Defragger

    Danke :)

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.