Arbeitsplan (C++)

Tag an alle.
Ich möchte ein programm schreiben, welches einem sagt, an welchen tagen man am besten welche arbeiten erledigen sollen, angewandt auf jeden tag, eine genze woche und schließlich nen monat (also auf vier wochen).

dann gibt es da noch die einschränkung, dass man putzen nicht vor staubsaugen machen kann, und dass manches nur einmal pro woche oder so gemacht werden muss.

Die gesamte Zeit, die man täglich zur verfügung hat, beträgt 10 stunden, doch sollte man noch freizeit haben, also mindestens 4 stunden.

Das ist die Tabelle der Arbeiten.
Bei denen, vor denen buchstaben stehen, müssen in folge der buchstaben bzw der zahlen (sind zwei unterschiedliche abläufe) durchgeführt werden:

1. abstauben 2* pro Monat - ca. 30 minuten
2. staubsaugen 2* pro woche - ca. 30 minuten
3. putzen 1* pro Woche - ca. 30 minuten
fenster putzen 1* pro Monat - ca. 90 minuten
bäder reinigen 1* pro woche - ca. 60 minuten
A Wäsche waschen alle 2 tage - ca 30 minuten (die maschine läuft 70 minuten, also einräumen, sortieren = 15 minuten, nach 70 minuten ausräumen etc = 15 minuten)
B Bügeln 1* pro Woche - ca 60 minuten
Kochen täglich - ca. 30 minuten
gartenarbeit 3* pro woche - ca. 3 stunden
einkaufen 2* pro woche - ca. 120 minuten

und hier ist der code, den ich bis jetzt geschrieben habe. Aber weiter komme ich nicht. Kann mir da vielleicht jemand helfen?

#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <ctime>
using namespace std;



int main(int argc, char *argv[])
{
int Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag;
int Freizeit, Arbeitszeit;
int WocheA, WocheB, WocheC, WocheD;
int Monat;
int staubsaugen, putzen, fensterputzen, bäderreinigen, abstauben;
int wäschewaschena, bügeln, kochen, garten, einkaufen, wäschewaschenb, wäschewaschenc;
/* erstmal alles deklarieren */

Freizeit = 600;

Montag = Freizeit;
Dienstag = Freizeit;
Mittwoch = Freizeit;
Donnerstag = Freizeit;
Freitag = Freizeit;
Samstag = Freizeit;
Sonntag = Freizeit;

/* zeit eingeben */

staubsaugen = 30;
putzen = 30;
fensterputzen = 90;
bäderreinigen = 60;
abstauben = 30;
wäschewaschena = 15;
wäschewaschenb = 15;
wäschewaschenc = 70;
bügeln = 60;
kochen = 30;
garten = 180;
einkaufen = 120;


Danke, schonmal,
gruß, $0u1
 
Nunja, da sollten "if-Bäume" für Hilfe sorgen :)
Man _könnte_ Strukturen machen und jeder Aktion einen 'logischen' "Priorität-Wert" geben. Die if-Bäume prüfen jeweils das eines nach dem anderen (Verfügbare Zeit, benötigte Zeit, Priorität)
Eine Struktur oder sogar eine Klasse halte ich für das beste, da man viele, mehr oder weniger nützliche, Variablen haben kann (Wie oft schon gemacht/wie oft noch zu machen/Priorität/benötigte_Zeit/...) Klassen wären deswegen besser, da man Funktionen einbetten könnte, was das ganze etwas übersichtlicher/strukturierter/o.ä. macht.

Beispiel für eine _mögliche_ Struktur:
Code:
 struct action
{
char *name;
unsigned short gemacht, zuMachen, prioritaet, benZeit;
//...
};

Die Tage könntest du in einem enum zusammenfassen:
Code:
 enum tage {
MONTAG, DIENSTAG, MITTWOCH, DONNERSTAG, FREITAG, SAMSTAG, SONNTAG
};

Tipp am Rande:
Statt
Code:
int wäschewaschena, bügeln, kochen, garten, einkaufen, wäschewaschenb, wäschewaschenc;
folgendes:
Code:
int wäschewaschena, wäschewaschenb, wäschewaschenc, // ...;
 
Zurück
Oben