C# basit yaş hesaplama

samet221

Öğrenci
Katılım
3 Haziran 2012
Mesajlar
24
Reaksiyon puanı
0
Puanları
1
Abiler ben biraz c# öğrenmek istiyorum bunun için okuldaki öğretmenimden yardım istedim. Bir kaç şey öğrettikten sonra benden basit bir yaş hesaplama kodu istedi kişi hangi yılda doğduğunu yazacak ve kaç yaşında olduğunu gösterecek ne yazık ki nasıl yazıldığını bilmiyorum ve yapamıyorum bana kodlarda yardımcı olur musunuz ?
 

Artal73

Öğrenci
Katılım
2 Şubat 2007
Mesajlar
28
Reaksiyon puanı
7
Puanları
3
3 tane int türünde degişken tanımlayın. simdikiYil, kullanicininYili, sonuc. DateTime dan içinde bulunduğumuz yılı alıp int türüne convert ederek simdikiYil degişkenine, kullanıcının girdigi yılı da kullanicininYili'na parse ederek atayın. sonuc degişkenine de simdikiYil - ullanicininYili şeklinde çıkartma işlemi yaparak bulunan yaşı atıyabilirsiniz.
 

samet221

Öğrenci
Katılım
3 Haziran 2012
Mesajlar
24
Reaksiyon puanı
0
Puanları
1
3 tane int türünde degişken tanımlayın. simdikiYil, kullanicininYili, sonuc. DateTime dan içinde bulunduğumuz yılı alıp int türüne convert ederek simdikiYil degişkenine, kullanıcının girdigi yılı da kullanicininYili'na parse ederek atayın. sonuc degişkenine de simdikiYil - ullanicininYili şeklinde çıkartma işlemi yaparak bulunan yaşı atıyabilirsiniz.
abi biliyorum ama nasıl yazılacağını bilmiyorum bana kodlarını yazıp yollar mısın veya
int yil
private void Button_Click(object sender, EventArgs e)
{
yil = 2013-Convert.ToInt32(textbox1.text);


label3.text=yil.value.ToString();
}
bunun eksiklerine yardım eder misin ?
 
S

SDN Okuru

SDN Okuru
yas = DateTime . now . year - dogumyili ; yazman yeterli olucaktır


noktalar arasındaki boşluklar olmamalı kaldırırsın
 

Artal73

Öğrenci
Katılım
2 Şubat 2007
Mesajlar
28
Reaksiyon puanı
7
Puanları
3
//İçinde bulunulan yılı alıp değişkene aktarma
int simdikiYil = Convert.ToInt32(DateTime.Now.Year);

//Kullanıcının girdiği yılı alıp değişkene aktarma
int kullanicininYili = Convert.ToInt32(textBox1.Text);

//İki yıl arasındaki farkı bulup sonuç degişkenine, sonuc degişkeninin degerinide Labele aktarma.
int sonuc = simdikiYil - kullanicininYili;
label1.Text = sonuc.ToString();
 

samet221

Öğrenci
Katılım
3 Haziran 2012
Mesajlar
24
Reaksiyon puanı
0
Puanları
1
//İçinde bulunulan yılı alıp değişkene aktarma
int simdikiYil = Convert.ToInt32(DateTime.Now.Year);

//Kullanıcının girdiği yılı alıp değişkene aktarma
int kullanicininYili = Convert.ToInt32(textBox1.Text);

//İki yıl arasındaki farkı bulup sonuç degişkenine, sonuc degişkeninin degerinide Labele aktarma.
int sonuc = simdikiYil - kullanicininYili;
label1.Text = sonuc.ToString();
çok teşekkür ederim :)
 

ivank0wsi

Asistan
Katılım
4 Aralık 2012
Mesajlar
166
Reaksiyon puanı
1
Puanları
0
int snc;
int dt = Convert.ToInt32(textBox1.Text);


snc = DateTime.Now.Year - dt;
label1.Text = snc.ToString();
 

algea

Doçent
Katılım
15 Temmuz 2011
Mesajlar
505
Reaksiyon puanı
22
Puanları
18
Daha hassas tespit için şöyle bir code var.
Kod:
private static int CalculateAge(DateTime dateOfBirth)
        {
            int age = 0;
            age = DateTime.Now.Year - dateOfBirth.Year;
            if (DateTime.Now.DayOfYear < dateOfBirth.DayOfYear)
                age = age - 1;

            return age;
        }
 

sino

Öğrenci
Katılım
24 Ocak 2013
Mesajlar
34
Reaksiyon puanı
0
Puanları
0
Daha hassas tespit için şöyle bir code var.
Kod:
private static int CalculateAge(DateTime dateOfBirth)
        {
            int age = 0;
            age = DateTime.Now.Year - dateOfBirth.Year;
            if (DateTime.Now.DayOfYear < dateOfBirth.DayOfYear)
                age = age - 1;

            return age;
        }
Eleman bir yaş hesaplaması yapamıyor , sen geriye değer döndüren fonksiyon yapıyorsun.
Biraz basite indirgeyerek anlatman daha mantıklı olmaz mıydı ? @Artal73'ün yaptığı yeterli olucaktır.
Bende bir yöntem sunayım dersem ;
var yil = int.Parse(DateTime.Now.Year) - int.Parse(txtYil.Text);
lblYil.Text = yil.ToString();
 

algea

Doçent
Katılım
15 Temmuz 2011
Mesajlar
505
Reaksiyon puanı
22
Puanları
18
Eleman bir yaş hesaplaması yapamıyor , sen geriye değer döndüren fonksiyon yapıyorsun.
Biraz basite indirgeyerek anlatman daha mantıklı olmaz mıydı ? @Artal73'ün yaptığı yeterli olucaktır.
Bende bir yöntem sunayım dersem ;
var yil = int.Parse(DateTime.Now.Year) - int.Parse(txtYil.Text);
lblYil.Text = yil.ToString();
Örneğin 02.03.2012 doğum tarihi olsun check ettiğimiz tarih 2013 senesi olsun 02.03.2013 tarihine kadar yaş dolmuş sayılmaz mı? Bu tarihten itibaren 1 yaşına basar. İşin mantığı bu kavramı eksik görüp ilave etmiş bulundum.
 

sino

Öğrenci
Katılım
24 Ocak 2013
Mesajlar
34
Reaksiyon puanı
0
Puanları
0
Örneğin 02.03.2012 doğum tarihi olsun check ettiğimiz tarih 2013 senesi olsun 02.03.2013 tarihine kadar yaş dolmuş sayılmaz mı? Bu tarihten itibaren 1 yaşına basar. İşin mantığı bu kavramı eksik görüp ilave etmiş bulundum.
Aslında en mantıklısı tabi ki senin kisi. Günden küçükse - 1 yapmışsın. Tamam ama biz olmasını gerekeni verelim , isteyen arkadaş kendisi geliştirsin :) Ben yanlış demedim zaten dostum. Emeğine sağlık en doğrusunu sen söylemişsin.
 
Üst