Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
1
Cevap
460
Tıklama
0
Öne Çıkarma
case of döngü hakkında soru
S
11 yıl
Onbaşı
Konu Sahibi

arkadaslar turbo pascalda iki tarih arasındaki gün sayısını bulan program yazıyorum ve suan beynım durdu dıyebilirim
sadece su sorunum var dongüyü nasıl case of a baglıcaz yardımcı olursanız sevınırım
örnek vermek gerekirse

for i:=yil1 to yil2 do
begin
toplam:=toplam+1;
end;

case i of

2004..2007 ise 1 deger atsın subat icin
2008..2011 ise 1 atasın

eger kullanıcı 2004 2008 girdi ise 2 atıcak toplanarak
yani döngü dondükce deger alsın o tarih aralıgında amacım bu

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



M
11 yıl
Yarbay

Case değerini yıla göre verirsen girilebilecek çok sayıda tarih için çok sayıda case girişi yapman lazım. (ayların-günlerin hesaba katılmadığı sadece yıl için)
Bunun için yıl değerininın 4 ile modunu al. Mod 4 sonucu sıfır çıkan yıllar artık yıllardır sadece bunun için +1 gün hesapla.

program günler;
uses .....

var
yil1, yil2, gunsayi, i, m :longint; {i döngü için, m mod sonucu için}

begin
write('Başlangıç yılını girin:')
readln(yil1);
write('Bitiş yılını girin:')
readln(yil2);
gunsayi:=0;

for i=yil1 to yil 2 do begin
m = i mod 4;
case i of
0 :gunsay:=gunsayi+366; {artık yıl}
1..3:gunsay:=gunsayi+365; {normal yıl}
end;
end;
writeln('toplam ',gunsayi,' gün');
end.




Bu mesajda bahsedilenler: @serseri546
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.