Wochentag rausfinden



  • Hi,
    wir haben in der Schule folgende Aufgabe bekommen:

    Entwickeln sie ein strukturiertes und gut kommentiertes Programm für nachstehende Aufgabenstellung:

    Für das Jahr 2003 soll der Wochentag für ein einzugebendes Datum ermittelt und ausgegeben werden. Wiederholen sie den Vorgang solange, bis ein unzulässiges Datum eingegeben wird. Hinweis: Der 1.Januar 2003 war ein Mittwoch.

    Beachten sie dabei folgende Eckpunkte:

    1. Verwenden sie zur Lösung des Problems eine eigene Datenstruktur, wobei keine globalen Variablen verwendet werden dürfen.

    2.Verwenden sie vorwiegend Zeigervariablen.

    3.Implementieren sie 2 Unterprogramme(Eingabe des Datums , Berechnung und Ausgabe des Wochentages). Wählen sie hierzu entsprechende Parameterübergabeformen.

    Da ich absoluter Anfänger bin , habe ich keinen Schimmer wie ich dies realisieren soll!!!



  • hi,
    wir hatten auch mal folgende aufgabe bekommen:

    Schreiben Sie ein Programm zur Generierung von Lottoscheinen nach dem Muster
    6 aus 49. Das Programm ist menuegesteuert. Folgende Menuoptionen sollen
    realisiert werden:

    0 - Hilfetext
    1 - Lottozahlen eingeben (Lottozahlen eingeben und prüfen)
    2 - Lottozahlen generieren (Lottozahlen erzeugen)
    3 - Lottozahlen ausgeben (Lottozahlen ausgeben)
    4 - Trefferanzahl eingeben (Mindestanzahl "Richtige" eingeben)
    5 - Maximalanzahl Spiele eingeben (Maximalanzahl Spiele/Ziehungen bis Ende)
    6 - Spielen (Lottozahlen aus 1 oder 2 spielen)
    7 - Ende

    Hinweise zum Programmdesign:

    1.) Entwickeln Sie eine Klasse LottoTip die alle Funktionen eines Tipps 6 aus 49
    enthält. Beispielsweise mit folgenden Attributen und Methoden:
    - ein bool-Feld für die 49 möglichen Zahlen
    - eine Methode zur manuellen Eingabe der Zahlen
    - eine Methode zur Generierung der 6 Zahlen
    - eine Methode zur Ausgabe der Zahlen
    - eine Methode zum Vergleich zweier Tips, mit Rückgabewert Integer 0-6

    2.) Entwicklen Sie eine Klasse LottoSpielen, die alle Funktionen enthält um Ziehungen
    bis zu einem definierten Abbruchkriterium auszuführen. Die Ziehungen beziehen
    sich auf einen zuvor erstellten Tip (Prüfen!). Die Ziehungsdaten sind dynamisch
    zu erzeugen! Klassifizieren Sie jedes Spiel zwischen 0 und 6 Treffern.
    Kumulieren Sie die Spielergebenisse in einem Integer-Feld. Geben Sie das Ergebniss
    in Balkenform aus. #################### entspricht 100%, | entspricht weniger als 5%
    o entspricht weniger als 1% und : entspricht 0%.

    Ausgabebeispiel:
    0-################
    1-###
    2-|
    3-o
    4-:
    5-:
    6-:



  • Du kannst jedem Monat eine Zahl zuordnen. z.B. Montag - 0, Dienstag - 1, Mittwoch - 2, usw.
    Dann erstellst du ein Array, in dem gespeichert wird, wieviele Tage jeder Monat hat.
    int MTage[12]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }

    Dann berechnest du den Wochentag so:
    int t, i;

    t=0;
    for(i=0; i<(monat-1); i++) t+=MTage[i];
    t+=tag;
    t--;
    t+=2; // 2=Mittwoch, weil 1. Jan Mittwoch ist
    t%=7;
    switch(t) {
    case 0: printf("Montag"); break;
    case 1: printf("Dienstag"); break;
    case 2: printf("Mittwoch"); break;
    }



  • Hallo!

    Einen schoenen Gruss an deinen Lehrer,
    wo hat er seinen Job gelernt?

    Der 1.1.2003 ist der ddb (daemlichste denkbare Bezugspunkt)
    Wenn schon Unterprogramme dann drei (Eingabe, Berechnung, Ausgabe) aber man sich auch zu Tode unterprogrammieren.

    Aber wenn es denn sein muss schau mal hier: http://www.snippets.org/snippets/portable/DOW+C.php3
    Wenn du schon mal da bist schau dir fuer deine naechsten Aufgagen die übrigen Programme auch gleich an.



  • Original erstellt von barnie:
    **
    Der 1.1.2003 ist der ddb (daemlichste denkbare Bezugspunkt)
    **

    Ich nehme nicht an, dass du das begründen kannst.

    Es ist der einzig sinnvolle Bezugspunkt.



  • Original erstellt von DrZoidberg:
    **Ich nehme nicht an, dass du das begründen kannst.

    Es ist der einzig sinnvolle Bezugspunkt.**

    hihi, es gibt unendlich viele sinnvolle bezugspunkte.
    z.b. der 1.1.2001 war ein montag.



  • Natürlich könnte ich irgendeinen Bezugspunkt nehmen. z.B. der 24.12.1678. Das war ein Samstag.
    Aber es ist sinnvoller den 1. Jan 2003 zu nehmen, da 2003 das Jahr ist um das es geht.


Anmelden zum Antworten