mirror of
https://inf-git.fh-rosenheim.de/studavrije7683/cplusplus-training.git
synced 2025-04-20 02:59:55 +00:00
155 lines
3.1 KiB
C++
155 lines
3.1 KiB
C++
#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");
|
|
};
|
|
};
|
|
|