Anadolu Üniversitesi Açık Öğretim Fakülte öğrencisini daha çok ilgilendiren bir program ile merhaba. Hali hazırda Aöf Vize-Final not hesaplama programını buradan indirebilirsiniz.
Aöf vize-final not sistemi; 100 üzerinden alınan puanın, vizenin %30′u ile finalin %70′ nin toplamı 50 puanı geçmek koşulu ile dersden geçilebilmekte. Bundan dolayı uygulamamız vize notu olarak girilen değeri %30′unu alarak finalden alman gereken minimum not ve doğru cevaplanması gereken soru miktarını vermekte.
Kullanıcı tarafını atlattıktan sonra yazılımcı tarafından devam edelim. Bu mini not hesaplama uygulamasını C sharp ile yapabilmek için bir adet textbox, 3 adet buton, tasarımı biraz görselleştirmek için ise 2-3 adet timer. Form tasarımını resimdeki veya uygulamayı indirerek benzerini yaptıktan sonra kod kısmına geçebiliriz;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | private void Form1_Load(object sender, EventArgs e) { timer1.Start(); dogru.Enabled = false; puan.Enabled = false; } private void button1_Click(object sender, EventArgs e) { try { double vize; vize = Convert.ToDouble(textBox1.Text); double sonuc; double soru; if (vize <= 100) { sonuc = Math.Floor((50 - vize * 0.3) / 0.7); // sonucu yuvarlamak için math.floor ve math celling fonksiyonunu kullandık soru = Math.Ceiling(sonuc / 3.3); label2.Text = sonuc.ToString(); label3.Text = soru.ToString(); dogru.Enabled = true; puan.Enabled = true; } else { MessageBox.Show("Hata!!! Lütfen Geçerli Bir Not Giriniz..."); textBox1.Clear(); label2.Text = "--"; label3.Text = "--"; dogru.Enabled = false; puan.Enabled = false; } } catch { MessageBox.Show("Hata!!! \n\nLütfen Notunuzu Rakamsal Değer ile Girin\n\nÖrnek: \" 65 \" gibi... "); textBox1.Clear(); } } private void button2_Click(object sender, EventArgs e) { timer2.Enabled = true; textBox1.Clear(); label2.Text = "--"; label3.Text = "--"; dogru.Enabled = false; puan.Enabled = false; } private void button3_Click(object sender, EventArgs e) { Application.Exit(); //programdan çık } private void timer1_Tick(object sender, EventArgs e) { Opacity += 0.10; this.Opacity = Opacity; if (Opacity > 1.0) { timer1.Enabled = false; } } private void timer2_Tick(object sender, EventArgs e) { if (timer2.Interval<101) { timer2.Interval+=20; int c = 0; Random r = new Random(); Point l = this.Location; while (c < 50) { int sag = r.Next(1, 5); int sol = r.Next(1, 5); this.Location = new Point(l.X + sag, l.Y + sol); c++; } this.Location = l; } else { timer2.Enabled = false; // timer2 durdu timer2.Interval = 10; } } |
Burada Math.Floor ve fonksiyonları ile alınan notu daha doğru yazdırabilmek için çıkan sonucu yuvarladık. Uygulama sonuç olarak button1_Click içerisinde yapılan kodlamalardan ibaret. Diğerleri opsiyonel olarak yapılmış görsel özellikleri.(formun yavaş yavaş açılması, form titremesi, temizleme vs.)
Bunlar da ilginizi çekebilir :
Csharp'da messengerdaki gibi form titretme, xp ilk açılış ekranı gibi formun yavaş yavaş görüntü ...
Her junior yazılımcının karşılaşacağı ödev babında program ile merhaba. BEnzer konu her ne kadar ...
Bir önceki yazıda(Bugünün tarihi ve saati gösterme) uygulamasını biraz daha ileri götürerek; ku ...


