Autor Beitrag
Alika
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 21.02.06 22:20 
Hallo an alle! Bin neu hier und weiß nicht recht wo ich hin schreiben sollte.
Wir sollen ein Programm in Delphi programmieren, dass wenn man ein Jahr eingibt es uns sagt ob es ein Schaltjahr ist... Weiß nicht was ich machen soll
HeLP!!

Moderiert von user profile iconGausi: Titel geändert - hier braucht jeder Hilfe.
Moderiert von user profile iconGausi: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mi 22.02.2006 um 09:24
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Di 21.02.06 22:24 
Ein Schlatjahr ist durch 4 teilbrar aber nicht durch 100 wenn es nicht durch 1000 teilbar ist also

ausblenden Delphi-Quelltext
1:
if (jahr mod 4 = 0and ((jahr mod 100 <> 0or ( jahr mod 1000 = 0then ... //Schaltjahr					

_________________
Markus Kinzler.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 21.02.06 22:29 
Mal abgesehen davon, dass das falsch ist, gibt es in Delphi die Funktion IsLeapYear. Einfach mal in der Delphi-Hilfe nachschauen.
@mkinzler:
Schaltjahr:
Wenn es durch vier teilbar ist, dann ist es eins.
Ist es durch 100 teilbar, dann doch nicht.
Falls es dann aber durch 400 teilbar, dann aber doch.
Alika Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 21.02.06 22:35 
Da ich auch Anfänger bei Delphi bin könntet ihr mir bitte den Quelltext geben?
Amateur
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 777

(Win98, WinMe) WinXP Prof
D3 Prof, D6 Pers, D2k5 Pers., Turbo C++ Explorer
BeitragVerfasst: Di 21.02.06 22:37 
nein können wir nicht... //edit: jasocul (sorry! hatte den thread nur schnell überflogen und gedacht es wäre christian gewesen... war keine absicht) hat dir doch gesagt wie man es berechnet und dass es sogar eine funktion dafür gibt. mehr können wir nun wirklich nicht tun.

_________________
"Kein dummes Gerede. Kein Rumrätseln. Denkt an nichts anderes mehr, nur noch an das, was vor euch liegt. Das ist die wahre Herausforderung. Ihr müßt euch vor euch selbst schützen, Leute." (Rennes in "Cube")
Beiträge: >700


Zuletzt bearbeitet von Amateur am Fr 24.02.06 16:35, insgesamt 1-mal bearbeitet
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 21.02.06 22:44 
Christian??? Ich dachte ich heiße Peter. :wink:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
if IsLeapYear(2006then // hier kannst du auch eine Variable verwenden statt 2006
begin
  ShowMessage('Das ist ein Schaltjahr');
end
else
begin
  ShowMessage('Da hat der Februar nur 28 Tage');
end;
Florian.K
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 130

Win Xp Prof. & SP 2
Delphi 10 Lite
BeitragVerfasst: Mi 22.02.06 00:31 
Ich finde man sollte ein Forum nicht nutzen um Hausaufgaben in Auftrag zu geben. Wenn du Hilfe brauchst 218987911
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 22.02.06 08:55 
@Florian:
Im Prinzip hast du Recht. Daher habe ich auch nur die Funktion aus Delphi genannt. Die Aufgabe soll sicher nicht mit dieser Funktion gelöst werden. Könnte aber zumindest als Kontrolle dienen, ob eine selbstgeschriebene Funktion korrekt ist.
Was geprüft werden muss, wurde weiter oben ja auch genannt. Und dafür gibt es keinen Source.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8549
Erhaltene Danke: 478

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 22.02.06 10:13 
Im Gegensatz zur Aussage von oben:

Ein Jahr ist ein Schaltjahr, wenn die Jahreszahl durch 4 teilbar ist.
Wenn die Jahreszahl durch 100 teilbar ist, ist kein Schaltjahr, es sei denn, die Jahreszahl ist durch 400 (nicht 1000) teilbar.

Das Jahr 2000 war also ein Schaltjahr, weil 2000 durch 400 teilbar ist, nicht weil 2000 durch 100 teilbar ist ;-)

_________________
We are, we were and will not be.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 22.02.06 10:15 
Habe ich was anderes gesagt? :gruebel:
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8549
Erhaltene Danke: 478

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 22.02.06 10:23 
Oh. Ich meinte Mkinzler, aber das hattest du ja schon richtig gestellt. Ich glaube, ich leg mich noch was hin... :oops:

_________________
We are, we were and will not be.
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 22.02.06 21:01 
man kann ja auch die tage weiterzählen... wenn man weiss, wie lang ein jahr ist...

nach dem allgemein anerkannten kalender der westlichen hemisphäre wären dies

ausblenden Quelltext
1:
365,2425 tage je jahr					


wer es nicht glaubt, kanns ja nachrechnen ;-)
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mi 22.02.06 21:16 
user profile iconmkinzler hat folgendes geschrieben:
Ein Schlatjahr ist durch 4 teilbrar aber nicht durch 100 wenn es nicht durch 1000 teilbar ist also

ausblenden Delphi-Quelltext
1:
if (jahr mod 4 = 0and ((jahr mod 100 <> 0or ( jahr mod 1000 = 0then ... //Schaltjahr					


Das or ist nicht notwendig, eine Zahl, die durch 1000 teilbar ist, ist auch durch 4 teilbar.

AXMD
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Mi 22.02.06 21:33 
Von Papst Gregor XIII. wurde daher 1582 folgende Regelung eingeführt (Gregorianischer Kalender):

Glatt durch 4 teilbare Jahre sind Schaltjahre.
Glatt durch 100 teilbare Jahre sind jedoch keine Schaltjahre.
Glatt durch 400 teilbare Jahre sind aber wieder Schaltjahre.
So sind zum Beispiel die Jahre 1800, 1900 und 2100 keine Schaltjahre, die Jahre 2000 und 2400 hingegen schon. Damit dauert das Gregorianische Jahr 365,2425 Tage, und ist genauer als das Julianische Jahr.

www.wissenglobal.de/Schaltjahr.html
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 22.02.06 21:35 
jetzt wird der ärmste total verwwwwiiiiirrrrrttttt :twisted:
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 23.02.06 08:54 
@AXMD:
Deswegen wird das eine ja auf ungleich und das andere auf gleich geprüft. Mal agesehen davon, dass die 1000 sowieso die falsche Zahl ist. :wink: