Zahl in Wort umwandeln



  • hab ich gändert funkt immer noch nicht?
    Ich habe den fehler markiert ZEILE 58

    #include <iostream> 
    #include <string> 
    
    using namespace std; 
    
    string unter20(unsigned long wert, bool eins) 
    { 
      switch(wert) 
        { 
          case 1: 
            if(eins) 
              return("eins"); 
            else 
              return("ein"); 
          case 2: return("zwei"); 
          case 3: return("drei"); 
          case 4: return("vier"); 
          case 5: return("fuenf"); 
          case 6: return("sechs"); 
          case 7: return("sieben"); 
          case 8: return("acht"); 
          case 9: return("neun"); 
          case 10: return("zehn"); 
          case 11: return("elf"); 
          case 12: return("zwoelf"); 
          case 13: return("dreizehn"); 
          case 14: return("vierzehn"); 
          case 15: return("fuenfzehn"); 
          case 16: return("sechszehn"); 
          case 17: return("siebzehn"); 
          case 18: return("achtzehn"); 
          case 19: return("neunzehn"); 
          default: return("-Fehler-"); 
        } 
    } 
    
    //******************************************************* 
    
    string zehner(unsigned long wert) 
    { 
      switch(wert/10) 
        { 
          case 2: return("zwanzig"); 
          case 3: return("dreissig"); 
          case 4: return("vierzig"); 
          case 5: return("fuenfzig"); 
          case 6: return("sechzig"); 
          case 7: return("siebzig"); 
          case 8: return("achtzig"); 
          case 9: return("neunzig"); 
          default: return("-Fehler-"); 
        } 
    } 
    
    //******************************************************* 
    
    string unter100(unsigned long wert,bool eins) 
    {   //<-------- Hier wird der Fehler angezeigt.
      string s="";
      if(wert<20) 
        return(unter20(wert,eins)); 
    
      if(wert%10) 
        return(unter20(wert%10,false)+"und"+zehner(wert)); 
      else 
        return(zehner(wert)); 
    } 
    
    //******************************************************* 
    
    string toWord(unsigned long wert) 
    { 
      if(wert==0) 
        return("Null"); 
    
      string s=unter100(wert); 
      s[0]=toupper(s[0]); 
      return(s); 
    } 
    
    //******************************************************* 
    
    int main() 
    { 
    unsigned long wert; 
    
      cout << "Bitte Zahl eingeben:"; 
      cin >> wert; 
      cout << toWord(wert) << endl; 
    
            fflush(stdin); 
            getchar(); 
            return 0; 
    }
    


  • Es gibt eine AUSSAGEKRÄFTIGE Fehlermeldung, die du bitte posten sollst!
    Ich sag dir jetzt trotzdem, dass dein Fehler nicht an der markierten Stelle liegt...

    So rufst du auf:

    unter100(wert);
    

    So ist deklariert:

    string unter100(unsigned long wert,bool eins)
    


  • Ich finde es sehr traurig, dass trotz der zahlreichen Hilfestellungen (Tipps / Ansätze, Codes) von gleich mehreren Membern und der Tatsache, dass dir sogar noch ein Kumpel eine Lösung gegeben hat man bei dir, nami22, noch nicht einmal einen Funken Eigeninitiative erkennen kann.

    nami22 schrieb:

    Hier wird der Fehler angezeigt.

    Fehlermeldung?

    Mizars Kristallkugel schrieb:

    Funktionsaufruf:

    string s=unter100(wert);
    

    Die Funktion erwartet aber 2 Argumente:

    string unter100(unsigned long wert,bool eins)
    

    EDIT: Hmpf, zu langsam...



  • was genau muss ich ändert

    Diese Fehlermeldung erscheint:
    --> C:\Users\??????\Desktop\test.cpp In function `std::string unter100(long unsigned int)':



  • s vielleicht...

    string unter100(unsigned long wert,bool eins) 
    { 
    
      if(wert<20) 
        return(unter20(wert,eins)); 
    
      if(wert%10) 
        return(unter20(wert%10,false)+"und"+zehner(wert)); 
      else 
        return(zehner(wert)); 
    } 
    
    //******************************************************* 
    
    string toWord(unsigned long wert) 
    { 
      if(wert==0) 
        return("Null"); 
    
      string s=unter100(wert,eins); 
      s[0]=toupper(s[0]); 
      return(s); 
    }
    


  • 😞 😞
    Du hast jetzt mindestens 1/2 Jahr diesen Kurs (angenommen du bist WIntersemester-Starter, Schüler wäre ja schon fast 3/4 Jahr...), da solltest du das selber sehen. Es stehen die Zeilen direkt übereinander, da sollte man den Fehler sehen.

    Außerdem ist das was du gepostet hast nicht die ganze Fehlermeldung. Das entscheidende hast du nicht gepostet.



  • string unter100(unsigned long wert,bool eins) // hier etwas löschen
    {
    
      if(wert<20)
        [b]return(unter20(wert,eins)); // hier etwas ersetzen
    
      if(wert%10)
        return(unter20(wert%10,false)+"und"+zehner(wert));
      else
        return(zehner(wert));
    }
    

    beschäftige dich mit variablen und argumente der funktionen. nur 2 seiten tutorial - und du hast den code



  • ich habe noch den strings=""; hinzugefügt

    Fehlermeldung: C:\Users\???\Desktop\test.cpp In function `std::string toWord(long unsigned int)':

    und

    C:\Users\???\Desktop\test.cpp `eins' undeclared (first use this function)

    mehr steht nicht sry

    //******************************************************* 
    
    string unter100(unsigned long wert,bool eins) 
    { 
      string s="";
      if(wert<20) 
        return(unter20(wert,eins)); 
    
      if(wert%10) 
        return(unter20(wert%10,false)+"und"+zehner(wert)); 
      else 
        return(zehner(wert)); 
    } 
    
    //******************************************************* 
    
    string toWord(unsigned long wert) 
    { 
      if(wert==0) 
        return("Null"); 
    
      string s=unter100(wert,eins); 
      s[0]=toupper(s[0]); 
      return(s); 
    } 
    
    //*******************************************************
    


  • Was muss ich den löschen und was ersetzen ich habe jetz video2brain geschaut über strings ... ich weiss nicht was ich löschen soll und was ersetzen. bitte hilft mir.



  • nami22 schrieb:

    Fehlermeldung: C:\Users\???\Desktop\test.cpp In function `std::string toWord(long unsigned int)':

    und

    C:\Users\???\Desktop\test.cpp `eins' undeclared (first use this function)

    Was heißt das? Er kennt keine Variable namens "eins". Wie denn auch, hast sie nirgends erstellt.
    Die Funktion erwartet einfach einen zweiten Parameter vom Typ bool. Frag deine Spickerseite, wo du den Quelltext her hast, was damit bezweckt werden soll, wenn du aus dem Code selbe nicht schlau wirst.

    Und das Problem sind nicht Strings sondern Verwendung von Funktionen!



  • nami22 schrieb:

    versteh es nicht falsch aber ich kann mich n niemanden wenden ausser an dieses forum wass soll ich alleine machen ich suche im internet doch ne 1:1 lösung findet man nicht. Ich brauche nur tipps wiso das es nicht geht mit diesem CODE

    Ich versteh "ES" schon richtig. Du tust alles um dir selbst keine Gedanken machen zu müssen. Es gibt schon noch jemanden, außer diesem Forum, an den du dich wenden kannst und das ist das komische Gebilde wenige Zentimeter über deinen Schultern (recht mittig vermutlich). 😉

    Da fällt mir die Ansprache eines Mathe-Professors aus dem 1. Semester ein, als seine Mitarbeiter merkten, dass doch viele Übungsblätter einfach abgeschrieben wurden. Er meinte zu uns: Die Zeit, die wir benötigen um 5-6 Aufgaben abzuschreiben, sollten wir doch lieber dafür verwenden eine oder eine Teilaufgabe selbst zu lösen. Da hätten wir mehr davon. Und Recht hatte er, denn gegen Ende des Semsters konnte man als Abschreiber noch nicht einmal die Symbole zusammenfrickeln, wenn die Vorlage unsauber geschrieben wurde, geschweige den eine Klausur anstreben. Und dass obwohl man offiziell alle Aufgaben wunderbar bearbeitet und gelöst hat.

    Du hast bist Montag Zeit und die Aufgabe ist kinderleicht. Ich würde es mir überlegen. Bei der nächsten Aufgabe könntest du dir dieses Theater bereits sparen ... 😉

    Macht doch auch keinen Spass im Trüben zu fischen, was?

    P.S.: Langsam glaube ich, dass hier irgendwelche Spinner so eine Art Turing-Test durchziehen. 😃



  • Ja ich habe bis am Montag zeit 3 Programm habe ich schon geschrieben.
    Wenn ihr wollt köönt ihr diese gerne sehen. Ich habe einfach müne mit strings.
    darum komme ich hier nicht recht weiter. kann mir niemand genau sagen was icändern muss. Währe echt nett.

    mfg



  • Ich weiss NICHT wie ich es korrigieren soll. Den fehler weiss ich ja. Wenn ich wüste was tun würde ich hier nicht schreiben. Ich brauche hilfe für das schreibe ich hier rein auch ihr habt klien angefangen und seit sicher in vielen sachen klemmen geblieben und genau in dieses Situatuion stehe ich.

    DARUM BRAUCHE ICH HILFE. keine ahnung was daran so schlimm ist.
    1 richtige antwort und es wäre fertig.



  • nami22 schrieb:

    Wenn ihr wollt köönt ihr diese gerne sehen.

    Ich will, dann sag ich dir auch was du ändern musst (vielleicht).



  • oke gib mir deine e-mil adresse dan schik ichs dir oke will nicht den code hier rein schreiben oder doch egal wie du wilst. 1 habe ich hier die anderen 2 in der schule aber wen du alles sehen willst dan --> E-MAIL



  • du muss gar nichts mit strings.

    das ist schon richtig string s=unter100(wert);

    ich meine nur dass du die 2 zeilen hier noch ändern sollst

    string unter100(unsigned long wert,bool eins) // hier etwas löschen
    {
    
      if(wert<20)
        [b]return(unter20(wert,eins)); // hier etwas ersetzen
    
      if(wert%10)
        return(unter20(wert%10,false)+"und"+zehner(wert));
      else
        return(zehner(wert));
    }
    

    durch true oder 1 muss du ersetzen.

    und das reicht aus wenn du über die funktionen liest oder im video2brain über funktionen anguckst. was ist ein argument und was erwartet es so alles? viertel stunde zeit nehmen zum verstehen von funktionen und es ist gelöst



  • kannst du bitte bitte reinschreiben wie du es machen würdest was durch true ersetzen was löschen. PLS PLS

    mfg



  • DANKE VIEL MAL VIEL VIEL MAL ICH KONNTE ES LÖSEN ICH SCHULDE DIR WAS

    MFG NAMI



  • [Edit] Ich kann jetzt schon das Edit-Label benutzen, weil ich mich dermaßen über solche User wie nami22 aufrege, dass ich etwas sehr Unfreundliches loslasse, das ich danach wegeditieren werde, weil dann wieder irgendwelche Ritter der Gerechtigkeit auf mich stürmen.



  • kein kOMMENTARFÜR DEIN [edit]

    VIELEN DANK FÜR DIE HILFE


Anmelden zum Antworten