Autor | Nachricht |
---|---|
Beobachter Anmeldedatum: 22.05.2021 Beiträge: 1 | zitieren Hallo Liebe Leute, Ich habe hier ein Programm, das einen Urlaubsplaner für 500 Mitarbeiter darstellt. Wie kann ich eine Instanz auftstellen, in der Mitarbeiter hinzugefügt, gelöscht und verwaltet werden können? Außerdem sind Tipps zur Umsetzung von objektoriert notwenig. Also ich brauche ich konkrete Tipps wie ich das Programm objektorientier umsetzen kann. Das Programm ist zur Verwaltung des Urlaubs von Mitarbeiter Jeder/jede Mitarbeiter/Mitarbeiterin hat 30 Tage. Mitarbeiter, die zum 01.01. des laufenden Kalenderjahrs das 50 Lebensjahr bereits vollendet haben, erhalten 32 Tage Urlaub. Von jedem Mitarbeiter wird gespeichert: Name Vorname Geburtsdatum genommener Urlaub Bei Programmstart ist die „Datenbank“ der Urlaubsverwaltung leer, die Daten müssen erst eingegeben werden. Die Daten müssen nur während der Laufzeit verfügbar sein (keine permanente Speicherung nötig!). Aufgabe: Das Programm muss folgendes leisten: Verwaltung von maximal 500 Mitarbeiter Anlegen und Löschen eines Mitarbeiters Eingabe der Tage, wenn der Mitarbeiter Urlaub nehmen möchte (muss mehrfach möglich sein) Suche eines Mitarbeiters mit Ausgabe seiner Daten und wie viel Resturlaub er noch hat Auflistung aller gespeicherten Mitarbeiterdaten PROGRAMM: #include <iostream> #include <cstdlib> using namespace std; struct Datum { ''''unsigned int Tag, Monat, Jahr; }; class Mitarbeiter { private: string vorname; string name; Datum geburtsdatum; int mitarbeiter[500]; int genommener_Urlaub; int resturlaub; int urlaubsanspruch; public: Mitarbeiter() {}; void datenErfassen(); void datenAusgeben(); void datenLoeschen(); void urlaubNehmen(); void mitarbeiterAuflisten(); Mitarbeiter(string name, string vorname, Datum geburtsdatum); void Mitarbeiterurlaubsanspruch(int); }; void Mitarbeiter::datenErfassen() { ''''cout << "--Datenerfassung--" << endl; ''''cout << "Vorname: "; ''''cin >> vorname; ''''cout << "Nachname: "; ''''cin >> name; ''''cout << "Geburtsdatum: "; ''''cin >> geburtsdatum; ''''cout << "Genommener Urlaub: "; ''''cin >> genommener_Urlaub; ''''cout << "Resturlaub: "; ''''cin >> resturlaub; } void Mitarbeiter::datenAusgeben() { cout << vorname << " " << vorname << endl; cout << name << " " << name << endl; } void Mitarbeiter::datenLoeschen() { Mitarbeiter::~mitarbeiter(void) {} } //Definition der Methode zur Ermittlung des heutigen Datums int Mitarbeiter::datum(int eingabe) ''''cout << "Geben Sie Bitte das heutige Datum ein:" << endl; ''''cout << "Datum: "; cin >> datum; //Tag des aktuellen Datums ''''cout << "Das heutige Datum lautet: " << datum <<; ''''cout << endl; return (0); // Definition der Methode Mitarbeitergeburtstag int Mitarbeiter::geburtsdatum(int eingabe) ''''cout << "Geben Sie hier das Geburtsdatum des Mitarbeiters ein:" << endl; ''''cout << "Datum: "; cin >> geburtsdatum; ''''<< endl; ''''return (0); } ''''//If-else Schleife zur Berechung der freien Urlaubstage ''''int Mitarbeiter::urlaubsanspruch(int) 78 [Error] no 'int ''''Mitarbeiter::urlaubsanspruch(int)' member function declared in class 'Mitarbeiter' ''''{ ''''if ''''(geburtsdatum<(h_jahr-50)) //Die If Anweisung bestimmt, ob das alter kleiner ist ''''das Darum vor 50 Jahre { ''''urlaubsanspruch=32; // u_anspruch wird der Wert 32 zugewiesen ''''cout << "Urlaubsanspruch:" << urlaubsanspruch << "Tage" <<endl; ''''} ''''else ''''{ urlaubsanspruch=30; // Fall wahr dann wird urlaubs_anspruch der Wert 30 ''''zugewiesen ''''cout << "Urlaubsanspruch:" << urlaubsanspruch << "Tage" <<endl; } ''''return(0); } ''''//Definition der Resturlaubstage des Mitarbeiter ''''Mitarbeiter::resturlaub(int eingabe) ''''{ ''''cout << endl; ''''cout << "Geben Sie hier die Anzahl in Anspruch genommenen Urlaubstage ein: " ; ''''cin >> urlaubstage; //Eingabe der in Anspruch genommenen Urlaubstage ''''u_rest = urlaubsanspruch - urlaubstage; //Berechnet die restilchen Urlaubstage ''''cout << "Sie haben noch " << resturlaub << " Tage Urlaub." << endl; ''''return (0); } //Definition der Methode die einen Mitarbeiter anhand der in Anspurch genommenen Urlaubstage ausgibt void mitarbeiter::mitarbeiter (void) { ''''cout << endl; ''''cout << "Mitarbeiterdaten: "<<endl; ''''cout << "Name: " << m_name <<endl; ''''cout << "Vorname: " << m_vorname <<endl; ''''cout << "Geburtsdatum: " << m_geb_tag <<"." << m_geb_monat <<"." << ''''m_geb_jahr<<endl; ''''cout << "Urlaubsanspruch: " << u_anspruch << endl; ''''cout << ": " << u_rest << endl; } int main () { int wert_h = 0; int wert_g = 0; int eingabe = 0; int tag = 0; int rest = 0; int i = 0; urlaub mitarbeiter[500]; mitarbeiter[500].datum(); do { ''''cout << endl; ''''cout << "Hallo beim Mitarbeiterverwaltungssystem 2006!" <<endl; ''''cout << "---------------------------------------------" <<endl; ''''cout << "Das Programmmenue:" <<endl; ''''cout << "1 = Legen Sie einen Mitarbeiter an:" << endl; ''''cout << "2 = Geben Sie einen Mitarbeiter aus:" <<endl; ''''cout << "3 = Löschen Sie einen Mitarbeiter: " << endl; ''''cout << "4 = Möchten Sie das Programm beenden?:" << endl; ''''cout << "Ihre Auswahl:"; ''''cin >> eingabe; switch(eingabe) { ''''case 1: i = i + 1; ''''mitarbeiter[500].datenErfassen(); ''''mitarbeiter[500].datenAusgabe(); ''''cout <<endl; case 3: ''''mitarbeiter[500].datenLoeschen(tag); break; }; } while (eingabe != 4); ''''cout << "Vielen Dank, dass Sie das Program genutzt haben!" <<endl; ''''cout << "Bis zum nächsten mal." << endl; system("pause"); }[cpp] } |
▲ | pn |
Junior Name: Voller Name als Anagramm: Fitje Weshoms Geschlecht: ![]() Fahrzeug: Yamaha YZF R6 Thundercat Anmeldedatum: 15.07.2012 Beiträge: 92 Wohnort: Amberg, Oberpfalz | zitieren Hallo JJcrazy23! 'Ich habe dein Programm auf gcc portiert um es angenehmer bearbeiten zu können. Dazu habe ich den source-Code aufgeteilt. Zuerst mal vacance.h
Die Initialisierung für struct wurde mit 'new' vorgenommen. Muss dann im Destruktor mit delete wieder gelöscht werden. So kann auch leichter ein Mitarbeiter per Schleife gelöscht oder geändert werden. Zu Testzwecken wurde die Anzahl der Mitarbeiter auf 20 begrenzt, Ich gebe ja nicht zum Test gleich 500 Mitarbeiter ein. Bei return und exit gibt es einen Unterschied: Nun vacance.cpp:
Bei komplexeren Codes kann es durch "using namespace std;" zu Fehlern kommen, daher die Verwendung von std:: nun die main.cpp:
Ich habe die Variable eingabe zur Wahl des Menuepunktes auf 21 gesetzt, um eine Endlosschleife bei fehlerhafter Eingabe zu vermeiden. Um einfache später die Menuepunkte zu erweitern wurde das Beenden des Programms auf 0 gesetzt. Dazu verwende ich menuefrage.h
und menuefrage.cpp
Hier wird der Rückgabewert der Funktion mit 21 initialisiert. So wird bei einer fehlerhaften Eingabe keine Endlosschleife erzeugt. 2x bearbeitet |
▲ | pn |
Gast | zitieren Mach mit!Wenn Dir die Beiträge zum Thread "C++ Programm über Urlaubsverwaltung" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:Registrierte Mitglieder genießen die folgenden Vorteile: ✔ kostenlose Mitgliedschaft ✔ keine Werbung ✔ direkter Austausch mit Gleichgesinnten ✔ neue Fragen stellen oder Diskussionen starten ✔ schnelle Hilfe bei Problemen ✔ Bilder und Videos hochladen ✔ und vieles mehr... |
▲ | |
Ähnliche Beiträge | Re: √ | Letzter Beitrag | |
---|---|---|---|
MP3 programm Hi ich suche ein einfaches programm womit ich meine mucke von CDs und co. in MP3s umwandeln kann. ( es sollte auch gratis sein )
Habe schon gegoogelt aber da komme ich nur zu progr. zu testen die nach ner bestimmten zeit... von A.D. | 2 258 | 16.05.2009, 14:29 Der_Ronny | |
c programm Ich habe mal einen struct für das protokoll geschrieben
struct header{ uint8_t reserved; uint8_t ack; uint8_t get; uint8_t set; uint8_t delete; uint16_t key_len; uint32_t value_len; uint8_t * key; uint8_t * value;
};
Meine jetzige Aufgabe lautet:
Sie... [C]von eee | 0 249 | 12.12.2020, 20:02 ![]() eee | |
C++ Programm für Pi Hi,
ich bin noch ein ziemlicher Anfänger und habe mal ein Programm geschrieben um Pi annäherungsweise ausrechnen zu können... allerdings zeigt der mir immer nur 3 als ergebnis an, obwohl ich folgendes programm habe:
// Pi.cpp:... [C++]von CrossX | 3 2.304 | 28.06.2013, 17:52 ![]() Guiseppe | |
Hilfe bei C Programm Hallo!
Ich habe ein großes Problem. Ich sollte für die Schule ein C Programm schreiben, habe aber keine Ahnung wie das geht und bin maßlos überfordert.
Bsp.: Der 8bit AD-Wandler eines Mikrocontrollers ist mit der Funktion ad_8 aufzurufen. Als... [C]von Stockix | 0 348 | 05.05.2012, 07:30 ![]() Stockix | |
Decodierungs-Programm Hallo!
Ich habe Probleme mit einem Programm, welches Zeichen, die in einem char array gespeichert sind, decodieren und ausgeben soll.
Decodiert soll so werden, dass jedes Zeichen durch jenes ersetzt wird, dessen ascii Code um 1 kleiner ist als das... [C]von Apeiron | 2 472 | 12.03.2020, 16:13 ![]() steinsgate | |
Powerpoint programm?????? Hi Leute brauch eure hilfe ich will eine powerpoint präsentation machen aber mir fehlt das programm
kennt von euch wer eins das kostenlos ist
Ich verzweifle noch... von Manu_Prelude | 2 396 | 09.01.2008, 16:50 Jonas | back in white | |
Nonogram Programm Hi!
Bin gerade leicht am verzweifeln. Nämlich müssen wir ein Nonogram programmieren und ich habe keine Ahnung noch einen Ansatz wie. Könnte mir da jemand helfen?
Folgender Code wurde uns gegeben:
Da ich noch neu im programmieren bin, weiss ich nicht... [C++]von MadelineMiller | 0 451 | 06.05.2020, 12:54 ![]() MadelineMiller | |
Ton in Programm einbinden Hey,
ich lerne gerade ganz frisch bei mir an der Uni das Programmieren mit C mit dem Programm JFE. Ich weiß nicht ob das ein gutes Programm ist oder so, für den Anfang reicht es jedenfalls.
Ich hab aus Spaß mal angefangen ein Text-Adventure zu... [C]von René Pixelburg | 1 408 | 29.11.2011, 16:10 ![]() CppCoder | |
Programm für Diplomarbeit Hallo an Alle User!
Ich habe eine wissenschaftliche Untersuchung entwickelt und benötige in diesem Zusammenhang ein Computerprogramm. Wie das so ist, wenn sich jemand Fachfremdes etwas derartiges ausdenkt, habe ich zwar eine genaue Vorstellung davon... [Allgemein]von tinamo | 1 535 | 09.08.2010, 05:43 ![]() triple81 | |
Hilfe bei c-Programm Hallo,
habe hier ein riesiges problem an dem ich schon wieder verzweifele
Habe folgende Aufgabe:
Aufgabe 4.3 (*) (arrays, call by reference)
Schreiben Sie ein Programm, das in einen Vektor V1 der Länge 10 Integer-Werte von der Konsole einliest.... [C]von Daniela1987 | 2 428 | 18.01.2012, 16:54 ![]() Daniela1987 |