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.IO;
namespace 小石头和老陈
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public static int Count = 0;//题目总数
public static int right = 0;//正确的题目总数
public static int connt = 0;//错误题目数
public static int time;
public static int tim;
public static string ty = "";
public static int re=0;
public int t = 60;
int j = 0;
string a;
string b;
int c;
private void label3_Click(object sender, EventArgs e)
{
tb4.Text = "+";
}
private void label4_Click(object sender, EventArgs e)
{
tb4.Text = "-";
}
private void label5_Click(object sender, EventArgs e)
{
tb4.Text = "*";
}
private void label6_Click(object sender, EventArgs e)
{
tb4.Text = "/";
}
private void button3_Click(object sender, EventArgs e)
{
En en=null;
a = textBox6.Text;
b = textBox8.Text;
string str = textBox7.Text;
switch (str)
{
case "+":
en = new En(new Add()); //策略模式的引用
break;
case "-":
en = new En(new Sub());
break;
case "*":
en = new En(new Mul());
break;
case "/":
en = new En(new Div());
break;
default:
break;
}
if (textBox8.Text == "" || textBox6.Text == "")//当没有导入题时不能记到总做的题数;
{
MessageBox.Show("不能为空");
Count--;
}
else if (textBox3.Text == c.ToString())
{
right++;
MessageBox.Show("回答正确!");
}
else if (textBox3.Text != c.ToString())
{
connt++;
MessageBox.Show("回答错误!");
}
textBox6.Clear();
textBox7.Clear();
textBox8.Clear();
textBox3.Clear();
textBox1.Text = Count.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
Form2 form = new Form2();
form.ShowDialog();
}
private void button1_Click(object sender, EventArgs e)
{
//保存家长出的数学题
StreamWriter wr = File.AppendText("g1.txt");
wr.WriteLine(tb1.Text );
wr.Close();
StreamWriter wr1 = File.AppendText("g2.txt");
wr1.WriteLine(tb2.Text);
wr1.Close();
StreamWriter wr2 = File.AppendText("g3.txt");
wr2.WriteLine(tb4.Text);
wr2.Close();
tb1.Clear();
tb2.Clear();
tb4.Clear();
}
private void button4_Click(object sender, EventArgs e)
{
try//防止出现异常,当题做完直接跳转到Form2窗体,,,,
{
j++;
string[] jg = new string[100];
jg = File.ReadAllLines("g1.txt");
textBox6.Text = jg[j];
string[] jg2 = new string[100];
jg2 = File.ReadAllLines("g3.txt");
textBox7.Text = jg2[j];
string[] jg3 = new string[100];
jg3 = File.ReadAllLines("g2.txt");
textBox8.Text = jg3[j];
string[] jg4 = new string[100];
jg4 = File.ReadAllLines("g4.txt");
if (jg2[j] =="/"&& jg3 [j]=="0")
{
MessageBox.Show("分母不能为零");//判断分母是否为零,
j++;
textBox6.Clear();
textBox7.Clear();
textBox8.Clear();
}
}
catch
{
Form2 form = new Form2();
form.ShowDialog();
}
if( textBox2 .Text =="")
{
MessageBox.Show("请输入时间");
}
int minse = int.Parse(textBox2.Text);
time = minse;
this.timer1.Interval = 1000;
this.timer1.Enabled = true;
this.timer1.Start();
time--;
Count++;
}
private void button5_Click(object sender, EventArgs e)
{
Form3 form3 = new Form3();
form3.ShowDialog();
}
private void textBox2_Click(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
tim= Convert.ToInt32(textBox2.Text);
if (time <= 0)
{
timer1.Enabled = false;
textBox2.Enabled = false;
MessageBox.Show("答题时间到!");
textBox2.Enabled = false;
Form2 frm2 = new Form2();
frm2.ShowDialog();
}
textBox2.Text = time.ToString();
time--;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 小石头和老陈
{
public interface Calculator
{
double Cl(double a, double b);
}
public class Add : Calculator
{
public double Cl(double a, double b)//加法运算
{
double result = 0;
result = a + b;
return result;
}
}
public class Sub : Calculator //减法运算
{
public double Cl(double a, double b)
{
double result = 0;
result = a - b;
return result;
}
}
public class Mul : Calculator//乘法运算
{
public double Cl(double a, double b)
{
double result = 0;
result = a * b;
return result;
}
}
public class Div : Calculator //除法运算
{
public double Cl(double a, double b)
{
double result = 0;
result = a / b;
return result;
}
}
public class En //定义那个需要动态改变算法的对象
{
private Calculator cal;
public En(Calculator calculate)
{
this.cal = calculate;
}
public double Cal(double a, double b, String m) //返回运算结果
{
return this.cal.Cl(a, b);
}
}
}
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 小石头和老陈
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
textBox1.Text = Form1.Count.ToString();//题目总数
textBox2.Text = Form1.right.ToString();//正确题目数目
textBox3.Text = Form1.connt.ToString();
textBox4.Text = ((Form1.right / (double)(Form1.Count)) * 100).ToString() + "%";//题目正确率
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
PSP消耗