Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
459
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



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.