bigair Geschrieben 7. Dezember 2006 Teilen Geschrieben 7. Dezember 2006 servus leute, ich will einfach nur einen string in ein int parsen, was ja eigentlich kein so großes problem darstellen sollte. (Integer.parseInt(var) bei java)...jetzt hab ich eine methode für c++ gesucht, aber da gibts ca 5 verschiedene die bei meinem compiler nicht funktionieren....angefangen von .NET eigenschaften bis zu anderem zeugs. string tmp; cin.ignore(cin.rdbuf()->in_avail()); getline(cin, tmp); this->inputerg=static_cast(tmp); sollte ja eigentlich funktionieren, nur irgentwie dann doch ned lg d Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigair Geschrieben 7. Dezember 2006 Autor Teilen Geschrieben 7. Dezember 2006 ok, der pfusch hat gesiegt... int tmp; cin >> tmp; :f: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
morillon Geschrieben 7. Dezember 2006 Teilen Geschrieben 7. Dezember 2006 und an was murggst jetzt grad herum? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Matthias Geschrieben 7. Dezember 2006 Teilen Geschrieben 7. Dezember 2006 und an was murggst jetzt grad herum?Am Pfusch².:devil: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigair Geschrieben 7. Dezember 2006 Autor Teilen Geschrieben 7. Dezember 2006 muss bis heute mitternacht ein mathematik quiz für volksschüler machen...also da kommt dann die frage....20+30...und die gebn dann 50 ein...dann kommens ins nächste level...usw... //edit...also c++ is mir schon sehr suspect this->a=(int)rand()%(9* (*level+1))+1; this->a=(int)rand()%(*basis * *level))+1; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigair Geschrieben 7. Dezember 2006 Autor Teilen Geschrieben 7. Dezember 2006 noch was oarges: ich hab: function blabla(){ cout... int tmp; cin >> tmp; switch(tmp){ case 1: .... break; case 2: .... break; default: cout.... break; } blabla(); } das heißt, er macht imma eine ausgabe...dann soll der user eine zahl eingeben, und je nach dem wird dann im switch weitergeleitet...eine eingaben wie zb "muh" will ich mit dem default abfangen, also wenn er irgentwas anderes eingibt als 1/2 dann kommt er ins default, und kommt eine ausgabe...dannach wird die funktion wieda aufgerufen... ...das problem is nur, das wenn der user irgentwas eingibt....komm ich niewida zur eingabe...sondern geht er den switch die ganze zeit im default stadium durch... ausgabe vorm switch ausgabe im default ausgabe vorm switch ausgabe im default also ein oarger deadlock...warum is das so? //edit: eigentlich müsst er ja schon rausfliegen wenn ich ein char in ein int speichern will... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Birki Geschrieben 7. Dezember 2006 Teilen Geschrieben 7. Dezember 2006 //edit: eigentlich müsst er ja schon rausfliegen wenn ich ein char in ein int speichern will... ... wieso? ein char hat 8 bit, ein int mindestens 16. das wird einfach automatisch gecastet. andere frage - wieso machst dasn in c++? lg birki Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigair Geschrieben 7. Dezember 2006 Autor Teilen Geschrieben 7. Dezember 2006 ... wieso? ein char hat 8 bit, ein int mindestens 16. das wird einfach automatisch gecastet. andere frage - wieso machst dasn in c++? lg birki weil ichs machen muss ( :f: ) hast recht, von char auf int gehts...von string auf int eben nicht. und eingaben mit char sind ja auch ned grad optimal...weil was wenn er "sdsd" ein gibt. da gehts dann maximal mit einem char array, und das wird dann wida voll mühsam Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigair Geschrieben 7. Dezember 2006 Autor Teilen Geschrieben 7. Dezember 2006 aber eine alternative hätt ich eh schon char k[10]; cin >> k; cout da ich eh nur eingaben von 1-5 brauch, würds gehen. weil wenn jetzt jemand 5 eingibt, is es 5...wenn jemand 5bla eingibt....is es 5. und wenn jemand 'sdsd' eingibt, is es auf jedenfall nix von 1-5...aber das muss ja auch irgentwie ohne so extremen pfusch gehn :f: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kudi Geschrieben 7. Dezember 2006 Teilen Geschrieben 7. Dezember 2006 Versuch es mal nicht so: case 1: .... break; Sondern so: case '1': .... break; Ich schreib mal schnell nen kleinen Code und post diesen dann. Edit: Hier der Code wie ich das machen würde: #include using namespace std; bool blabla(char *string){ bool test=false; switch(string[0]){ case '1': return true; break; case '2': return true; break; default: return false; break; } } int main() { char eingabe[100]; cout do { cin >> eingabe; } while(blabla(eingabe)==false); system("PAUSE"); // Nur für den Test in meinem Compiler } Folgendes solltest du auch nicht machen: function blabla(){ cout... //erst eine Ausgabe int tmp; //dann Variable initialisieren Bei C hätte dir der Compiler ne Fehlermeldung oder ein Warning ausgegeben. Auch in C++ sollten die Variablen am Anfang einer Funktion initialisiert werden. @Birki Mir ist C++ viel lieber Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
wrongway Geschrieben 7. Dezember 2006 Teilen Geschrieben 7. Dezember 2006 also ich würd einfach mit einer if-funktion zuerst die eingabe prüfen und erst dann die switch-funktion abrufen if((tmp != 1) || (tmp != 2)) { } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kudi Geschrieben 7. Dezember 2006 Teilen Geschrieben 7. Dezember 2006 also ich würd einfach mit einer if-funktion zuerst die eingabe prüfen und erst dann die switch-funktion abrufen if((tmp != 1) || (tmp != 2)) { } Das wird auch nicht gehen. Er will ein char bzw. in seinem Fall einen String überprüfen. Ich hab zwar String noch nie verwendet aber ich nehm an da ist es genauso. Wenn aber 1 ohne '' überprüft wird nimmt der Compiler an, dass es sich um eine int Variable handelt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigair Geschrieben 7. Dezember 2006 Autor Teilen Geschrieben 7. Dezember 2006 ah, schon besser...thx. ansich is c++ eh ned so bled....aber nachdem ich jahrelang java programmiert hab....und in letzter zeit nurnoch ac und php...is der umstieg zu so einer programmiersprache wida zach die string klasse is aba echt a frechheit...die kann genau goarnyx :f: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Birki Geschrieben 7. Dezember 2006 Teilen Geschrieben 7. Dezember 2006 ...von string auf int eben nicht.: bubebube ... ein string ist ein array von 8bit - zahlen, ein int mindestens eine 16 bit zahl. wennst es konservativ machen willst, kannst das gute alte atoi aus der c-lib nehmen, oder Du verwendest gleich eine c++ bibliothek, die die die strings gscheit verwaltet, wie qt (die kann dann auch unicode). in der qstring->toInt(...) kannst dann auch die methode aufrufen, die Dir eine zahl macht ... lg birki PS: ... C++ rult schon, nur für die anwendung vom dominik erscheints mir als overkill ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigair Geschrieben 7. Dezember 2006 Autor Teilen Geschrieben 7. Dezember 2006 bubebube ... ein string ist ein array von 8bit - zahlen, ein int mindestens eine 16 bit zahl. wennst es konservativ machen willst, kannst das gute alte atoi aus der c-lib nehmen, oder Du verwendest gleich eine c++ bibliothek, die die die strings gscheit verwaltet, wie qt (die kann dann auch unicode). in der qstring->toInt(...) kannst dann auch die methode aufrufen, die Dir eine zahl macht ... lg birki ahja...kennst du ein vernünftiges online handbuch zu c++? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Birki Geschrieben 7. Dezember 2006 Teilen Geschrieben 7. Dezember 2006 ahja...kennst du ein vernünftiges online handbuch zu c++? hm - sind eigentlich nur die manpages http://www.cppreference.com/ lg birki Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigair Geschrieben 7. Dezember 2006 Autor Teilen Geschrieben 7. Dezember 2006 ok...danke, leiwand..besser als nyx Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kudi Geschrieben 7. Dezember 2006 Teilen Geschrieben 7. Dezember 2006 bubebube ... ein string ist ein array von 8bit Du meinst Char oder? ansich is c++ eh ned so bled....aber nachdem ich jahrelang java programmiert hab....und in letzter zeit nurnoch ac und php...is der umstieg zu so einer programmiersprache wida zach Siehst ich hab mit C++ begonnen und deswegen kann ich mit Java und C# nix anfangen. Und PHP verwend ich auch fast täglich, es lebe das Webdesign bzw. Firmen die Websiten brauchen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Birki Geschrieben 8. Dezember 2006 Teilen Geschrieben 8. Dezember 2006 Du meinst Char oder? hi! ja - aber was ist ein char üblicherweise? in der regel 8 bit unsigned, oder? lg birki Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
maosmurf Geschrieben 8. Dezember 2006 Teilen Geschrieben 8. Dezember 2006 also ein oarger deadlock...warum is das so? nö. deadlock bedeutet, dass 2 prozesse aufeinander warten, und das in alle ewigkeit. tritt vorallem auf bei fehlerhafter ressourcenverwaltung Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigair Geschrieben 8. Dezember 2006 Autor Teilen Geschrieben 8. Dezember 2006 nö. deadlock bedeutet, dass 2 prozesse aufeinander warten, und das in alle ewigkeit. tritt vorallem auf bei fehlerhafter ressourcenverwaltung jo...schon...aber das is eindeutig auch ein deadlock. für mich beschreibt ein deadlock einen status eines programms, der nicht verlassen werden kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Birki Geschrieben 8. Dezember 2006 Teilen Geschrieben 8. Dezember 2006 jo...schon...aber das is eindeutig auch ein deadlock. für mich beschreibt ein deadlock einen status eines programms, der nicht verlassen werden kann. najo ... das wäre do {} while (1 !=2) auch... in so einem fall hat man dann einfach einen schas zsammprogrammiert ... lg birki Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigair Geschrieben 8. Dezember 2006 Autor Teilen Geschrieben 8. Dezember 2006 najo ... das wäre do {} while (1 !=2) auch... in so einem fall hat man dann einfach einen schas zsammprogrammiert ... lg birki ja eh....auch while(true){...}... aber da is es fürs programm genau aus...wurscht ob jetzt zwei threads auf gegenseitig blockierte speicherplätze warten, oder eine unendliche schleife. im endeffekt steht das programm. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kudi Geschrieben 8. Dezember 2006 Teilen Geschrieben 8. Dezember 2006 muss bis heute mitternacht ein mathematik quiz für volksschüler machen Fertig geworden? :devil: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigair Geschrieben 8. Dezember 2006 Autor Teilen Geschrieben 8. Dezember 2006 Fertig geworden? :devil: kloar Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.