C++ Quellcode zur Sitzung „Programmiersprachen“

// Entwicklungsumgebung (Integrated Dev. Env.)

// Bibliotheken
#include <iostream>
#include <random>

using namespace std;

// Geheimnisprinzip (Information Hiding)
class martialArtsFighter {

	// Öffentlich zugänglicher Teil der Klasse
public:
	// Schnittstellen
	void roundhouseKick() {

		cout << "Bäm!" << endl;
	}

	void oneEyedFistPunch() {

		cout << "Ough!" << endl;
	}

	void showBrainCount() {

		cout << "I've got " << brainCount << " brains" << "\n";
	}
	
	// Privater Teil der Klasse
private:
	int brainCount = 3;

};


// Hauptfunktion ("Highlander"-Prinzip)
void main() {

	// karateKid ist Instanz der Klasse / Blaupause "martialArtsFighter"
	martialArtsFighter karateKid;
	
	karateKid.oneEyedFistPunch();
	karateKid.roundhouseKick();
	karateKid.showBrainCount();


	cout << endl << endl << "*****";



	random_device rd;
	mt19937 gen(rd());
	uniform_int_distribution<> dist(1, 100);

	// Ausgabe auf Konsole
	cout << "*** Raten Sie eine Zahl zwischen 1 und 100 ***";
	cout << endl;

	// C++ ist eine compilierte Sprache (Software: Compiler)

	// Variable deklarieren
	// JS: var zufallsZahl;
	// JS ist eine dynamisch typisierte Prog.Sprache
	// C++: statisch typisierte Prog. Sprache
	
	// Datentypen:
	// bool -> Wahrheitswerte
	// char -> Zeichen
	// int -> ganze Zahlen
	// float -> Fließkommazahlen
	int zufallsZahl;
	
	// Variable initialisieren
	zufallsZahl = 23;

	zufallsZahl = dist(gen);

	bool erraten = false;

	int eingabeZahl = 0;
	
	// *** Ratespiel ***
	// Schleifenname (Bedingung) { Schleifenrumpf }
	while (!erraten) {

		cout << endl << "Ihre Zahl: ";
		cin >> eingabeZahl;

		// Überprüfen, ob eingegebener Wert gleich gesuchter Z.
		if (eingabeZahl == zufallsZahl) {
			
			cout << "Herzlichen Glueckwunsch!" << endl;
			erraten = true;
		}
		else if (eingabeZahl > zufallsZahl) {

			cout << "Ihre Zahl ist groesser" << endl;
		}
		else {

			cout << "Ihre Zahl ist kleiner" << endl;
		}
	}

	cout << endl << endl;
}

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.