예제 #1
0
        private void btnBitir_Click(object sender, EventArgs e)
        {
            mnuSinavBasla.Enabled  = true;
            mnuSoruHazirla.Enabled = true;
            grpSinav.Enabled       = false;

            // Son sorunun cevabını burada kaydetmemiz gerekiyor.
            // Çünkü sonraki butonu gizlenmiş durumda..

            Cevap cevap = SinavCevaplar[Sayac - 1];

            foreach (Control control in grpSinav.Controls)
            {
                if (control is RadioButton)
                {
                    RadioButton rdb = (RadioButton)control;

                    if (rdb.Checked)
                    {
                        cevap.SoruCevap = rdb.Tag.ToString();

                        // Kullanıcının verdiği cevabı aldık,
                        // diğer kontrollerde dönmeye gerek yok artık..
                        break;
                    }
                }
            }

            SinavTemizle();

            SonuclariHesapla();
        }
예제 #2
0
        private void mnuSinavBasla_Click(object sender, EventArgs e)
        {
            grpSinav.Enabled       = true;
            mnuSoruHazirla.Enabled = false;
            mnuSinavBasla.Enabled  = false;
            btnSonraki.Visible     = true;

            Sayac = 0;
            SinavCevaplar.Clear();

            for (int i = 0; i < Sorular.Count; i++)
            {
                Cevap cevap = new Cevap();
                cevap.Index     = i;
                cevap.SoruCevap = "";

                SinavCevaplar.Add(cevap);
            }

            if (Sorular.Count > 0)
            {
                SiradakiSoruyuVer();
            }
            else
            {
                MessageBox.Show("Sınav yapılacak soru tanımlanmamıştır.");
            }
        }
예제 #3
0
        private void SonuclariHesapla()
        {
            int dogruSayisi  = 0;
            int yanlisSayisi = 0;
            int bosSayisi    = 0;

            foreach (Soru soru in Sorular)
            {
                int   index = Sorular.IndexOf(soru);
                Cevap cevap = SinavCevaplar[index];

                // doğru cevabı bilmiş.
                if (soru.DogruCevap == cevap.SoruCevap)
                {
                    dogruSayisi++;
                }

                // Boş geçmiş..
                if (cevap.SoruCevap == "")
                {
                    bosSayisi++;
                }

                // Bir cevabı var ama doğru değil.
                if (cevap.SoruCevap != "" && cevap.SoruCevap != soru.DogruCevap)
                {
                    yanlisSayisi++;
                }
            }

            MessageBox.Show(
                "Doğru Cevap Sayısı : " + dogruSayisi.ToString() + "\n" +
                "Yanlış Cevap Sayısı : " + yanlisSayisi.ToString() + "\n" +
                "Boş Cevap Sayısı : " + bosSayisi.ToString());
        }
예제 #4
0
        private void btnSonraki_Click(object sender, EventArgs e)
        {
            Cevap cevap = SinavCevaplar[Sayac - 1];

            foreach (Control control in grpSinav.Controls)
            {
                if (control is RadioButton)
                {
                    RadioButton rdb = (RadioButton)control;

                    if (rdb.Checked)
                    {
                        cevap.SoruCevap = rdb.Tag.ToString();

                        // Kullanıcının verdiği cevabı aldık,
                        // diğer kontrollerde dönmeye gerek yok artık..
                        break;
                    }
                }
            }

            SinavTemizle();
            SiradakiSoruyuVer();
        }