Just nu i M3-nätverket
Jump to content

initialer


christian++
 Share

Recommended Posts

christian++

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;
}

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



×
×
  • Create New...