Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 12:26

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



c++ Zahlenraten Hilfe Dringend

Discussion on c++ Zahlenraten Hilfe Dringend within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2010
Posts: 199
Received Thanks: 29
c++ Zahlenraten Hilfe Dringend

Hey Leute, ich bräuchte von Euch hilfe für mein "Projekt".
undzwar hab ich ein Zahlenraten Programm geschrieben, da ich jedoch noch komplettter Neuling in dem Bereich c++ bin, sind mir ein paar Fehler unterlaufen. Wenn ich anstatt einer Zahl einen Buchstabe eingebe, zerschießt es mein Programm sprichwörtlich.

könntet ihr mir da vielleicht unter die arme greifen?

ich benutze Microsoft Visual C++ 2010 Express
Dromerace is offline  
Old 01/25/2013, 23:59   #2

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
1) Lass das goto Zeugs weg und nimm Schleifen und Funktionen

2) Keine Ahnung, wie man das elegant mit iostream lösen kann, aber scanf("%d", &number); sollte klappen.
Bitte achte dabei darauf, dass du die Referenz der Variablen übergeben musst, nicht die Variable selbst.
iostream: std::cin >> eingabe // Variable
stdio: scanf("%d", &eingabe) // & = Referenz, hier wird die Adresse übergeben, in die der Wert geschrieben werden soll.
snow is offline  
Thanks
1 User
Old 01/26/2013, 00:24   #3
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
du kannst mit
Code:
if(!std::cin)
testen ob es eine gültige eingabe war, und gegebenefalls mit
Code:
std::cin.clear();
std::cin.ignore(1000,'\n');
die eingabe resetten.

Aber versuch wirklich erstmal dein code zu verbessern du hast da ca 4 mal den sleben code der sich nur durch eine zahl unterscheidet.
nkkk is offline  
Thanks
1 User
Old 01/26/2013, 00:35   #4



 
+Yazzn's Avatar
 
elite*gold: 420
Join Date: Jan 2012
Posts: 1,082
Received Thanks: 1,000
Code:
std::string input;
std::cin >> input;
int guessedNumber = stoi(input);
+Yazzn is offline  
Thanks
1 User
Old 01/26/2013, 15:41   #5
 
elite*gold: 0
Join Date: Aug 2010
Posts: 199
Received Thanks: 29
@snow911
Hab dein Ratschlag beherzigt, hab (fast)keine goto mehr drinnen,
Aber ich bin noch n totaler Anfänger auf dem Gebiet, und blick echt net was ihr damit meint oder wo ich das einfügen sollte =(

Neuer Code:
Dromerace is offline  
Old 01/26/2013, 16:17   #6

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
Das sieht ohne goto doch schon gleich viel besser aus.
Noch ein Tipp: Du hast für Versuche_20, Versuche_15 etc. immer so gut wie den selben Code.
Mach doch eine Methode, der du einen Integer mit der Zahl der Versuche übergibst.
Das sieht dann so aus:
switch(Anfang)
{
case('a'):
Versuche(10000);
case('b'):
Versuche(10);
etc.

Zum Einlesen: Die Methode von Yazzn könnte klappen. Du musst halt immer dort, wo du etwas einliest, das falsch interpretiert werden könnte (String bei Integer etc.), diese Konvertierung vornehmen. Dabei wird ein String als Integer interpretiert.

z.B:

string input;
std::cout << "Hoechste Zahl?" << std::endl;
std::cin >> input;
limit = std::stoi(input);
snow is offline  
Thanks
1 User
Old 01/26/2013, 16:30   #7
 
elite*gold: 0
Join Date: Aug 2010
Posts: 199
Received Thanks: 29
Habs so gemacht, wie Yazzn gesagt hat, bekkome ne derbe Fehlermeldung :O

Ich sollte vlt erwähnen, dass ich ne Konsolenanwendung mache
Dromerace is offline  
Old 01/26/2013, 16:50   #8

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
Hast du denn #include <string> bedacht?
snow is offline  
Thanks
1 User
Old 01/26/2013, 16:53   #9
 
elite*gold: 0
Join Date: Aug 2010
Posts: 199
Received Thanks: 29
Nein, hatte ich nicht, habs jetzt reingemacht und bekomme, wenn ich jetzt da ein buchstabe eingebe, ein Fehler und das Programm hängt sich auf^^
also klappt alles perfekt, bis ein buchstabe eingegeben wird

//Hast du zufällig skype oder so? dann müssen wir das nicht hier machen, nur wenn du willst


// Hast du das mit dem integer so gemeint?

€dit: Problem gelöst, habe
Code:
cin >> input;
		limit = atol(input.c_str());
		if(limit == 0)
		{
		 cout << "Bitte NUR!! Zahlen!!" << endl;
		 ZahlenRaten();
		}
Eingefügt, jetzt geht es
Dromerace is offline  
Reply


Similar Threads Similar Threads
Dringend Hilfe gesucht (Sehr Dringend)
11/17/2012 - Metin2 Private Server - 3 Replies
Hallo liebe Com jemand von euch Profis noch online :D wir haben hier grade echt probs mit unseren server keine sorge als dank bekommt mann was :D
[HILFE]Metin2[Dringend :D] [DRINGEND BITTE]
11/05/2012 - Metin2 Private Server - 0 Replies
Server files: FlyWorld2 Client: FlyWorld2 passend zu FlyWorld files 1 Prob: Wen ich mich eingeloge habe und der lade balken kommt, dann läd er voll und nichts passirt!! 2 Prob : Mein freund kriegt nach char auswahl kick -Fir is aus -Port map and und richtige ports und ip
Brauche dringend und zwar wirklich dringend eure Hilfe
09/18/2011 - Metin2 Private Server - 0 Replies
Bei mir auf dem Rootserver verlieren alle Teamler nach wenigen Minuten die GM Rechte, das war gestern noch nicht so... Woran könnte das liegen und wie beheben? Hoffe auf schnelle antwort Wäre mir sogar 10 e*Gold wert für eine Hilfestellung die funktioniert.



All times are GMT +1. The time now is 12:27.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.