Variable corrupted!?

04/22/2012 15:39 HeavyMetalToast#1
Heyho

Ich hab angefangen das Spiel Hangman zu schreiben. Leider funktioniert mein Programm nicht richtig, und mir wird folgende Fehlermeldung mitten im Programm ausgegeben.

Run-Time Check Failure #2 - Stack around the variable 'geraten' was corrupted.

Ich hab mir schon die Finger wund gegoogelt, nur leider finde ich keine Lösung für mein Problem.

Und lasst mich bitte in Frieden mit eurem:"cout/cin ist viel besser"/"int main ist richtig, alles andere ist falsch", ich hab meine Gründe das ich es so verwende. Desweiteren möchte ich auch keine Verbesserungsvorschläge.

04/22/2012 15:48 Dr. Coxxy#2
kann jetzt nicht alles durchsehen, ist nen bissel unübersichtlich, aber:

1. system -> böse -jaja :P

2. Die funktion macht? (doppel == statt zuweisung?)
Code:
void fertig(char geraten[])
{
	int i=0;
	g_checking=1;
	for (i=0;i<30;i++);
	{
		if (geraten[i]=='_')
			g_checking==0;
	}

}
3.
Code:
for (int i=0;i<=laenge-1;i++) -> for (int i=0; i < laenge; i++)
4.
Code:
for(int i=0;i<=30;i++)
access violation... muss < 30 sein...

5. verlieren kann man noch nicht? :P
04/22/2012 16:01 HeavyMetalToast#3
Quote:
Originally Posted by Dr. Coxxy View Post
kann jetzt nicht alles durchsehen, ist nen bissel unübersichtlich, aber:

1. system -> böse -jaja :P

2. Die funktion macht? (doppel == statt zuweisung?)
Code:
void fertig(char geraten[])
{
	int i=0;
	g_checking=1;
	for (i=0;i<30;i++);
	{
		if (geraten[i]=='_')
			g_checking==0;
	}

}
3.
Code:
for (int i=0;i<=laenge-1;i++) -> for (int i=0; i < laenge; i++)
4.
Code:
for(int i=0;i<=30;i++)
access violation... muss < 30 sein...

5. verlieren kann man noch nicht? :P
2.) Danke, deswegen war es nach dem ersten mal vorbei :D
3.) Ist doch nur ein Schönheitsfehler ;D
4.) Danke ;D
5.) Wollte ich gerade einbauen, dann kam der Fehler. :D
04/22/2012 16:27 xNopex#4
Quote:
ich hab meine Gründe das ich es so verwende
Die interessieren mich brennend. Und das meine ich vollkommen unironisch.
04/22/2012 16:34 HeavyMetalToast#5
Quote:
Originally Posted by xNopex View Post
Die interessieren mich brennend. Und das meine ich vollkommen unironisch.
Cout/cin benutze ich nicht, da wir in der Schule nicht nur Konsolenanwendungen programmieren, sonder später auch auf Mikrochips. Und mein Professor sagte das wir auf diesen nur mit C programmieren können, also gewöhne ich es mir garnicht anders an, desweiteren ist es besser, das ich es gleich habe wie meine Klassenkameraden, falls ich ihnen was erklären muss, denn die wissen nichtmal das es oben genannte befehle gibt.

void main hab ich mir eben so angewöhnt, und ich kenne keinen Grund warum ich nicht nehmen sollte. In meiner Entwicklungsumgebung (VS2008) funktioniert es einwandfrei.

Genug?
04/22/2012 16:45 xNopex#6
Dann programmier doch gleich in C. Was du eh schon, vermutlich unbewusst, größtenteils tust.

Quote:
ich kenne keinen Grund warum ich nicht nehmen sollte.
Weils hässlich ist und nicht portabel.
04/22/2012 16:52 MrSm!th#7
Wär mir neu, dass man auf Microchips kein C++ programmieren könnte.