Initial commit

This commit is contained in:
studavrije7683
2021-10-15 08:36:02 +02:00
commit d3138a4b13
89 changed files with 2898 additions and 0 deletions
@@ -0,0 +1,302 @@
#include <iostream>
#include <cstdlib>
using namespace std;
class Person {
private:
string vorname;
string name;
string strasse;
unsigned int hausnr;
string ort;
unsigned int plz;
public:
Person() {};
void datenErfassen();
void datenAusgeben();
};
void Person::datenErfassen()
{
cout << "--Datenerfassung--" << endl;
cout << "Vorname: ";
cin >> vorname;
cout << "Nachname: ";
cin >> name;
cout << "Strasse: ";
cin >> strasse;
cout << "Hausnummer: ";
cin >> hausnr;
cout << "PLZ: ";
cin >> plz;
cout << "Ort: ";
cin >> ort;
cout << endl << "Person erfasst." << endl;
}
void Person::datenAusgeben()
{
cout << vorname << " " << name << endl;
cout << strasse << " " << hausnr << endl;
cout << plz << " " << ort << endl;
}
class Buch{
private:
string titel;
string autor;
public:
Buch() {};
Buch(string t,string a) : titel(t), autor(a) {};
void datenAusgeben();
};
void Buch::datenAusgeben()
{
cout << titel << " (von " << autor << ")";
}
class Datum{
private:
short tag;
short monat;
unsigned int jahr;
public:
void datumErfassen();
void datenAusgeben();
void umEinenMonatErhoehen();
};
void Datum::datumErfassen()
{
cout << "Tag: ";
cin >> tag;
cout << "Monat: ";
cin >> monat;
cout << "Jahr: ";
cin >> jahr;
}
void Datum::datenAusgeben()
{
cout << tag << "." << monat << "." << jahr << endl;
}
void Datum::umEinenMonatErhoehen()
{
if(monat == 12)
{
jahr = jahr+1;
monat=(monat%12)+1;
}
else if(tag == 28 && monat == 2)
{
tag = 31;
monat+=1;
}
else if(tag <= 28)
{
monat+=1;
}
else if(tag > 28 && tag <= 31 && monat == 1)
{
tag = 28;
monat+=1;
}
else if(tag==31 && monat != 7)
{
switch (monat)
{
case 3:
case 5:
case 8:
case 10:
{
tag=30;
monat+=1;
break;
}
}
}
else if(tag==30)
{
switch (monat)
{
case 4:
case 6:
case 9:
case 11:
{
tag=31;
monat+=1;
break;
}
}
}
else
monat+=1;
}
class Ausleihe {
private:
Person ausleiher;
Buch ausgeliehenesBuch;
Datum rueckgabe;
bool hat_buch;
public:
Ausleihe() { hat_buch = false; };
void datenErfassen(Person,Buch,Datum);
void datenAusgeben();
void verlaengere();
void zurueckgeben();
bool get_hat_buch();
};
void Ausleihe::datenErfassen(Person p, Buch b, Datum d)
{
ausleiher = p;
ausgeliehenesBuch = b;
rueckgabe = d;
hat_buch = true;
}
void Ausleihe::datenAusgeben()
{
ausleiher.datenAusgeben();
cout << endl << "Ausgeliehenes Buch: ";
ausgeliehenesBuch.datenAusgeben();
cout << endl << "Rueckgabe bis: ";
rueckgabe.datenAusgeben();
}
void Ausleihe::verlaengere()
{
rueckgabe.umEinenMonatErhoehen();
cout << "Ausleihe um 1 Monat verlaengert." << endl;
}
void Ausleihe::zurueckgeben()
{
cout << "Buch ";
ausgeliehenesBuch.datenAusgeben();
cout << " wurde zuruckgegeben." << endl;
hat_buch = false;
}
bool Ausleihe::get_hat_buch()
{
return hat_buch;
}
int main()
{
Person p;
int auswahl;
Buch b[3] = {{"Titel 1", "Autor a"},{"Titel 2", "Autor b"},{"Titel 2", "Autor c"}};
Ausleihe a;
Datum d;
p.datenErfassen();
system("pause");
do
{
system("cls");
cout << "--MENUE--" << endl;
cout << "[1] Personendaten erfassen" << endl;
cout << "[2] Buch ausleihen" << endl;
cout << "[3] Ausleihe verlaengern" << endl;
cout << "[4] Daten ausgeben" << endl;
cout << "[5] Buch zurueckgeben" << endl;
cout << "[0] Beenden" << endl;
cout << endl << "Auswahl: ";
cin >> auswahl;
switch(auswahl)
{
case 1:
{
system("cls");
p.datenErfassen();
system("pause");
system("cls");
break;
}
case 2:
{
system("cls");
if(a.get_hat_buch() == true)
{
cout << "Ausleihe nicht moeglich. Person hat bereits ein Buch ausgeliehen" << endl;
}
else
{
cout << "Welches Buch soll ausgeliehen werden?" << endl;
for(int i=0;i<3;i++)
{
cout << "[" << i+1 << "] ";
b[i].datenAusgeben();
cout << endl;
}
cout << endl << "Auswahl: ";
cin >> auswahl;
system("cls");
cout << "Bis wann soll das Buch zurueckgegeben werden?" << endl;
d.datumErfassen();
a.datenErfassen(p,b[auswahl-1],d);
}
system("pause");
system("cls");
break;
}
case 3:
{
system("cls");
if(a.get_hat_buch() == true)
a.verlaengere();
else
cout << "Person hat kein Buch ausgeliehen." << endl;
system("pause");
system("cls");
break;
}
case 4:
{
system("cls");
if(a.get_hat_buch() == true)
a.datenAusgeben();
else
cout << "Person hat kein Buch ausgeliehen." << endl;
system("pause");
system("cls");
break;
}
case 5:
{
system("cls");
if(a.get_hat_buch() == true)
a.zurueckgeben();
else
cout << "Person hat kein Buch ausgeliehen." << endl;
system("pause");
system("cls");
break;
}
case 0:
{
cout << endl << "Auf Wiedersehen" << endl;
return 0;
}
default:
{
cout << endl << "Falsche Eingabe!" << endl;
system("pause");
}
}
}while(auswahl!=0);
return 0;
}
@@ -0,0 +1,154 @@
#include <iostream>
#include <string>
using namespace std;
class Tier // Klasse Tier
{
private:
// Tiereigenschaften
int Tiernummer;
string Art;
float Gewicht;
static float Gesamteinnahme;
float Tagespreis;
bool Bestand;
public:
// Methoden der Klasse
void TierAnlegen(void);
void TierAnzeigen(void);
void TierVerkaufen(void);
//getter
int get_Nr() { return Tiernummer; }
bool get_Bestand() { return Bestand; }
//setter
void set_Nr(int nr) { Tiernummer = nr; }
};
// Funktion zum Anlegen
void Tier::TierAnlegen(void)
{
cout << "Bitte geben Sie die Tierart ein: ";
cin >> Art;
cout << "Bitte geben Sie das Gewicht des Tieres an: ";
cin >> Gewicht;
Bestand = true; //Tier ist im Bestand
} ;
// Funktion um Daten anzuzeigen
void Tier::TierAnzeigen(void)
{
cout << "Tiernummer: " << Tiernummer << endl;
cout << "Tierart: " << Art << endl;
cout << "Gewicht: " << Gewicht << endl;
cout << "Noch im Bestand? (1 = ja, 0 = nein): " << Bestand << endl;
};
void Tier::TierVerkaufen()
{
cout << "Wie steht der Tagespreis?"<< endl;
cin >> Tagespreis;
Gesamteinnahme += Gesamteinnahme + (Gewicht*Tagespreis);
cout << "Gesamteinnahmen: " << Gesamteinnahme << endl;
Bestand = false;
cout << endl << endl;
};
float Tier::Gesamteinnahme = 0;
int main(void)
{
int s=0, eing, nr; // deklariert integer s auf null, wird für das menü werwendet
int i = 0;
Tier tiere[100] = Tier();
cout << "Herzlich willkommen bei der Bauernhofverwaltung" << endl << endl << "Bitte treffen Sie Ihre Auswahl im Menue..." << endl << endl << endl;
// While - Schleife die das Menü und Untermenüs enthält
while (s == 0) {
system("cls");
//Das Menue
cout << "[1] Tier anlegen" << endl;
cout << "[2] Tier anzeigen" << endl;
cout << "[3] Tier verkaufen" << endl;
cout << "[0] Beende" << endl<<endl;
cout << "Treffen Sie Ihre Auswahl: ";
cin >> eing;
//switch Abfrage lädt in die einzelnen Menüpunkte
switch(eing) {
case 1 : {
system("cls");
tiere[i].TierAnlegen(); // Funktion um ein Tier anzulegen
tiere[i].set_Nr(i);
cout << "Tier wurde angelegt: " << endl;
i++;
break;
}
case 2 : { //Funktion um alle Tiere auszugeben
system("cls");
for(int j = 0; j < i; j++)
tiere[j].TierAnzeigen();
break;
}
case 3 : { //Funktion um Tier zu verkaufen
system("cls");
cout << "Tiernummer eingeben: " << endl;
cin >> nr;
bool tmp = false;
for(int j = 0; j < i; j++)
{
if(tiere[j].get_Nr() == nr && tiere[j].get_Bestand() == 1)
{
tiere[j].TierVerkaufen();
tmp = true;
break;
}
else if (tiere[j].get_Nr() == nr && tiere[j].get_Bestand() == 0)
{
cout << "Tier mit der Nummer " << tiere[j].get_Nr() << " nicht im Bestand." << endl;
tmp = true;
break;
}
}
if(!tmp) //falls keine Tier gefunden wurde
cout << "Tier mit der Nummer " << nr << " nicht vorhanden." << endl;
break;
}
/* case 0 bricht Programm ab
da s gleich 1 gesetzt wird*/
case 0:
{
s = 1 ;
break;
}
/* default
bei anderen Eingaben bleibt Menü erhalten*/
default:
{
s = 0 ;
}
}
system(" pause");
};
};