16 Mayıs 2015 Cumartesi

C Sharp Formda Otomatik Soru Alanı Oluşturma




KONU : C sharp form üzerinde soru alanı oluşturma. Soru alanı soru ve sorunun cevabı olabilecek 4 seçeneği gösterecek. Soru alanı kısmını bir sınıf olarak tanımlamacak. Sorular sınıfında bütün sorular yeni sınıf örnekleri oluşturularak doldurulacak. Soru alanı belirnecek süreye göre soruyu ve seçenekleri gösterecek . Süre dolunca bir sonraki soruya geçecek. Belirlenen soru adedi tamamlandıktan sonra program başarı durumunu datagridview tablosu üzerinde gösterecek.
ETİKETLER: c sharp - c# - c sharp uygulamalar - c sharp örnekler - c# applications - c sharp form ve konsol uygulamalar






UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TestProgramiUygulamasi
{
    public partial class Form1 : Form
    {
        List soruNolar = new List();
        Sorular sorular;
        int soruNo = 0;
        int sure = 0;
        int toplamSoruSayisi = 10;
        int ToplamSure =2;

        int[] odul = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
        bool[] odulTablo = { false, false, false, false, false, false, false, false, false, false };

        public Form1()
        {
            InitializeComponent();
        }
     
        private void Form1_Load(object sender, EventArgs e)
        {
            OyunuBaslat();
        }

        public string SoruNo
        {
            get
            {
                return this.grouperSoruAlani.GroupTitle.Substring(5);
            }
            set
            {
                this.grouperSoruAlani.GroupTitle = "SORU "+value;
            }
        }

        public char DogruSecenek { get; set; }

        public bool CevapDogruMu { get; set; }

        private void txtSecenekler_Click(object sender, EventArgs e)
        {
            if (!(sender is TextBox)) return;

            TextBox secilenSecenek = sender as TextBox;

            secilenSecenek.BackColor = Color.Orange;

            if (DogruSecenek == 'A')
            {
                txtSecenekA.BackColor = Color.Lime;
            }
            else if (DogruSecenek == 'B')
            {
                txtSecenekB.BackColor = Color.Lime;
            }
            else if (DogruSecenek == 'C')
            {
                txtSecenekC.BackColor = Color.Lime;
            }
            else if (DogruSecenek == 'D')
            {
                txtSecenekD.BackColor = Color.Lime;
            }

            if (secilenSecenek.BackColor == Color.Lime)
            {
                CevapDogruMu = true;
            }
            else
            {
                CevapDogruMu = false;
            }

            DurumuGoster(CevapDogruMu);
        }

        private void DurumuGoster(bool durum)
        {

            if (soruNo == toplamSoruSayisi)
            {
                btnIslem.Text = "Oyun Bitti.";
                grouperSoruAlani.Visible = false;
                DataGridView dataGridView = new DataGridView();
                this.Controls.Add(dataGridView);

                dataGridView.ColumnCount = 3;
                dataGridView.Columns[0].Name = "Soru No";
                dataGridView.Columns[1].Name = "Puan";

                string[] row;
                int toplam = 0;
                for (int i = 0; i < toplamSoruSayisi; i++)
                {
                    toplam += (odulTablo[i] == true) ? 10 : 0;
                    row = new string[] { (i + 1).ToString(), (odulTablo[i] == true) ? "10" : "0" };
                    dataGridView.Rows.Add(row);
                }

                row = new string[] { "Toplam", toplam.ToString() };
                dataGridView.Rows.Add(row);
                dataGridView.Height = toplamSoruSayisi * 30 + 50;
            }
            else
            {
                GelecekSoruGoster();
            }

        }

        public void OyunuBaslat()
        {
            soruNo = 0;
            lblOdulMiktari.Text = string.Format("{0:C}", 0);
            sorular = new Sorular();
            Random rastgele = new Random();

            soruNolar.Clear();

            soruNolar.Add(rastgele.Next(sorular.TumSorular.Count));
            for (int i = 0; i < toplamSoruSayisi-1 ; i++)
            {
                int no = rastgele.Next(sorular.TumSorular.Count);

                if (soruNolar.Contains(no))
                {
                    i--;
                }
                else
                {
                    soruNolar.Add(no);
                }
            }

            SoruyuGoster();
        }

        private void btnIslem_Click(object sender, EventArgs e)
        {
            GelecekSoruGoster();
        }

        private void GelecekSoruGoster()
        {
            if (CevapDogruMu)
            {
                odulTablo[soruNo - 1] = true;
            }
            else
            {
                odulTablo[soruNo - 1] = false;
            }

            if (soruNo < toplamSoruSayisi)
            {
                SoruyuGoster();
            }
            else
            {
                DurumuGoster(false);
            }
        }

        private void SoruyuGoster()
        {
            btnIslem.Focus();
            btnIslem.Enabled = false;
            btnIslem.Text = "Yanıt Bekleniyor";

  
            foreach (Control item in grouperSoruAlani.Controls)
            {
                if (item is TextBox)
                    item.BackColor = SystemColors.Control;
            }

            this.txtSoru.Text = sorular.TumSorular[soruNolar[soruNo]].SoruAciklamasi;
            this.txtSecenekA.Text = sorular.TumSorular[soruNolar[soruNo]].SecenekA;
            this.txtSecenekB.Text = sorular.TumSorular[soruNolar[soruNo]].SecenekB;
            this.txtSecenekC.Text = sorular.TumSorular[soruNolar[soruNo]].SecenekC;
            this.txtSecenekD.Text = sorular.TumSorular[soruNolar[soruNo]].SecenekD;
        
            this.DogruSecenek = sorular.TumSorular[soruNolar[soruNo]].DogruSecenek;
            this.SoruNo = (soruNo + 1).ToString();

            soruNo = soruNo + 1;

            sure = ToplamSure;
            timerSure.Enabled = true;
        }

        private void timerSure_Tick(object sender, EventArgs e)
        {
            btnSure.Text = sure.ToString();
            Application.DoEvents();
            if (sure-- == 0)
            {
                timerSure.Enabled = false;
                GelecekSoruGoster();
            }
        }


 
    }
}



//**Soru sınıfı*///

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestProgramiUygulamasi
{
    public class Soru
    {
        public string SoruNo { get; set; }

        public string SoruAciklamasi { get; set; }

        public string SecenekA { get; set; }

        public string SecenekB { get; set; }

        public string SecenekC { get; set; }

        public string SecenekD { get; set; }

        public char DogruSecenek { get; set; }
    }
}


//**Sorular sınıfı*///


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestProgramiUygulamasi
{
    class Sorular
    {
        public List TumSorular;
        public Sorular()
        {
            TumSorular = new List();

            Soru yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "1958'de Gerald Holtom'ın yaptığı barış sembolü neyi protesto etmek için tasarlanmıştır?";
            yeniSoru.SecenekA = "Vietnam Savaşı";
            yeniSoru.SecenekB = "Soykırım";
            yeniSoru.SecenekC = "Nükleer Silahlanma";
            yeniSoru.SecenekD = "Kore savaşı";
            yeniSoru.DogruSecenek = 'C';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Eski Roma'da gladyatör dövüşlerinin yapıldığı \"arena\"nın kelime anlamı nedir?";
            yeniSoru.SecenekA = "Kavga";
            yeniSoru.SecenekB = "Kum";
            yeniSoru.SecenekC = "Kan";
            yeniSoru.SecenekD = "Kılıç";
            yeniSoru.DogruSecenek = 'B';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "1958’te, “Nobel Edebiyat Ödülü” kazanmasına rağmen vatandaşlıktan çıkarılacağı korkusuyla reddeden Rus yazar kimdir?";
            yeniSoru.SecenekA = "Boris Pasternak";
            yeniSoru.SecenekB = "Mihail Şolohov";
            yeniSoru.SecenekC = "Aleksandr Soljenitsin";
            yeniSoru.SecenekD = "Maksim Gorki";
            yeniSoru.DogruSecenek = 'A';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Hangisi para üzerine resmi basılan bilinen ilk gerçek kişidir?";
            yeniSoru.SecenekA = "Kraliçe I.Elizabeth";
            yeniSoru.SecenekB = "Jules Cesar";
            yeniSoru.SecenekC = "Napoleon Bonaparte";
            yeniSoru.SecenekD = "Büyük İskender";
            yeniSoru.DogruSecenek = 'D';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Efsaneye göre çift olarak yaratılan insanlar kim tarafından ayrılarak hayatları boyunca “ruh eşleri”ni aramakla cezalandırılmışlardır?";
            yeniSoru.SecenekA = "Zeus";
            yeniSoru.SecenekB = "Apollon";
            yeniSoru.SecenekC = "Hermes";
            yeniSoru.SecenekD = "Metis";
            yeniSoru.DogruSecenek = 'A';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "“Onun sayesinde” sözündeki “saye” nin kelime anlamı nedir?";
            yeniSoru.SecenekA = "Rüzgar";
            yeniSoru.SecenekB = "Koltuk";
            yeniSoru.SecenekC = "Merdiven";
            yeniSoru.SecenekD = "Gölge";
            yeniSoru.DogruSecenek = 'D';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = " Hangi türk lirası banknotunda Atatürk'ün yüzü bize tam dönüktür ?";
            yeniSoru.SecenekA = "5 TL";
            yeniSoru.SecenekB = "20 TL";
            yeniSoru.SecenekC = "50 TL";
            yeniSoru.SecenekD = "200 TL";
            yeniSoru.DogruSecenek = 'D';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Adını Büyük İskenderin kız kardeşinden alan kent hangisidir";
            yeniSoru.SecenekA = "Delhi";
            yeniSoru.SecenekB = "Selanik";
            yeniSoru.SecenekC = "Bağdat";
            yeniSoru.SecenekD = "Viyana";
            yeniSoru.DogruSecenek = 'B';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "1997’de hangi ülkenin üç vatandaşı, atalarından miras kaldığını düşündükleri Mars’a izinsiz uzay aracı gönderdiği için NASA’yı mahkemeye vermiştir?";
            yeniSoru.SecenekA = "Yemen";
            yeniSoru.SecenekB = "Hindistan";
            yeniSoru.SecenekC = "Kuzey Kore";
            yeniSoru.SecenekD = "İran";
            yeniSoru.DogruSecenek = 'A';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Bir tür Kaplıca olan “Spa” ismini hangisinden almıştır?";
            yeniSoru.SecenekA = "Latince bir deyişin kısaltmasından";
            yeniSoru.SecenekB = "Mitolojik bir tanrıdan ";
            yeniSoru.SecenekC = "İtalya’daki bir şelaleden";
            yeniSoru.SecenekD = "Belçika’da bir bölgeden";
            yeniSoru.DogruSecenek = 'D';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Hangisi kesildiğinde, insanlar hep birlikte “Aaaa” diyerek şok olmuşcasına tepki verirler?";
            yeniSoru.SecenekA = "Telefon";
            yeniSoru.SecenekB = "İnternet";
            yeniSoru.SecenekC = "Su";
            yeniSoru.SecenekD = "Elektrik";
            yeniSoru.DogruSecenek = 'D';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Misafirliğe çocuklarıyla giden anneler, çocuklarını yaramazlık yapmamaları konusunda ne şekilde uyarırlar?";
            yeniSoru.SecenekA = "Omuz silkerek ";
            yeniSoru.SecenekB = "Parmak Şıklatarak";
            yeniSoru.SecenekC = "Islık Çalarak ";
            yeniSoru.SecenekD = "Kaş göz işareti yaparak";
            yeniSoru.DogruSecenek = 'D';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "İnsanların, düğünlerde etrafa saçtıkları dolarlar genellikle ne kadarlık banknotlardır?";
            yeniSoru.SecenekA = "1";
            yeniSoru.SecenekB = "10";
            yeniSoru.SecenekC = "50";
            yeniSoru.SecenekD = "100";
            yeniSoru.DogruSecenek = 'A';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Kahvehanelerde, tavlayı ters çevirip, pullarla birlikte zarları da pul yerine kullanarak oynanan oyun hangisidir?";
            yeniSoru.SecenekA = "Satranç";
            yeniSoru.SecenekB = "Dama";
            yeniSoru.SecenekC = "Asker Tavlası";
            yeniSoru.SecenekD = "Kız Tavlası";
            yeniSoru.DogruSecenek = 'B';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Geçici dövme olarak kullanılan kınalar hangi milletin adıyla anılır?";
            yeniSoru.SecenekA = "Hint";
            yeniSoru.SecenekB = "Çin";
            yeniSoru.SecenekC = "Yunan";
            yeniSoru.SecenekD = "Arap";
            yeniSoru.DogruSecenek = 'A';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Yönetmenliğini Joshua Michael Stern’in yaptığı ashton Kutcher’in başrolde olduğu filmde kimin hayatı anlatılmaktadır?";
            yeniSoru.SecenekA = "Mark Zockerberg";
            yeniSoru.SecenekB = "Eric Schmidt";
            yeniSoru.SecenekC = "Stevve Jobs";
            yeniSoru.SecenekD = "Bill Gates";
            yeniSoru.DogruSecenek = 'C';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Adının anlamı Arapçada “Yunan Tavuğu”, Yunancada “Fransız Tavuğu”, Fransızcada ise “hint tavuğu” olan hayvanın bizdeki adı nedir?";
            yeniSoru.SecenekA = "Sülün";
            yeniSoru.SecenekB = "Ördek";
            yeniSoru.SecenekC = "Hindi";
            yeniSoru.SecenekD = "Tavuk";
            yeniSoru.DogruSecenek = 'C';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Birine, “Dört ayak üstüne düştün” demek yerine hangisi söylense aynı anlama gelir?";
            yeniSoru.SecenekA = "Şanslısın";
            yeniSoru.SecenekB = "Heyecanlısın";
            yeniSoru.SecenekC = "Meraklısın";
            yeniSoru.SecenekD = "Korkaksın";
            yeniSoru.DogruSecenek = 'A';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Eskiden, annelerin diğer telefonda çocuklarının konuşmalarını dinlediği, aynı numaraya sahip iki telefon hattı hangi isimle anılırdı?";
            yeniSoru.SecenekA = "Telsiz Telefon";
            yeniSoru.SecenekB = "Paralel Telefon";
            yeniSoru.SecenekC = "Ankesörlü telefon";
            yeniSoru.SecenekD = "Kurulu telefon";
            yeniSoru.DogruSecenek = 'B';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Lüks lambasıyla aydınlatılan el arabalarındai genellikle gece vakti, yanında ayranla satılan seyyar satıcı yiyeceği hangisidir?";
            yeniSoru.SecenekA = "Çöp şiş";
            yeniSoru.SecenekB = "Midye dolma";
            yeniSoru.SecenekC = "Nohutlu Pilav";
            yeniSoru.SecenekD = "Balık Ekmek";
            yeniSoru.DogruSecenek = 'C';

            TumSorular.Add(yeniSoru);
            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Duygulanan bir insanın gözlerinden yaş gelmesini ifade eden sözün doğru söyleniş biçimi hangisidir?";
            yeniSoru.SecenekA = "Gözlerim yeşerdi";
            yeniSoru.SecenekB = "Gözlerim yaşardı";
            yeniSoru.SecenekC = "Gözlerim yaşerdi";
            yeniSoru.SecenekD = "Gözlerim yeşillendi";
            yeniSoru.DogruSecenek = 'B';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Hangisinin hem erkeği hem dişisi aynı adla anılır?";
            yeniSoru.SecenekA = "Manda";
            yeniSoru.SecenekB = "Öküz";
            yeniSoru.SecenekC = "Boğa";
            yeniSoru.SecenekD = "Koç";
            yeniSoru.DogruSecenek = 'A';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Geourge Orwell’in yazdığı “1984″ romanında, Okyanusa ülkesinin her şeyin en iyisini bilen ve sürekli izleme halinde olan tek liderinin adı nedir?";
            yeniSoru.SecenekA = "Sam Amca";
            yeniSoru.SecenekB = "Yurttaş Kane";
            yeniSoru.SecenekC = "Büyük birader";
            yeniSoru.SecenekD = "Mr. Big";
            yeniSoru.DogruSecenek = 'C';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Küçük kız çocukları, düğünlerde genellikle hangisini yapmakla görevlidirler?";
            yeniSoru.SecenekA = "Yüzükleri takmak";
            yeniSoru.SecenekB = "Kurdele kesmek";
            yeniSoru.SecenekC = "Duvak taşımak";
            yeniSoru.SecenekD = "Pasta kesmek";
            yeniSoru.DogruSecenek = 'C';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Özellikle küçük şehirlerde, şehir merkezinden genellikle hangi kelimeyle söz edilir?";
            yeniSoru.SecenekA = "Pazar";
            yeniSoru.SecenekB = "Mahalle";
            yeniSoru.SecenekC = "Muhit";
            yeniSoru.SecenekD = "Çarşı"; 
            yeniSoru.DogruSecenek = 'D';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Eskiden çoğu evde telefon yokken, insanlar genellikle nereye gidip, telefonun kumbarasına bozuk para koyarak telefon ederlerdi?";
            yeniSoru.SecenekA = "Terzi";
            yeniSoru.SecenekB = "Berber";
            yeniSoru.SecenekC = "Bakkal";
            yeniSoru.SecenekD = "Manav"; 
            yeniSoru.DogruSecenek = 'C';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Kuzey yönüne bakan biri, sağ tarafına doğru kendi etrafında 360 derecelik bir dönüş yaptıktan sonra hangi yöne bakıyor olur?";
            yeniSoru.SecenekA = "Kuzey";
            yeniSoru.SecenekB = "Güney";
            yeniSoru.SecenekC = "Doğu";
            yeniSoru.SecenekD = "Batı";
            yeniSoru.DogruSecenek = 'A';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Hangisi bir kuruldur?";
            yeniSoru.SecenekA = "Noter";
            yeniSoru.SecenekB = "Müsteşar";
            yeniSoru.SecenekC = "Encümen";
            yeniSoru.SecenekD = "Armatör";
            yeniSoru.DogruSecenek = 'C';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Orta Çağ’da vebadan kaçan bir grup gencin, gittikleri kırsal yerde anlattıkları, 10 günü kapsayan kurgu hikayelerinden oluşan Bocaccio’nun kitabı hangisidir?";
            yeniSoru.SecenekA = "Ütopya";
            yeniSoru.SecenekB = "Decameron";
            yeniSoru.SecenekC = "Ulysses";
            yeniSoru.SecenekD = "Şibumi";
            yeniSoru.DogruSecenek = 'B';

            TumSorular.Add(yeniSoru);

            yeniSoru = new Soru();
            yeniSoru.SoruAciklamasi = "Hangisinin vücudunda kemik bulunmaz?";
            yeniSoru.SecenekA = "Kaplumbağa";
            yeniSoru.SecenekB = "Köpekbalığı";
            yeniSoru.SecenekC = "Yunus";
            yeniSoru.SecenekD = "Yarasa";
            yeniSoru.DogruSecenek = 'B';

            TumSorular.Add(yeniSoru);


        }
    }
}


UYGULAMAYI İNDİR


C Sharp Uygulamalar Kim 500 Milyon İster Oyunu Oyna







1 yorum :

  1. Uygulamanın indirme bağlantısı güncellendi. Bir problem olursa buradan yazınız...

    YanıtlaSil