C++ :: Aufgabe #297

2 Lösungen Lösungen öffentlich

Wochentage einlesen und in einem Array ausgeben

Anfänger - C++ von Cara - 14.05.2020 um 23:46 Uhr
Schreiben Sie ein Programm, das die Wochentage in einliest und sie in
einem Array (vom Typ string [ ]) ablegt und danach ausgibt.

Lösungen:

vote_ok
von JKooP (18090 Punkte) - 05.06.2020 um 18:01 Uhr
Die Liste (Vector) 'v_wt_in' könnte auch über die Konsole befüllt/ergänzt werden!

Quellcode ausblenden C-Code
#include <algorithm>
#include <iostream>
#include <vector>
#include <string>
#include <map>

int main()
{
    std::map<std::string, std::string> wochentage
    {
        {"mo", "montag"}, {"di", "dienstag"}, {"mi", "mittwoch"}, {"do", "donnerstag"}, {"fr", "freitag"}, {"sa", "samstag"}, {"so", "sonntag"}
    };
	
	std::vector<std::string> v_wt_in{ "Mo", "DIE", "M", "Da", "freitag", "Sa", "Son", "mo", "FR", "s" };
	std::vector<std::string> v_wt_out;
	
    for(auto w : v_wt_in)
    {
	    std::string wt = "unbekannt";

    	if (w.length() > 1)
    	{
            w = w.substr(0, 2);
	        std::transform(w.begin(), w.end(), w.begin(), ::tolower);

    		if(wochentage.count(w) != 0)
				wt = wochentage.find(w)->second;
    	}

        v_wt_out.push_back(wt);
    }

    for (const auto& i : v_wt_out)
    {
        std::cout << i << std::endl;
    }
}
vote_ok
von basic (1310 Punkte) - 03.10.2020 um 22:54 Uhr
Quellcode ausblenden C-Code
#include <iostream>
#include <array>
#include <string>

using namespace std;

int main() {
	array<string, 7> wdays;

	cout << "Wochentage eingeben:\n";

	for(size_t i = 0; i < wdays.size(); ++i) {
		cout << "Wochentag " << i + 1 << ": ";
		cin >> wdays.at(i);
	}

	cout << "\nWochentage ausgeben:\n";

	for(size_t i = 0; i < 7; ++i) {
		cout << wdays.at(i) << "\n";
	}
}