frage



  • cout << "schönen guten tach" << endl;

    wenn ihr diesen kleinen text durch compiler jagt könnt ihr euren namen rein schreiben und es wird euch gesagt wie lang er ist. bis dahin schön und gut aber jetzt meine frage. wenn ich max mustermann bin ist mein name 13 zeichen lang und nicht 14, also wie bekomme ich es hin das das leerzeichen zwischen max und mustermann vernachlässigt wird?

    #include <iostream>
    #include <conio>
    #include <string>

    using namespace std;
    int main()

    {
    string promt (" Wie lautet ihr Name: "),
    name,
    linie (40, '-'),
    gesamt = "Hallo ";

    cout << promt;
    getline (cin, name);

    gesamt = gesamt + name;

    cout << linie << endl << gesamt<< endl;

    cout << "Ihr Name ist "
    << name.length() << " Zeichen lang!" << endl;
    cout << linie << endl;

    getch();
    return 0;
    }

    besten dank schon mal im vorraus für eure antworten!!



  • Am einfachsten wohl so:

    int real_length = name.size();
    for(int i = 0; i < name.size(); ++i)
      if(name[i] == ' ')
        --real_length;
    
    cout << "Ihr Name ist " << real_length << " Zeichen lang." << endl;
    


  • Statt name.length () gehe mit einer Schleife durch den String, zähle mit und falls es ein ' ' ist, zähle nicht.



  • ähhmmm ja, könnt ihr das mal in meinen text kopieren so wie ihr es meint!1
    thx



  • Nö, ich code nicht für dich.



  • LOL, seits alle FAUL gö ? 😉
    Die habns da eh ur schön erklärt, was willst du noch?
    Was verstehst du nich?

    MFG


Anmelden zum Antworten