Bilgi Yarışması Programı

Access Veri tabanına eklenen sorulardan rastgele ve birbirinden farklı 10 sorulu bir bilgi yarışması programı yapılacaktır. her soru 10 sn süreli olacak ve formda veri tabanında kaç soru olduğu, kaç doğru, kaç yanlış, kaç boş cevap verildiği gibi bilgilerin yer aldığı bir programdı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 bilgiyarisma
{
public partial class Form1 : Form
{
public Form2 frm2;
public Form3 frm3;
public Form1()
{
InitializeComponent();
frm2 = new Form2();
frm3 = new Form3();
}
private void button1_Click(object sender, EventArgs e)
{
frm2.Show();
this.Hide();
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
frm3.Show();
}
private void button3_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}

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;
using System.Data.OleDb;

namespace bilgiyarisma
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
OleDbConnection bag = new OleDbConnection(“Provider=Microsoft.ACE.OLEDB.12.0; Data Source=bilgi.accdb”);
OleDbCommand kmt = new OleDbCommand();
DataTable tablo = new DataTable();
OleDbDataAdapter adtr = new OleDbDataAdapter();
int rasgele;
int sayi = 0;
int dizi = 0;
int[] sayilar = new int[10];
int i = 0;
private void Form2_Load(object sender, EventArgs e)
{
bag.Open();
OleDbCommand Cmd = new OleDbCommand(“SELECT COUNT(*) FROM sorular”, bag); //veri tabanındaki kayıt sayısını bulup label13’te göstermek.
string ssayisi = Cmd.ExecuteScalar().ToString();
label13.Text = ssayisi.ToString();
int ssayisi2 = Convert.ToInt32(ssayisi);
Random r = new Random();
{
//listBox1.Items.Clear(); //listbox rastgele üretilen sayıları görmek için kullanıldı.
rasgele = r.Next(1, ssayisi2 + 1);
sayilar[0] = rasgele;
for (int i = 1; i<sayilar.Length; i++)
{
rasgele = r.Next(1, ssayisi2 + 1);
for (int j = 0; j<i; j++)
{
if (sayilar[j] == rasgele)
{
i–;
break;
}
else
{
sayilar[i] = rasgele;
}
}
}
/* for (int i = 0; i<10; i++)
{
listBox1.Items.Add(sayilar[i].ToString());
}*/ // Burası rastgele üretilen sayıları ListBox ta görmek için.
}

button2.Enabled = false;
sayi++;
label10.Text = sayi.ToString();
kmt.Connection = bag;
kmt.CommandText = “Select * from sorular where id=” + rasgele ;
OleDbDataReader dr = kmt.ExecuteReader();
while (dr.Read())
{
label2.Text = dr[1].ToString();
radioButton1.Text=dr[2].ToString();
radioButton2.Text=dr[3].ToString();
radioButton3.Text=dr[4].ToString();
radioButton4.Text=dr[5].ToString();
dogrucevap = dr[6].ToString();
}
dr.Dispose();
bag.Close();

timer1.Interval = 1000;
timer1.Enabled = true;
label4.Text = sayac.ToString();
}
int sayac = 10;
int bos = 0;
private void timer1_Tick(object sender, EventArgs e)
{
label4.Text = sayac.ToString();
sayac–;
if (sayac == -1)
{
groupBox1.Enabled = false;
timer1.Enabled = false;
button1.Enabled = false;
button2.Enabled = true;
bos++;
label12.Text = bos.ToString();

}
}
string dogrucevap,yarismacicevap;
int dogru = 0, yanlis = 0;

private void button2_Click(object sender, EventArgs e)
{
sayac = 10;
radioButton1.Checked = false;
radioButton2.Checked = false;
radioButton3.Checked = false;
radioButton4.Checked = false;
timer1.Enabled = true;
groupBox1.Enabled = true;
button1.Enabled = true;
button2.Enabled = false;
if (sayi == 10)
{
timer1.Enabled = false;
groupBox1.Enabled = false;
MessageBox.Show(“Yarışma Sona erdi… Doğru Sayınız= ” + dogru + ” Yanlış Sayınız= ” + yanlis + “Boş Sayısı= “+ bos);
Application.Exit();
}

sayi++;
label10.Text = sayi.ToString();

bag.Open();
kmt.Connection = bag;
kmt.CommandText = “Select * from sorular where id=” + sayilar[i];
i++;
OleDbDataReader dr = kmt.ExecuteReader();
while (dr.Read())
{
label2.Text = dr[1].ToString();
radioButton1.Text = dr[2].ToString();
radioButton2.Text = dr[3].ToString();
radioButton3.Text = dr[4].ToString();
radioButton4.Text = dr[5].ToString();
dogrucevap = dr[6].ToString();
}
dr.Dispose();
bag.Close();

}
private void button1_Click(object sender, EventArgs e)
{

groupBox1.Enabled = false;
timer1.Enabled = false;
button1.Enabled = false;
button2.Enabled = true;
if (radioButton1.Checked) yarismacicevap = radioButton1.Text;
if (radioButton2.Checked) yarismacicevap = radioButton2.Text;
if (radioButton3.Checked) yarismacicevap = radioButton3.Text;
if (radioButton4.Checked) yarismacicevap = radioButton4.Text;
if (yarismacicevap == dogrucevap) dogru++;
else yanlis++;
label5.Text = dogru.ToString();
label6.Text = yanlis.ToString();

}
}
}


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;
using System.Data.OleDb;

namespace bilgiyarisma
{
public partial class Form3 : Form
{
public Form3()
{

InitializeComponent();

}
OleDbConnection bag = new OleDbConnection(“Provider=Microsoft.ACE.OLEDB.12.0; Data Source=bilgi.accdb”);
OleDbCommand kmt = new OleDbCommand();
DataTable tablo = new DataTable();
OleDbDataAdapter adtr = new OleDbDataAdapter();
private void button2_Click(object sender, EventArgs e)
{
Form1 frm=new Form1();
frm.Show();
this.Hide();
}
private void Form3_Load(object sender, EventArgs e)
{

}
private void button1_Click(object sender, EventArgs e)
{
bag.Open();
kmt.Connection = bag;
kmt.CommandText = “INSERT INTO sorular(sorular,a,b,c,d,cevap) VALUES (‘” + textBox1.Text + “‘, ‘” + textBox2.Text + “‘,'” + textBox3.Text + “‘,'” + textBox4.Text + “‘,'” + textBox5.Text + “‘,'” + textBox6.Text + “‘)”;
kmt.ExecuteNonQuery();
kmt.Dispose();
bag.Close();
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
}
}
}

You may also like...