C++ :: Aufgabe #269 :: Lösung #1

1 Lösung Lösung öffentlich
#269

Namen in Initialen umwandeln

Anfänger - C++ von JKooP - 29.03.2020 um 15:07 Uhr
Schreibe ein Programm, mit dem es möglich ist, einen beliebig langen Namen (Vorname(n), Nachname(n), Namenszusätze) als Initialen darzustellen.
Ebenfalls sollen durch Bindestrich getrennte Namen einbezogen werden.
Optional soll die Ausgabe sowohl mit Bindestrich als auch in Großbuchstaben erfolgen.

Beispiel:

Karl-Theodor Maria Nikolaus Johann Jacob Philipp Franz Joseph Sylvester Buhl-Freiherr von und zu Guttenberg

--> KTMNJJPFJSBFvuzG

Optional:

--> K-TMNJJPFJSB-FvuzG
--> KTMNJJPFJSBFVUZG oder K-TMNJJPFJSB-FVUZG

Viel Spaß
#1
vote_ok
von JoeWhizer (120 Punkte) - 19.07.2020 um 10:28 Uhr
Quellcode ausblenden C-Code
#include <iostream>
#include <vector>

void split_names(std::string name, std::vector<std::string> &names)
{
    std::string single_name = ""; 
    for (auto x : name) { 
        if (x == ' ' || x == '-') { 
            names.push_back(single_name);
            single_name = "";
        } else { 
            single_name = single_name + x; 
        }
    }
    names.push_back(single_name);
}

std::string get_initials(std::vector<std::string> &names)
{
    std::string initials;
    for (int i = 0; i < names.size(); i++) { 
        initials = initials + names[i][0];
    }
    return initials;
}

int main()
{
    std::string name;
    std::vector<std::string> names;

    std::cout << "Enter your name: ";
    std::getline(std::cin, name);

    split_names(name, names);

    std::cout << "Your initials: " << get_initials(names) << std::endl;
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1801128

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.