matthias6793 Geschrieben 2. Februar 2009 Geschrieben 2. Februar 2009 Hallo! Ich möchte gerne ein Programm in Visual C++ 2008 erstellen. Dieses Programm soll, wenn ich ein Datum ab 01.01.1901 eingebe, mir folgendes berechnen: die Anzahl der Tage, die seit diesem Datum vergangen sind (ink. Schaltjahr)den Wochentag dieses Datums Bitte um schnelle Hilfe!!! Mfg, matthias6793 Zitieren
Amstelchen Geschrieben 2. Februar 2009 Geschrieben 2. Februar 2009 und wie lauten deine überlegungen bis jetzt? soll heissen, es wird dir hier keiner eine fertige lösung präsentieren und du solltest schon ansatzweise zeigen, dass du wenigstens gewillt bist, dich selbst ein bisschen anzustrengen. "dringend", "schnell" und mehrfache ausrufezeichen machen das dann auch nimmer besser. s'Amstel Zitieren
matthias6793 Geschrieben 2. Februar 2009 Autor Geschrieben 2. Februar 2009 ^^ ich bin gewillt dieses Problem zu lösen doch fällt mir nichts wirklich produktives dazu ein! Also als erstes, hab ich mir gedacht, muss man eine if- Anweisung programmieren, damit man einmal überprüft, ob das Datum überhaupst in den gewünschten Zeitraum ist. Danach bräuchte man irgendein Schema, nachdem man jedes Datum einen Wochentag zuordnen kann und auch damit man berechnen kann, wie viele Tage vergangen sind. Bei Google habe ich schon ein paar Websites gesehen, die genau das machen. Doch irgendwelche mathematischen Gleichungen etc. fand ich nicht!!! Wäre mir schon eine sehr große Hilfe, wenn irgendjemand ein Schema wüsste, das die Bedingungen erfüllt!!! @ Amstelchen: Zufrieden? Mfg, matthias6793 Zitieren
Abd Sabour Geschrieben 2. Februar 2009 Geschrieben 2. Februar 2009 Hallo, in java gibt es - soweit ich weiß Methoden für diese Aufgabenstellungen - warum also gerade Visual C++ 2008? Handelt es sich etwa um eine Hausaufgabe ? MFG, AbdSabour Zitieren
unbenannt Geschrieben 2. Februar 2009 Geschrieben 2. Februar 2009 Also als erstes, hab ich mir gedacht, muss man eine if- Anweisung programmieren, damit man einmal überprüft, ob das Datum überhaupst in den gewünschten Zeitraum ist. Zuerst einmal solltest Du prüfen, ob die Eingabe überhaupt ein gültiges Datum darstellt, da sonst alles hinfällig ist. (Stichwort: Schaltjahre) Bei Google habe ich schon ein paar Websites gesehen, die genau das machen. Doch irgendwelche mathematischen Gleichungen etc. fand ich nicht!!! Wenn man nur fertigen Code sucht wird das auch nichts. Für die Wochentage sollte die Gaußsche Kalenderformel zum Erfolg führen. Zitieren
matthias6793 Geschrieben 2. Februar 2009 Autor Geschrieben 2. Februar 2009 Hallo, in java gibt es - soweit ich weiß Methoden für diese Aufgabenstellungen - warum also gerade Visual C++ 2008? Handelt es sich etwa um eine Hausaufgabe ? MFG, AbdSabour ja tut es. Doch ich programmiere erst seit kurzem und unser Informatik Lehrer übermittelt uns den Stoff nicht gerade sehr gut! Ich hoffe mir hilft trotzdem jemand...obwohl es eine Hausaufgabe ist! Mfg, matthias6793 Zitieren
Amstelchen Geschrieben 3. Februar 2009 Geschrieben 3. Februar 2009 @ Amstelchen: Zufrieden? es geht mir hier nicht darum, zufriedengestellt zu werden es geht darum, dass der ansatz der falsche ist. dein/euer lehrer stellt dir/euch eine aufgabe, die augenscheinlich eine stufe über dem liegt, was du/ihr in der schule lernt. möglicherweise ist das leichter gesagt als getan, aber versuch deinem lehrer zu vermitteln, dass das erklären von grundlagen und vermitteln von lösungsorientiertem denken dem sturen stellen von scheinbar unlösbaren aufgaben zu bevorzugen ist. solltest du im späteren berufsleben vorankommen wollen, wirst du nicht umhinkommen, selbst lösungen erarbeiten zu müssen. es wird früher oder später keiner hinter dir stehen und dir sagen: "schau, das machst du so"; du wirst - wie auch an deinem aktuellen beispiel ersichtlich - eventuell hören: "ich will dieses und dieses ergebnis, wie du dorthinkommst, ist mir egal". je früher man damit beginnt, sich gedanken darüber zu machen, desto leichter hat man es im endeffekt. s'Amstel Zitieren
Boro Geschrieben 3. Februar 2009 Geschrieben 3. Februar 2009 Hallo, hier ist ein kurzes Beispiel in VB.NET in dem der Wert in eine Date-Variable gecastet wird, vieleicht hilft das ja schon. Dim Datum As Date Datum = CDate(DasIstDieTextbox.Text) If Datum > "01.01.1901" Then MsgBox(DateDiff(DateInterval.Day, CDate("01.01.1901"), Datum)) MsgBox(Datum.DayOfWeek) End If Ansonsten hat Amstelchen Recht, selber denken macht schlau ;-) Schau dir mal die Funktion "datediff" in der VC++ - Onlinehilfe an, da sollte ein gutes Beispiel sein. Gruss Boro Zitieren
matthias6793 Geschrieben 3. Februar 2009 Autor Geschrieben 3. Februar 2009 möglicherweise ist das leichter gesagt als getan, aber versuch deinem lehrer zu vermitteln, dass das erklären von grundlagen und vermitteln von lösungsorientiertem denken dem sturen stellen von scheinbar unlösbaren aufgaben zu bevorzugen ist. Wir sind heute als geschlossene Klasse zu ihm gegangen und haben ihm gesagt, dass wir keine Ahnung haben, wie wir diese Aufgabe bewältigen sollen. Darauf meinte er nur, dass jeden, der dieses Beispiel nicht lösen kann, keinen Hausverstand hat und dass so etwas bereits Volksschüler ohne Probleme lösen können^^ Aber egal... Trotzdem Danke für die Hilfen!!! Und zu dem Thema selbstbefassen: Ich bin gestern ca. 3h vorm PC gesessen und habe Gleichungen gesucht, mit denen man den Wochentag berechnen kann (wie z.B: Gauschße Kalenderformel). Einen Anfang habe ich bereits gemacht und Rest werde ich so gut es geht fertigschreiben. Zitieren
Micha82 Geschrieben 4. Februar 2009 Geschrieben 4. Februar 2009 also ich würd es so machen (als ablauf...) 1. datum überprüfen 2. array anlegen mit den monaten: bsp. days[12]={31,0,31,30...}; 3. schleife zum zählen 3.1. überprüfe ob schlatjahr... wenn ja days[2]=29 wenn nein days[2]=28 3.2. zähle durch bis datum erreicht... zum überprüfen obs ein schlatjahr ist gibts genug berechnungsbeispiele... hoffe das hilft dir Zitieren
matthias6793 Geschrieben 4. Februar 2009 Autor Geschrieben 4. Februar 2009 also ich würd es so machen (als ablauf...) 1. datum überprüfen 2. array anlegen mit den monaten: bsp. days[12]={31,0,31,30...}; 3. schleife zum zählen 3.1. überprüfe ob schlatjahr... wenn ja days[2]=29 wenn nein days[2]=28 3.2. zähle durch bis datum erreicht... zum überprüfen obs ein schlatjahr ist gibts genug berechnungsbeispiele... hoffe das hilft dir hallo! Erstmals Danke für den Vorschlag! So ähnlich habe ich es bereits gemacht. Nur statt dem array hab ich eine for- Schleife angelegt, mit der ich mithilfe einer if- Anweisung die Monate überprüfe und dann automatisch die Tage des Monates dazu zähle! Mfg, matthias6793 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.