C# de not hesaplama

yaseta

Profesör
Katılım
20 Şubat 2006
Mesajlar
2,841
Reaksiyon puanı
63
Puanları
228
neden AA degerını sadece A olarak okuyor acaba ??
Kod:
using System;
namespace programmm
{
class Program
{
static void Main(string[] args)
{
char  notu;
Console.Write("Puan :");
String x1 = Console.ReadLine();
int puan = Convert.ToInt32(x1);
if(puan >= 90)
{
notu = "[COLOR=Magenta]AA[/COLOR]";

}
else if(puan >= 85 && puan < 89)
{
notu = "BA";

}
else if(puan >=80 && puan < 84)
{
notu = "[COLOR=Magenta]BB[/COLOR]";
}
else if (puan >= 75 && puan < 79)
{
    notu = "[COLOR=Magenta]CB[/COLOR]";
}
else if (puan >= 70 && puan < 74)
{
    notu = "[COLOR=Magenta]CC[/COLOR]";
}
else if (puan >= 65 && puan < 69)
{
    notu = "[COLOR=Magenta]DC[/COLOR]";
}
else if (puan >= 50 && puan < 64)
{
    notu = "[COLOR=Magenta]DD[/COLOR]";
}
else if (puan >= 00 && puan < 49)
{
    notu = "[COLOR=Magenta]FF[/COLOR]";

}
    Console.WriteLine("Sizin notunuz " + notu);
}
}
}
 

N3CAT1

Dekan
Emektar
Katılım
20 Nisan 2008
Mesajlar
6,608
Reaksiyon puanı
144
Puanları
243
notu değişkenini char veri tipi olarak değil de string olarak tanımla. char veri tipi sadece 1 karakterlik değer alabilir.
 

yaseta

Profesör
Katılım
20 Şubat 2006
Mesajlar
2,841
Reaksiyon puanı
63
Puanları
228
evet oyle yaptım ama aynı sorun cıkıyor.
 

yusher

Profesör
Katılım
30 Haziran 2008
Mesajlar
1,146
Reaksiyon puanı
12
Puanları
218
AA iki byte'la ifade edilir. char 1 byte veri saklar.string yap.
string notu = "";
bi de switch-case kullansan daha güzel olur. clockcycle'dan kazanırsın.
ayrıca konsoldan girilen değerin 0 ile 100 arasında olup olmadığının da kontrolünü yapmalısın.
 

N3CAT1

Dekan
Emektar
Katılım
20 Nisan 2008
Mesajlar
6,608
Reaksiyon puanı
144
Puanları
243
aşağıdaki gibi düzenleyebilir misin.

Kod:
[COLOR=Blue]string[/COLOR] notu = [COLOR=Blue]null[/COLOR];
 

yaseta

Profesör
Katılım
20 Şubat 2006
Mesajlar
2,841
Reaksiyon puanı
63
Puanları
228
aşağıdaki gibi düzenleyebilir misin.

Kod:
[COLOR=Blue]string[/COLOR] notu = [COLOR=Blue]null[/COLOR];
sımdı tamam tesekkur ederım. notu degerının bos bırakılmamasını belırtmemız neden bu kadar degıskenlıge sebep oldu acaba?
 

kaberdey

Profesör
Katılım
22 Aralık 2008
Mesajlar
4,262
Reaksiyon puanı
87
Puanları
0
Boş bırakılmamasını söylemiyorsun orda
değişken tanımlanınca kendince bir değer verir ve onu boşaltmazsan bazı arızalara neden olabiliyor.
Önerim değişken oluşturunca içini boşaltmandır...
 

s7v7n

Asistan
Katılım
16 Aralık 2009
Mesajlar
216
Reaksiyon puanı
6
Puanları
0
Boş bırakılmamasını söylemiyorsun orda
değişken tanımlanınca kendince bir değer verir ve onu boşaltmazsan bazı arızalara neden olabiliyor.
Önerim değişken oluşturunca içini boşaltmandır...

Lokal değişkenlere (metot düzeyinde) başlangıç değerini vermeniz lazım. C#, tip güvenli olduğu için bunu sizden ister ve derleme zamanı hatası verir. Global değişkenlerde ise (class,struct düzeyinde) başlangıç değeri vermenize gerek yoktur. Her tipin varsayılan değerleri vardır ve bunlar atanır. Referans tipliler için bu değer null, değer tipleri için bu değer farklılık gösterir. Bool için false, DateTime için DateTime.MinValue vs.. gibi.
 
Üst