[C/C++] Prüfen wieviele Buchstaben ein Wort enthält!

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von RZAthaDZA, 22. April 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 22. April 2009
    Prüfen wieviele Buchstaben ein Wort enthält!

    hi!
    möchte gerne Prüfen lassen, wieviele buchstaben mein wort enthält das ist mein code

    cout<< "Please enter your first Name:" <<endl;
    cin>> name;
    if(.....

    jetzt bräucht ich unbedingt hilfe bei dem code wie ich die buchstaben zählen kann. Was für möglichkeiten bieten sich mir da!

    Kann mir bitte jemand helfen??
     
  2. 22. April 2009
    AW: HIIILFE bei C++ Prüfen wieviele Buchstaben ein Wort enthält!

    Wenn name vom Typ std::string: name.lenght().
    Wenn name vom Typ char[]/char*: strlen(name);
     
  3. 22. April 2009
    AW: Prüfen wieviele Buchstaben ein Wort enthält!

    also ich habs so verstanden dass du prüfen willst wieviele unterschiedliche buchstaben ein wort enthält?!

    du kannst nen string wie ein array durchlaufen ... beim durchlauf würd ich folgendes machen sofern dich mit dictionaries auskennst ...
    schmeiss einfach jeden gefundenen buchstaben in ein <String, Int> - Dictionary, ist der buchstabe bereits im dictionary drinnen zählst du den Int-Wert hoch, wenn nicht fügst du den Buchstaben ein und setzt den Int-Wert auf 1!!

    ansonsten ... einfach die interne length-methode verwenden, diese gibt dir aus wie lange ein string ist!
     
  4. 22. April 2009
    AW: Prüfen wieviele Buchstaben ein Wort enthält!

    Code:
    #define ANZAHL 100 // oder was auch immer!
    char eingabe[ANZAHL];
    char zeichen;
    int i=0;
    
    cout<< "Please enter your first Name:" <<endl;
     cin>> eingabe;
     
    // durch das Character-Array gehen.
    // Ein String hat am *Schluss* IMMER ein \0
    while( (zeichen=eingabe[i])!= "\0")
     i++;
    
    cout << "Amount characters: " << i;
    
    
    Ungetestet!
     
  5. 24. April 2009
    AW: Prüfen wieviele Buchstaben ein Wort enthält!


    Soltte funktioniern!
    Du kannst ja mal dein Programm ausschnitt zeigen dann können wir da mal deine Daten verwenden!

    Grüße
     
  6. 24. April 2009
    AW: Prüfen wieviele Buchstaben ein Wort enthält!

    So gehts natürlich auch, aber das ist zuviel Aufwand. In C++ nimmt man sowieso std::string und dann .length(), und in C nimmt man strlen() dafür.
     
  7. 25. April 2009
    AW: Prüfen wieviele Buchstaben ein Wort enthält!

    int Mystrlen (char *word[])
    {
    int i = 0;

    while(*word != '\0')
    {
    i++;
    }

    return i;
    }


    das habe ich ausprobiert, jedoch bekomme ich immer wieder eine fehlermeldung.
    ich habe in der main function

    *word=name;


    wieso klappt das nicht!?



    Ach ja... ich möchte mein eigenes strlen herstellen
     
  8. 25. April 2009
    AW: Prüfen wieviele Buchstaben ein Wort enthält!



    hier ein kleines Prog was funzt habs grad getestet:

    Spoiler
    Code:
    #include <iostream>
    
    using namespace std;
    
    int Mystrlen (char*);
    
    int main( )
    {
     char *test = "Test Text";
     cout << Mystrlen(test);
     
     return 0;
    }
    
    int Mystrlen (char *word)
    {
     int i = 0;
    
     while(word[i] != '\0')
     i++;
    
     return i;
    }

    EDIT:
    hab grad ein Problem bei dieser Methode festgestellt: will man eine eingabe aufnehemen mit cin, dann kann die zeichenfolge nicht über 16 zeichen lang sein.

    Lösung:
    speicherreservierung mit new:
    anstatt
    char* test schreibt man
    char* test=new char[256]
    oder halt auch char test[256]

    gibt bestimmt noch ne bessere lösung aber das fällt mir jetzt spontan ein..
    am besten wäre es natürlich du würdest eingebaute funktionen nutzen

    MFG
    xXsoureXx
     
  9. 30. April 2009
    AW: Prüfen wieviele Buchstaben ein Wort enthält!

    danke hat functioniert..weiß nicht genau wieso aber funzt jetzt!!!!
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.