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 nicht 🙄

    const 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.


Log in to reply