• 21-12-2010, 20:23:00
    #1
    Bir win uygulamasi yapmam gerek. Soru sorulacak ve cevaba gore evet derse baska soru, hayir derse baska soru cikacak. kisaca akis diagrami gibi bisey.Bu sekilde 100den fazla soru sormam gerek. Ilk aklima gelen if ama yuzlerce icice if olacak. En basit sekilde sizce nasil yapabilirim?
  • 22-12-2010, 23:58:16
    #2
    Üyeliği durduruldu
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();

    }


    string[,] Dizi = new string[5, 4];
    int sorulan_soru = 0;



    private void button2_Click(object sender, EventArgs e)
    {
    if (Dizi[sorulan_soru, 3] == "hayır")
    {
    label1.Text = Dizi[Convert.ToInt32(Dizi[sorulan_soru, 1]), 0];
    sorulan_soru = Convert.ToInt32(Dizi[sorulan_soru, 1]);
    }
    else
    {
    label1.Text = Dizi[Convert.ToInt32(Dizi[sorulan_soru, 2]), 0];
    sorulan_soru = Convert.ToInt32(Dizi[sorulan_soru, 2]);
    }
    }

    private void button1_Click(object sender, EventArgs e)
    {
    if (Dizi[sorulan_soru, 3] == "evet")
    {
    label1.Text = Dizi[Convert.ToInt32(Dizi[sorulan_soru, 1]), 0];
    sorulan_soru = Convert.ToInt32(Dizi[sorulan_soru, 1]);
    }
    else
    {
    label1.Text = Dizi[Convert.ToInt32(Dizi[sorulan_soru, 2]), 0];
    sorulan_soru = Convert.ToInt32(Dizi[sorulan_soru, 2]);
    }

    }

    private void Form1_Load(object sender, EventArgs e)
    {

    Dizi[0, 0] = "Birinci Soru Burada";
    Dizi[0, 1] = "1"; // Birinci soru doğru ise gidilecek soru
    Dizi[0, 2] = "2"; // Birinci soru yanlış ise gidilecek soru
    Dizi[0, 3] = "hayır"; // doğru cevap

    Dizi[1, 0] = "İkinci Soru Burada";
    Dizi[1, 1] = "2"; // Birinci soru doğru ise gidilecek soru
    Dizi[1, 2] = "3"; // Birinci soru yanlış ise gidilecek soru
    Dizi[1, 3] = "evet"; // doğru cevap

    Dizi[2, 0] = "Üçüncü Soru Burada";
    Dizi[2, 1] = "3"; // Birinci soru doğru ise gidilecek soru
    Dizi[2, 2] = "4"; // Birinci soru yanlış ise gidilecek soru
    Dizi[2, 3] = "evet"; // doğru cevap

    Dizi[3, 0] = "dörüncü Soru Burada";
    Dizi[3, 1] = "4"; // Birinci soru doğru ise gidilecek soru
    Dizi[3, 2] = "2"; // Birinci soru yanlış ise gidilecek soru
    Dizi[3, 3] = "hayır"; // doğru cevap

    Dizi[4, 0] = "Beşinci Soru Burada";
    Dizi[4, 1] = "2"; // Birinci soru doğru ise gidilecek soru
    Dizi[4, 2] = "1"; // Birinci soru yanlış ise gidilecek soru
    Dizi[4, 3] = "evet"; // doğru cevap

    label1.Text = Dizi[0, 0];
    }


    }

    Biraz uğraştırdı kod yazmayı seviyorum.
  • 23-12-2010, 12:58:10
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Çok düşünmedim ama Ağaç yapısı kullanılarak yapılabilir herhalde.Ilk soru parent olursa evet veya hayira göre sağ veya sol çocuğa gidilebilir. Başka algoritmalar da düşünülebilir tabi
  • 23-12-2010, 15:10:41
    #4
    xml ile hallettim arkadaşlar.