inital commit, adding all school projects

This commit is contained in:
2026-04-09 06:47:58 +02:00
commit 4175258de7
185 changed files with 6947 additions and 0 deletions

79
Parkautomat/main.cpp Normal file
View File

@@ -0,0 +1,79 @@
#include <iostream>
#include <limits> // für numeric_limits
#include <iomanip> // für fixed und setprecision
#include <windows.h>
double berechneKosten(int stunden) {
double kosten = 0.0;
switch (stunden) {
case 1:
kosten = 3.00;
break;
case 2:
kosten = 3.00 + 2.50; // 5,50 €
break;
case 3:
kosten = 3.00 + 2.50 + 2.00; // 7,50 €
break;
default:
if (stunden >= 4) {
kosten = 3.00 + 2.50 + 2.00; // erste 3 Stunden = 7,50 €
kosten += (stunden - 3) * 1.00; // ab 4. Stunde je 1,00 €
} else {
// Für 0 oder negative Werte: 0 € (wird aber in der Eingabe schon abgefangen)
kosten = 0.0;
}
break;
}
return kosten;
}
int main() {
SetConsoleOutputCP(CP_UTF8);
std::cout << "=== Ticketautomat Parkhaus Stadt Nürnberg ===\n\n";
std::cout << "Tarife:\n"
<< " 1. Stunde: 3,00 €\n"
<< " 2. Stunde: 2,50 €\n"
<< " 3. Stunde: 2,00 €\n"
<< " ab 4. Stunde: jede weitere Stunde 1,00 €\n\n";
bool weiter = true;
while (weiter) {
int stunden = 0;
// Eingabe mit Validierung
while (true) {
std::cout << "Bitte geben Sie die gewünschte Parkdauer in vollen Stunden ein (1 - 24): ";
if (std::cin >> stunden && stunden >= 1 && stunden <= 24) {
break; // gültige Eingabe
} else {
std::cout << "Ungueltige Eingabe. Bitte eine ganze Zahl zwischen 1 und 24 eingeben.\n";
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
}
double kosten = berechneKosten(stunden);
std::cout << std::fixed << std::setprecision(2);
std::cout << "\n=== Zusammenfassung ===\n";
std::cout << "Gewaehlte Parkdauer: " << stunden << " Stunde(n)\n";
std::cout << "Gesamtkosten: " << kosten << "\n";
std::cout << "=======================\n\n";
char auswahl;
std::cout << "Moechten Sie ein weiteres Ticket berechnen? (j/n): ";
std::cin >> auswahl;
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
if (auswahl != 'j' && auswahl != 'J') {
weiter = false;
}
std::cout << "\n";
}
std::cout << "Vielen Dank! Gute Fahrt.\n";
return 0;
}