C++ :: Aufgabe #269 :: Lösung #1
 
                       
        1 Lösung
         
        
        
      
                
      #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ß
                                         
           
                     
        
           
           
        
           
        
        
        
        
        
        
        
        
        
      
           
    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
von JoeWhizer (120 Punkte)
         - 19.07.2020 um 10:28 Uhr
      #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
          
          
                 Seite 1 von 0
          
                 1
          
          
             
       
    
    
    
