Visual Basic (Schaltjahr)

Dirrty-K

Cadet 4th Year
Registriert
Nov. 2004
Beiträge
94
hallo freunde,ich habe ein problem und weiss nicht wie ich es lösen soll

Aufgabe:
ihr programm soll eine ganzzählige jahreszahl einlesen und dann entscheiden, ob es sich um ein schaltjahr handelt oder nicht. zur entscheidung gilt:
1: Vor dem Jahr 1582 gab es den begriff schaltjahr noch gar nicht
2: ab 1582 wird ein jahr als schaltjahr bezeichnet, wenn die jahreszahl ohne rest durch 4 teilbar ist

sooo, bei mir sieht es nun so aus, aber sind noch fehler entahalten,und hoffe hr könnt mir dabei helfen


Private Sub Form_Load()
Dim schaltj As Long

schaltj = InputBox("Bitte Jahr eingeben :", "Jahr")
If schaltj < 1582 Then
MsgBox "Das ist kein Schaltjahr"
ElseIf schaltj / 4 Then
MsgBox "Das ist ein Schaltjahr"
Else: schaltj = "Das ist kein Schaltjahr"

End If




End Sub



danke schonmal
 
Hallo,

versuch mal den booleanschen Ausdruck

schaltj mod 4 = 0

Mod, Modulus - einfach ausgedrückt "Rest".

Gruß
Stage Zero
 
ich kenn mich jetz mit VB nicht aus aber bei kannst in einem if nicht nach 2 sachen prüfen?

Code:
Private Sub Form_Load()
Dim schaltj As Long

schaltj = InputBox("Bitte Jahr eingeben :", "Jahr")
If schaltj > 1582 and schaltj%4 Then // weiss nicht wie der modulo operator geht, is halt vom c her das %-zeichen.. ^^
      MsgBox "Das ist ein Schaltjahr"
Else: 
      MsgBox "Das ist kein Schaltjahr"

End If

End Sub
 
StageZero schrieb:
Hallo,

versuch mal den booleanschen Ausdruck

schaltj mod 4 = 0

Mod, Modulus - einfach ausgedrückt "Rest".

Gruß
Stage Zero

hmm, verstehe nicht ganz, kannst du es nicht mir s schreiben wie es dann assehen soll?

danke dir
 
Hi,

die Definition vom Schaltjahr selbst scheint schon nicht ganz richtig:


Die erste Daumenregel (die wir Gaius Julius Caesar immerhin bereits aus dem Jahre 46 v. Chr. zu verdanken haben) lautet: Ist eine Jahreszahl ohne Rest durch 4 teilbar, ist das Jahr ein Schaltjahr. Da diese Definition später als zu ungenau erkannt wurde, wurde (erst am 24. Februar 1582) von Papst Gregor XIII der Gregorianische Kalender verkündet, der nicht nur die Berechnung des Ostersonntags komplizierter als zuvor regelte, sondern auch die bis dahin bestehende 10-minütige Ungenauigkeit eines Jahres korrigierte: Ab diesem Datum galten neben der bekannten Definition nur solche restfrei durch 100 teilbare Jahre als Schaltjahre, die auch durch 400 glatt teilbar waren.

Bei der Quellenangabe steht auch ein Beispiel-Code.

Quelle: http://www.madeasy.de/2/prgschal.htm
 
Gibt auch die Möglichkeit, wenn du dir einfach prüfst, ob der 29.02. von dem Jahr ein gültiges Datum ist.

http://www.a1vbcode.com/vbtip-157.asp

Da du da eine Standardisierte Funktion, die schon 1000mal getestet wurde, verwendest, ist die Chance auf ein richtiges Ergebnis um einiges höher :)

David
 
Zurück
Oben