Kalender

  • C++

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hi Leute,

    habe eine Frage bezüglicher einer Aufgabe die wir in der Berufsschule bekommen haben.
    Wir sollen einen Kalender programmieren, der bei Eingabe eines Monat ein Kalenderblatt ausgibt.

    Apr Mo Di Mi Do Fr Sa So
    ----------------------------------
    ! 1 2 3 4 5 6 7
    ! 8 9 10 11 12 13 14
    !15 16 17 18 19 20 21
    !22 23 24 25 26 27 28
    !29 30

    hoffe man kann es dann noch erkennen, also so soll es aussehen, weiß nicht ob es von den Tagen auf 2005 passt, aber sowas soll bei rauskommen.

    Wie würdet ihr es realisieren.


    Danke schon mal für die zerbrochenen Köpfe

    gruß

    mah_xxl
  • Kommt drauf an, was ich alles benutzen darf.
    Es gibt mehrere fertige Kalender-Klassen, die einem alles nötige abnehmen.
    Ohne diese Klassen bleiben die Funktionen in der time.h. Die sind nicht ganz so beqeuem, reichen aber auch.

    1. Schritt: Eingaben erledigen (welcher Monat, welches Jahr) und diese auf Plausibilität prüfen (Monat < 1 oder > 12).

    2. Schritt: bestimmen, auf welchen Wochentag der erste Tag des Monats fällt (Montag oder Dienstag oder ...). Hier brauchst du die time.h Funktionen, zum Beispiel localtime.

    3. Schritt: Überschrift ausgeben (mit Montag und den Wochentagen)

    4. Schritt: in einer Schleife die Zahlen von 1 bis ?? ausgeben (für die Anzahl Tage im Monat am besten ein Feld anlegen). Hinter Sonntag jeweils einen Zeilenumbruch ausgeben. Bei der ersten Zeile entsprechend dem ersten Tag einrücken.

    Grüße
    Michael
  • schau dir mal das hier an, dass sollte dir einen einstieg geben:

    h**p://www.cplusplus.com/ref/ctime/
    h**p://www.cplusplus.com/ref/ctime/asctime.html
    h**p://www.cplusplus.com/ref/ctime/localtime.html

    gruß,
    fxpler
  • hmm
    also die links helfen mir da nicht gerade so, weiß jetzt nicht was mir die strings helfen, um zu bestimmen, was der erste tag zum beispiel im monat mai ist und was es für ein wochentag ist.

    weitere problem ist auch noch die zuordnung von tagen zu monaten
  • wieso soll dir das nicht helfen? du holst die das aktuelle datum und rechnest dann z.B. die tage hoch zu dem datum was du willst. dafür muß zwar immer deine systemzeit stimmt, aber es ist ein einfacher.
    es führen aber sicher noch mehrere wege nach rom! :D
  • dann muß dein algorithmus halt anstatt hoch, runter zählen. einfach umgekehrt ;)

    vielleicht schreib ich da mal schnell was wenn ich die zeit dazu finde und poste es dann hier, versprechen kann ich dir aber nichts.
  • also einmal zum hoch zählen ein teil in den than-part der if-anwisung und ein teil in den else-part.

    aber ich kann mir das nicht so richitg vorstellen sagen wir wir wollen den mai von 1800 haben, meinst nicht das es sehr lange dauert, bis er tag für tag bis zum ersten märz 1800 runtergezählt hat?
  • soetwas sollte wohl in unter einer sekunde geschehen sein. mach doch einfach mal eine schleife mit einem zähler der sich inkrementiert und nach einer sekunde den zählerstand ausgibt, dann weißt du ungefähr wie schnell solche anweisungen von statten gehen.
  • ok da ich mit der aktuellen systemzeit es nicht hinbekommen habe, oder ehr nicht wußte wie habe ich es anders realisiert, wenn das programm fertig ist, kann ich es hier ja posten oder lieber auf anfrage verschicken.

    das programm ist fertig, danke für die hilfe von allen, ahbe es zwar komplett anders gemacht, aber wir sind ja zum lernen da *g*

    werde die tage evtl ein strucktogramm für alle fertig haben, wer will soll sich melden.

    mfg

    mah_xxl