运行结果:
策略封装代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace shuxuefudao { public interface ITaxStragety { int Calcul(int a,int b); } class Class2 : ITaxStragety { public int Calcul(int a, int b) { return a + b; } } class sub : ITaxStragety { public int Calcul(int a, int b) { return a - b; } } class sheng : ITaxStragety { public int Calcul(int a, int b) { return a *b; } } class chu : ITaxStragety { public int Calcul(int a, int b ) { return a / b; } } class tiaoyong { public int c=0; public int n=0; public void yunsuan(string m) { if(m=="+") { Class2 ss = new Class2(); ss.Calcul(c,n); } if(m=="-") { sub ww = new sub(); ww.Calcul(c,n); } if(m=="*") { sheng qq = new sheng(); qq.Calcul(c,n); } if(m=="/") { chu pp = new chu(); pp.Calcul(c,n); } } } }
内容代码:
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 shuxuefudao { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string path = "E: tf"; public static int Count = 0; public static int zhengque = 0; public static int lefttime; public static int time; public static int sum; int i = 1; Class1 mm = new Class1(); private void Form1_Load(object sender, EventArgs e) { if (File.Exists(path)) { this.richTextBox1.LoadFile(path, RichTextBoxStreamType.RichText); open.Enabled = false; } save.Enabled = false; } private void open_Click(object sender, EventArgs e) //打开文件的方法 { OpenFileDialog TxTOpenDialog = new OpenFileDialog(); TxTOpenDialog.Filter = "RTF文件(*.RTF)|*.RTF"; if (TxTOpenDialog.ShowDialog() == DialogResult.OK) { path = TxTOpenDialog.FileName; this.richTextBox1.LoadFile(TxTOpenDialog.FileName, RichTextBoxStreamType.RichText); save.Enabled = false; open.Enabled = false; MessageBox.Show("读取成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } private void save_Click(object sender, EventArgs e) //保存文件的方法 { SaveFileDialog TxtSaveDialog = new SaveFileDialog(); TxtSaveDialog.Filter = "RTF文件(*.RTF)|*.RTF"; if (File.Exists(path)) { this.richTextBox1.LoadFile(path, RichTextBoxStreamType.RichText); MessageBox.Show("保存成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); save.Enabled = false; } else { if (TxtSaveDialog.ShowDialog() == DialogResult.OK) { this.richTextBox1.SaveFile(TxtSaveDialog.FileName, RichTextBoxStreamType.RichText); MessageBox.Show("保存成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); save.Enabled = false; } } } private void richTextBox1_TextChanged(object sender, EventArgs e) { save.Enabled = true; if (this.richTextBox1.Text == "" || this.richTextBox1.Text == null) { open.Enabled = true; } } public void shizi() //编写试题的方法 { left.Text = ""; fuhao.Text = ""; right.Text = ""; } private void open2_Click(object sender, EventArgs e) //打开试题的方法 { OpenFileDialog TxTOpenDialog = new OpenFileDialog(); TxTOpenDialog.Filter = "RTF文件(*.RTF)|*.RTF"; if (TxTOpenDialog.ShowDialog() == DialogResult.OK) { path = TxTOpenDialog.FileName; this.richTextBox2.LoadFile(TxTOpenDialog.FileName, RichTextBoxStreamType.RichText); save.Enabled = false; open.Enabled = false; MessageBox.Show("导入成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } private void daoru_Click(object sender, EventArgs e) //导入试题的方法 { richTextBox2.Text = richTextBox1.Text; } private void daan1_Click(object sender, EventArgs e) { if (daan1.Text == "显示答案") { daan.PasswordChar = Convert.ToChar(0); daan1.Text = "隐藏答案"; } else if (daan1.Text == "隐藏答案") { daan.PasswordChar = '.'; daan1.Text = "显示答案"; } } private void kaishi_Click(object sender, EventArgs e) { string[] ll = new string[100]; ll = File.ReadAllLines("writer.txt"); textBox1.Text = ll[0]; string[] lli = new string[100]; lli = File.ReadAllLines("writer1.txt"); textBox2.Text = lli[0]; string[] llp = new string[100]; llp = File.ReadAllLines("writer2.txt"); textBox3.Text = llp[0]; int minute; try { minute = int.Parse(this.shijian.Text); } catch (System.Exception ex) { this.shijian1.Text = "输入错误"; return; } lefttime = minute; this.timer1.Interval = 1000; this.timer1.Enabled = true; this.timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { if (lefttime <= 0) { timer1.Enabled = false; MessageBox.Show("答题时间到!"); Form2 frm2 = new Form2(); frm2.ShowDialog(); } this.shijian1.Text = "剩余时间" + lefttime.ToString() + "秒"; lefttime--; } private void jieshu_Click(object sender, EventArgs e) { Form2 frm2 = new Form2(); frm2.ShowDialog(); } private void button1_Click(object sender, EventArgs e) //请编辑下道题的事件 { Count++; ti.Text = Count.ToString(); StreamWriter writer = File.AppendText("writer.txt"); writer.WriteLine(left.Text); writer.Close(); StreamWriter writer1 = File.AppendText("writer1.txt"); writer1.WriteLine(fuhao.Text); writer1.Close(); StreamWriter writer2 = File.AppendText("writer2.txt"); writer2.WriteLine(right.Text); writer2.Close(); richTextBox1.Text += left.Text + fuhao.Text + right.Text + label2.Text + "" + " "; //mm.m= int.Parse(left.Text); //mm.n = int.Parse(right.Text); daan.Text = Convert.ToString(mm.c); daan.Text += sum + " "; tiaoyong ee = new tiaoyong(); ee.c = int.Parse(left.Text); ee.n = int.Parse(right.Text); string a = Convert.ToString(mm.m); ee.yunsuan(a); //left.Text=""; //right.Text = ""; //fuhao.Text = ""; //mm.a = left.Text; //mm.b = right.Text; //mm.d = fuhao.Text; //mm.Calue(); // string f = fuhao.Text; // switch (f) // { // case "+": // sum = int.Parse(left.Text) + int.Parse(right.Text); // daan.Text += sum + " "; // shizi(); // break; // case "-": // sum = int.Parse(left.Text) - int.Parse(right.Text); // shizi(); // daan.Text += sum + " "; // break; // case "×": // sum = int.Parse(left.Text) * int.Parse(right.Text); // shizi(); // daan.Text += sum + " "; // break; // case "÷": // sum = int.Parse(left.Text) / int.Parse(right.Text); // shizi(); // daan.Text += sum + " "; // break; // default: // break; // } } private void textBox4_KeyDown(object sender, KeyEventArgs e) { string m = textBox2.Text; int result; switch (m) { case "+": sum = int.Parse(textBox1.Text) + int.Parse(textBox3.Text); break; case "-": sum = int.Parse(textBox1.Text) - int.Parse(textBox3.Text); break; case "*": sum = int.Parse(textBox1.Text) * int.Parse(textBox3.Text); break; case "/": sum = int.Parse(textBox1.Text) / int.Parse(textBox3.Text); break; default: break; } if (e.KeyCode == Keys.Enter) { if (int.TryParse(textBox4.Text, out result) == false) { MessageBox.Show("请输入数字"); } if (textBox4.Text == sum.ToString()) { MessageBox.Show("回答正确"); zhengque++; } else { MessageBox.Show("回答错误"); } textBox4.Clear(); string[] ll = new string[100]; ll = File.ReadAllLines("writer.txt"); textBox1.Text = ll[i]; string[] lli = new string[100]; lli = File.ReadAllLines("writer1.txt"); textBox2.Text = lli[i]; string[] llp = new string[100]; llp = File.ReadAllLines("writer2.txt"); textBox3.Text = llp[i]; i++; } } private void button2_Click(object sender, EventArgs e) { File.WriteAllText("writer.txt", string.Empty); File.WriteAllText("writer1.txt", string.Empty); File.WriteAllText("writer2.txt", string.Empty); } } }