Just nu i M3-nätverket
Gå till innehåll
christian++

initialer

Rekommendera Poster

Hej. försöker skriva ett program som visar initialer. Det går ju lätt med ett för och ett efternamn men om man har flera namn, hur gör man då. skrev denna koden men den funkar inte. kan någon hjälpa mig?

#include <iostream>
#include <string>
using namespace std;

int main ()
{
    string str, str2;

    cout << "enter your name" << endl;
    getline(cin, str);

    int a;
    while (str.size() > a){
    if (str.at(a) == ' '){
    str2.append(str, str.at(a) +1, 1);
    }
    a++;
    }

    cout << str.at(0) << str2 << endl;


    return 0;
}

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Variabeln a verkar sakna ett startvärde.

Vad vill du ska bli resultatet för någon som heter Adam Bertil Davidsson?

Oftast med initialer vill man ju ha första bokstaven av tilltalsnamnet och första bokstaven av efternamnet.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Blir det inte så med din kod då?

Jag kan inte se att du har något annat stoppvillkor än slut på den inmatade strängen och det verkar som det är meningen att första bokstaven av alla ord ska sparas undan.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Jag kompilerar och provkör inte utan tänker.

 

Hur ser din kod ut när a har fått ett värde?

Vad blir resultatet för dig?

Du måste ha en specialbehandling av första bokstaven för det finns inget mellanrum innan första namnet.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...