Monatslänge/ Schaltjahr (C++-Aufgaben zu "Bedingte Anweisungen") |
11.04.2013, 14:29 | Auf diesen Beitrag antworten » | ||||||||||
Dragon_Fighter | Monatslänge/ Schaltjahr (C++-Aufgaben zu "Bedingte Anweisungen") Meine Frage: Hey! (1) Schreiben Sie ein Programm monatslaenge, das den Anwender auffordert, eine ganze Zahl zwischen 1 und 12 einzugeben, und das dann angibt, wie viele Tage der entsprechende Monat hat. Hierbei soll die Zahl 1 für Januar mit 31 Tagen, die Zahl 2 für Februar mit 28 Tagen usw. stehen. Falls eine Zahl eingelesen wird, die keinem Monat entspricht, soll eine entsprechende Fehlermeldung ausgegeben werden. (2) Schreiben Sie ein Programm Schaltjahr, das eine Jaheszahl einliest und bestimmt, ob die eingegebene Jahreszahl zu einem Schaltjahr gehört. Hinweis: Zunächst sind alle durch 4 teilbaren Jahreszahlen Schaltjahre. Ausgenommen sind lediglich die Sekulärkjahre XX00, die nicht durch 400 teilbar sind: So war weder 1800 noch 1900 ein Schaltjahr, aber 2000 schon. Meine Ideen: Hier meine Versuche: Zu (i) mit switch:
Bei mir funktioniert das. Zu (ii):
Auch das ist m.E. so in Ordnung. Dennoch hätte ich gerne zu (i) und (ii) Eure Meinung, da ich noch Anfänger bin und mich daher nicht so auf meine Meinung verlassen möchte. Sehr viele Grüße Dragon_Fighter |
||||||||||
|
|||||||||||
11.04.2013, 16:09 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Das sieht doch beides ganz vernünftig aus! 1. Könnte man auch mit einem array machen (falls ihr die schon behaldelt habt) 2.:
das ist redundant: wenn ein Jahr Vielfaches von 400 ist, so ist es auch Vielfaches von 100, das jahr%100 kannst du dir also sparen.
|
||||||||||
11.04.2013, 16:12 | Auf diesen Beitrag antworten » | ||||||||||
Dragon_Fighter | Hallo! Danke, das mit dem Array muss ich noch nach hinten schieben, das hatten wir noch nicht behandelt. Und zu der zweiten Anmerkung von Dir: Da habe ich wohl Tomaten vor den Augen gehabt. Aber vielleicht lasse ich die auch stehen, weil es (für mich) dann inhaltlich klarer ist. |
||||||||||
11.04.2013, 17:57 | Auf diesen Beitrag antworten » | ||||||||||
Airblader* | Ich würde beim switch/case nicht alles ausgeben, sondern nur die Anzahl der Tage in eine Variable schreiben und diese dann zur Ausgabe nutzen. Das macht den Code lesbarer, flexibler und reduziert Code-Duplikation. |
||||||||||
Anzeige | |||||||||||
|
|||||||||||
11.04.2013, 19:42 | Auf diesen Beitrag antworten » | ||||||||||
Airblader | So, jetzt wo ich daheim bin, kann ich auch besser sagen, was ich meinte:
Allerdings ist ein switch/case hier sowieso schon eher unpraktisch, aber sicherlich die beste Variante, wenn man noch keine besseren Methoden kennt. |
|