Hilfe C++ Auftrag(Arrays u. Strings)
-
Hallo...
Ich habe einen Auftrag bekommen bei dem ich eine Funktion erstellen
muss die einen String in einen echten int-Wert umwandeln kann.
Diese Funktion muss also den String Zeichen für Zeichen untersuchen
und aus den gefundenen
Ziffern irgendwie den numerischen Wert erstellen.
Wenn die Funktion ihre Arbeit nicht korrekt beenden kann,
weil z.B. ein ungültiges Zeichen gefunden wird, soll sie
ihre Arbeit abbrechen und einen Fehler zurück melden.Ich hoffe ihr könnt mir helfen... habe auch schon tipps wie z.B:
"bool stringToInt (char* str, int* wert);"
erhalten aber die brachten mir nichts...
-
Sieh dir mal die Funktionen atof, atoi usw. an.
-
im c++ faq findest du einen beitrag dazu: einmal int zu string und zurück.
-
Danke... hab mich etwas umgeschaut leider hat mir das auch nicht
sehr geholfen..ich hoffe ihr könnt mir noch weitere Tipps oder sonst
was geben.Es sollte eine Funktion sein die eine String Eingabe in einen Int wert umwandelt und dan wird es dort überprüft, und bei einem ungültigen Zeichen wird "false" zurückgesendet.
Als Prototyp der Funktion: "bool stringToInt (char* str, int* wert);"
-
Im Projekte-Forum findet sich vielleicht jemand der deine Hausaufgaben macht.
-
Naja erstmal schauen ob ich hier die hilfe bekomme
-
Ich habs versucht so zu machen aber
das geht nichtconst char* AlsString; cin >> AlsString; double d = atof(AlsString); cout << d << endl;
-
Max-452 schrieb:
Ich habs versucht so zu machen aber
das geht nicht"das geht nicht" ist eine einmalige fehlerbeschreibung. soviele informationen in nur 3 wörtern...das muss man mal erstmal nachmachen
-
Ich hab mal etwas weiter herum probiert...
leider geht das Programm als Funktion nicht...und wollte
fragen was ich falsch gemacht habe?#include <iostream> #include <cstdio> #include <string.h> #include <sstream> #include <stdlib.h> using namespace std; int durchsuchen(); int main(void) { durchsuchen(); fflush(stdin); getchar(); return 0; } int durchsuchen() { int zahl; char *string; cin >> string; zahl = atoi (string); printf ("Eingabestring = %s Zahl = %d\n", string, zahl); }
-
#include <iostream> #include <cstdio> #include <string.h> #include <sstream> #include <stdlib.h> using namespace std; int durchsuchen(); int main(void) { durchsuchen(); fflush(stdin); // google mal nach dieser zeile getchar(); return 0; } int durchsuchen() { int zahl; char *string; // ich könnte wetten, dass das der fehler ist. cin >> string; // überleg dir mal, wo "string" hin-pointert und // was passiert, wenn du da was reinschreibst... zahl = atoi (string); printf ("Eingabestring = %s Zahl = %d\n", string, zahl); }
-
ich denke, du machst c++. wie wärs, einfach wirklich mal in das c++ faq zu schaun? da steht die lösung.
aber wenn du es dir schwer machen willst...
bye
-
mindstorm schrieb:
ich denke, du machst c++. wie wärs, einfach wirklich mal in das c++ faq zu schaun? da steht die lösung.
aber wenn du es dir schwer machen willst......dann reservier dir Speicher für deinen String und hör auf in fremden Speicher rumzuwurschteln.