Seite 1 von 2

Abfrage und ausgabe char Array

Verfasst: Mi Apr 27, 2011 5:52 pm
von tobi2212
Hallo Leute.

So nach einigem versuchen muss ich jetzt dochmal nachfragen.
ich hab mir ein kleines konsolen tictacto geschrieben und ist auch schon alles super gelaufen wollte dann noch eine abfrage für die Spielernamen machen und diese in char arrays speichern.

und ich glabe daran liegt das problem da seit dieser abfrage nichts mehr so funktioniert wie es sollte.

die zweite do while wiederholt sich in ner endlos schleife wiso auch immer ohne mich auch nur einen buchstaben eingeben zu lasen

anbei ist mal der code meiner funktion vl weis ja wer rat

das ganze hab ich auf windows 7 gemacht Mvc++ 2010

mfg
tobi

Re: Abfrage und ausgabe char Array

Verfasst: Mi Apr 27, 2011 6:10 pm
von Xin
Die Routine sieht - wenn man vom Einrücken absieht - auf einen kurzen Blick okay aus.

Ohne ein kompilierbares Projekt, in dem man auch mal ausprobieren und nachvollziehen kann, könnte das schwierig werden. So ist das reine Raterei.

Re: Abfrage und ausgabe char Array

Verfasst: Mi Apr 27, 2011 6:29 pm
von tobi2212
jo danke danke.
und ja ich weis das mitn einrücken is bischen aus der rolle geraten da ich immer wieder was rein getipselt habe und dann da drauf nicht mehr so geachtet habe
anbei die exe

Re: Abfrage und ausgabe char Array

Verfasst: Mi Apr 27, 2011 6:34 pm
von Xin
tobi2212 hat geschrieben:jo danke danke.
und ja ich weis das mitn einrücken is bischen aus der rolle geraten da ich immer wieder was rein getipselt habe und dann da drauf nicht mehr so geachtet habe
anbei die exe
Die Exe interessiert mich nicht und die solltest Du auch nicht posten!

Hier läuft Linux und MacOS, die Exe nutzt also auch nix.
Eine Exe kann ich auch nicht prüfen.

Re: Abfrage und ausgabe char Array

Verfasst: Mi Apr 27, 2011 7:24 pm
von cloidnerux
anbei die exe
Bitte entweder den Kompletten Source Code in dein Post(wenn nicht zu lang), bzw als Anhängsel oder, wie in deinem Fall, das Komplette Projekt in ein Archiv packen und uns verfügbar machen.
@XIN: Gibt es für sowas eine Möglichkeit außerhalb des SVN?

Versuch mal ein cin.clear() vor jedem cin.get() Aufruf.

Re: Abfrage und ausgabe char Array

Verfasst: Mi Apr 27, 2011 10:02 pm
von tobi2212
ok hier ist jetzt der code nochmal dabei komplet.

mit dem cin.clear (); funkt es leider auch noch nicht

bin selbst fiberhaft auf der suche nach dem fehler.

mfg
tobi

Re: Abfrage und ausgabe char Array

Verfasst: Mi Apr 27, 2011 10:30 pm
von cloidnerux
Ich hab mir den Code angeschaut und etwas gegooglet und habe doch tatsächlich eine Lösung gefunden^^
Wie ich mir schon in meinem Vorherigen post gedacht hatte, ist der Eingabebuffer nicht leer gewesen.
Warum das schlimm ist, lässt sich mit der Funktion desselbigen Erklären:
Der Eingabebuffer speichert JEDE eingabe die Du machst, eine Funktion wie cin >> oder cin.get rufen die Daten daraus ab und Löschen sie, das machen sie aber nur so lange wie kein Enter kommt. Das Problem ist nur, das sie das Enter manchmal NICHT aus dem Puffer Löschen und dann der aufruf cin.get das Enter liest, sich freut das das das Ende der Eingabe ist und beendet sich, ebenso wie der 2 Aufruf und durch die Fehlerhaften Daten is dein Programm in einer Endlosschleife gefangen.

Lange rede, kurzer sinn: Ein Aufruf von cin.sync() vor jedem deiner cin.get Aufrufe erledigt das Problem.

Re: Abfrage und ausgabe char Array

Verfasst: Mi Apr 27, 2011 10:40 pm
von tobi2212
Vielen vielen dank dan bin ih mit meiner vermutung ja garnicht schlechtgelegen. Achja und wenn es dan fertig is mein tictacto. Bekommt ihr es natürlich zu sehen gg^^ aber danke nochmal

Mfg
Tobi

Re: Abfrage und ausgabe char Array

Verfasst: Mi Apr 27, 2011 11:33 pm
von Dirty Oerti
Ok, ich fang mal mit ein paar Verbesserungsvorschlägen an :)

Der erste ist ganz klar: RICHTIG EINRÜCKEN!

Nummer 2:
Zeile 105 (der 2. Datei, wie alle folgenden Zeilenangaben):
Den Inhalt dieses if-else Konstrukts solltest du dir noch ein mal angucken.
Du hast hier viel Code doppelt.
Nur das, was sich ändert, solltest du im if bzw else Block haben, den Rest davor/danach :)

Nummer 3:
Zeile 138: "Prüfung" ist kein guter Name. Mich wundert gerade etwas, dass das überhaupt kompiliert ... "Pruefung" wenn dann.

Soweit erst mal :)

Re: Abfrage und ausgabe char Array

Verfasst: Mi Apr 27, 2011 11:54 pm
von cloidnerux
Nummer 3:
Zeile 138: "Prüfung" ist kein guter Name. Mich wundert gerade etwas, dass das überhaupt kompiliert ... "Pruefung" wenn dann.
g++ hatte bei mir gemeckert, aber der MS-C Compiler nimmt das hin, soweit ich mich erinnern kann. Ist aber trotzdem kein "guter" Stil.