Girilen Doğum Tarihine Göre Doğum Gününü ve Burcunu Hesaplama Programı


19.12.2012-22:52 Tarihinde Eklendi.
www.seyfettinkahveci.com Derecelendirme: 10 / 10 Oy Sayısı: 16002893Toplam Puan: 35430 / Yorum Sayısı: 412002893 adet.


Merhaba arkadaşlar bu yazımda sizlere girilen yıl, ay ve gün bilgisinin haftanın hangi gününe denk geldiğini ve burcunu bulan c++ programını anlatmaya çalışacağım.  Arkadaşlar şimdi aşağıdaki kodları ve açıklamaları dikkatli bir şekilde inceleyelim.

#include <iostream>//kütüphaneler dahil ediliyor
#include <time.h>//kütüphaneler dahil ediliyor
using namespace std;//isim uzayı tanımlanıyor
int main ()
{
  time_t zaman;//1 Ocak 1970 UTC yana geçen saniye sayısını zaman adında değişkene aktarılıyor
  struct tm * zamanbilgisi;// tm(takvim ve saat bilgisi)ni gösteren zamanbilgisi adında bir struct yapısı oluşturuluyor
  int Yil, Ay ,Gun;//integer türünde yil ay gün oluşturuluyor
  char * Haftalar[] = { "Pazar", "Pazartesi",
                       "Salı", "Çarşamba",
                       "Perşembe", "Cuma", "Cumartesi"};//haftalar dizisine haftanın günleri yazılıyor
  cout<<"Yıl Giriniz: "; cin>>Yil;//kullanıcıdan yıl girilmesi isteniyor ve girilen veriler yila aktarılıyor
  cout<<"Ay Giriniz: "; cin>>Ay;//kullanıcıdan ay girilmesi bekleniyor ve girilen veri ay değişkenine aktarılıyor
  cout<<"Gün Giriniz: "; cin>>Gun;//kullanıcıdan gün girilmesi bekleniyor ve girilen veri gün değişkenine aktarılıyor
  time ( &zaman );//zaman referansı zamana dönüştürülüyor
  zamanbilgisi = localtime ( &zaman );//yerel zaman zaman referansındaki değer oluyor
  zamanbilgisi->tm_year = Yil - 1900;//yildan 1900 çıkarılıp zaman bilgisi nesnesinin tm yerarına aktarılıyor
  zamanbilgisi->tm_mon = Ay - 1;//aydan 1 çıkarılıp zaman bilgisi nesnesinin tm_mon una aktarılıyor
  zamanbilgisi->tm_mday = Gun;//gün zaman bilgisi nesnesinin tm_mday a aktarılıyor
  mktime ( zamanbilgisi );//zaman bilgisi kontrol ediliyor
  cout<<"Doğum Gününüz: ";//ekrana yazı yazdırılıyor
  cout<<Haftalar[zamanbilgisi->tm_wday];//hesaplanan değer ekrana yazdırılıyor
  cout<<" Burcunuz";//ekrana yazı yazdırılıyor
  if((Ay==10 and Gun>=24 )or( Ay==11 and Gun<=22)){//eğer belirlenen tarih aralıklarında ise
  cout<<" Akrep";//ekrana akrep yaz
  }////eğer belirlenen tarih aralıklarında ise sonu diğer burçlar için burayı devam ettirin
  return 0;//program bitiriliyor
}

Arkadaşlar bu konuda ve geliştirdiğiniz projelerde anlamadığınız bölümler olursa yorum ekle bölümünden yazın en kısa sürede cevaplamaya çalışırım.İyi Çalışmalar.

Seyfettin KAHVECİ
Balıkesir Üniversitesi
NEF-BOTE



Yazının tamamının kopyalanması yasaktır. En baştaki birkaç paragrafı kopyalayıp, yazıya link verebilirsiniz. Aksi durumda uyarılmaksızın yasal yollara gidilecektir.

Yorum Ekle

Ad Soyad:
Şehir:
Yorum:
Yorumlar
Ad Soyad:Nurbanu BayarŞehir:Eskişehir
Tarih:20.12.2012
Soru Yil adlı değişkenden neden 1900 çıkardık acaba? aynı şekilde Ay-1 satırını da anlayamadım 'Gun' değişkeni de aynı kalmış.Yardımcı olursanız sevinirim
Cevap Gün sayısı tm_mday'e eşitleniyor. tm_mday'ın özelliği ise 1 ile 31 araında değer almasıdır. O yüzden günden değer çıkartmadık.
Ay sayısı tm_mon'a eşitleniyor. tm_mon'un özelliği ise Ocak ayından itibaren olmak üzere 0 ile 11 arasında değer almasıdır. Yani siz ocak ayını 1 girersiniz ama tm_mon'da ocak ayı 0'a eşittir. O sebeple 1 çıkarttık.
Yıl sayısı tm_year'a eşitleniyor. tm_year'ın özelliği ise 1900 yılından bu tarafa geçen yıl sayısını ifade etmesidir. Bu sebeple 1900 çıkarttım.
Umarım yardımcı olabilmişimdir. İyi çalışmalar.