Kapitel 2
Alle Codedateien dieses Kapitels herunterladen
02_6_1_HalloWelt.cpp
/*
* Lösung für Übung 2.6.1 - Mehrsprachiges Hello-World
*/
#include <iostream>
int main()
{
std::cout << "Hello World" << std::endl;
std::cout << "Hallo Welt" << std::endl;
std::cout << "Bonjour le monde" << std::endl;
std::cout << "Ciao, mondo" << std::endl;
return 0;
}
02_6_2_Papagei.cpp
/*
* Lösung für Übung 2.6.2 - Der Papagei
*/
#include <iostream>
#include <string>
int main()
{
std::cout << "Geben Sie Ihre Meinung ein und bestätigen "
<< "Sie mit der Entertaste: ";
std::string text;
std::getline(std::cin, text);
std::cout << "Ja, genau! " << text << std::endl;
return 0;
}
02_6_3_Ganzzahlen.cpp
/*
* Lösung für Übung 2.6.3 - Rechnen mit Ganzzahlen.
*
* Nach den ganzen Verrechnungen ist die Variable input
* wieder bei 5. Sehen Sie selbst:
*/
#include <iostream>
int main()
{
int input = 5;
input = input + 1;
std::cout << input << std::endl; // ergibt 6
input++;
std::cout << input << std::endl; // ergibt 7
input += 3;
std::cout << input << std::endl; // ergibt 10
input = input - 1;
std::cout << input << std::endl; // ergibt 9
input--;
std::cout << input << std::endl; // ergibt 8
input -= 3;
std::cout << input << std::endl; // ergibt 5
input = input * 3;
std::cout << input << std::endl; // ergibt 15
input /= 3;
std::cout << input << std::endl; // ergibt 5
return 0;
}
02_6_4_Fehler.cpp
/*
* Lösung für Übung 2.6.4 - Fehler im Code
*
* Den korrekten Code finden Sie unten. Die Fehler waren:
* - Eine schließende spitze Klammer fehlte
* - Der Einsprungspunkt (main) fehlte
* - Die Variable "text" hatte keinen Typ angegeben.
* - Der Zeilenumbruch direkt vor word.size ist technisch zwar
* in Ordnung, aber der Code ist lesbarer, wenn wir den
* Operator << auch noch in die nächste Zeile schreiben.
* Also eigentlich kein Fehler, ich habe es aber
* trotzdem korrigiert. Auch Verbesserungen in der Lesbarkeit
* sind berechtigte Code-Änderungen.
* - Die zwei Klammern () fehlten hinter word.size
* - Die Zeile int errorCode; errorCode = 2; funktioniert zwar
* (es ist tatsächlich erlaubt, mehrere Befehle mit Semikolon
* getrennt in eine Zeile zu schreiben), ist aber zumindest
* unschön. Daher habe ich das ebenfalls korrigiert.
* - Das Semikolon nach dem letzten Befehl fehlte
* - Das Programm beendet sich mit einem Fehlercode. Das mag
* aber beabsichtigt sein, daher habe ich das nicht korrigiert.
* Sollten Sie es allerdings zu 0 geändert haben, wäre das auch
* denkbar und nicht falsch. Immerhin ist das Programm ja
* eigentlich korrekt durchgelaufen.
*/
#include <iostream>
#include <string>
int main()
{
std::string word = "Willkommen";
std::cout << "Das Wort " << word << " hat "
<< word.size() << " Buchstaben " << std::endl;
int errorCode;
errorCode = 2;
// Eine alternative Korrektur der beiden obigen Zeilen
// wäre gewesen, sie zusammenzufassen:
// int errorCode = 2;
return errorCode;
}
02_6_5_Ausschnitte.cpp
/*
* Lösung für Übung 2.6.5 - Code-Ausschnitte
*
* Beim Ergänzen des Grundgerüstes dürfen Sie nicht die jeweils benötigten
* include-Befehle vergessen. Hier brauchen Sie zwei Stück - <iostream> für
* std::cout und <string> für std::string.
*/
#include <iostream>
#include <string>
int main()
{
std::cout << "Dies ist ein Ausschnitt." << std::endl;
std::cout << "Geben Sie einen Text ein: ";
std::string input;
std::getline(std::cin, input);
std::cout << "Danke. Die Eingabe war: " << input;
return 0;
}