标题:
一个用C#写的小学数学出题联系系统源代码
[打印本页]
作者:
liuboyang2020
时间:
2020-11-29 23:26
标题:
一个用C#写的小学数学出题联系系统源代码
c#写的小学数学二年级自动出题系统,实现自动随机出题;四则运算。对于刚学C#的朋友掌握光标获取、锁定光标,TAB切换、回车键绑定、随机数产生、列表框显示运用等有帮助!
51hei.png
(6.98 KB, 下载次数: 102)
下载附件
2020-12-13 17:35 上传
源程序如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int a, b,aaa,bbb,bb;
string op;
string op1;
string op2;
int result;
int result1;
int result2;
Random rnd = new Random();
private void Form1_Load(object sender, EventArgs e)
{
}
private void Button1Click(object sender, EventArgs e)
{
a = rnd.Next(10) + 1;
b = rnd.Next(10) + 1;
if (a<=b)
a=a+b;
aaa = rnd.Next(10) + 1;
bbb = rnd.Next(10) + 1;
if (aaa<=bbb)
aaa=aaa+bbb;
bb = rnd.Next(8) + 1;
int c = rnd.Next(3);
int cc = rnd.Next(3);
int ccc = rnd.Next(2);
switch (c)
{
case 0: op = "+"; result = a + b; break;
case 1: op = "-"; result = a - b; break;
case 2: op = "×"; result = a * b; break;
case 3: op = "÷"; result = a / b; break;
}
switch (cc)
{
case 0: op1 = "+"; result1 = aaa + bbb ; break;//OP1表示当前运算符号和结果,运算结果result1等于加数+加数
case 1: op1 = "-"; result1 = aaa - bbb ; break;//OP1表示当前运算符号和结果,运算结果result1等于被减数-减数
case 2: op1 = "×"; result1 = aaa * bbb ; break;//OP1表示当前运算符号和结果,运算结果result1等于乘数*乘数
case 3: op1 = "÷"; result1 = aaa / bbb ; break;//OP1表示当前运算符号和结果,运算结果result1等于除数/除数
}
switch (ccc)
{
case 0: op2 = "+"; result2 = result1 + bb; break;
case 1: op2 = "×"; result2 = result1 * bb; break;
}
textBox2.Text = a.ToString();//算式1中的从左边到右第一个数
textBox3.Text = b.ToString();//算式1中的从左边到右第二个数
textBox4.Text = aaa.ToString();//算式2中的从左边到右第一个数
textBox5.Text = bbb.ToString();//算式2中的从左边到右第二个数
textBox6.Text = bb.ToString();//算式2中的从左边到右第三个数
label2.Text = op;//算式1中的运算符号,随机产生对应的符号
label1.Text = op1;//算式2中的运算符号,随机产生对应的符号
label6.Text = op2;//算式2中的运算符号,随机产生对应的符号
textBox1.Text="";//按键后清空文本框的内容!
textBox7.Text="";//按键后清空文本框的内容!
textBox1.Focus();
}
private void Button2Click(object sender, EventArgs e)
{
//if (textBox1.Text =="")
// MessageBox.Show("请输入数字,不能为空");
//else
// MessageBox.Show("输入的数字正确");
if (textBox1.Text == "")//判断是否输入的用户名,如果没有输入,显示下面的提示,否则跳到else
{
MessageBox.Show("答案不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
if (textBox7.Text == "")//判断是否输入的用户名,如果没有输入,显示下面的提示,否则跳到else
{
MessageBox.Show("答案不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
string str = textBox1.Text;//文本框输入为等式的结果,结果答案输入处。
string str1 = textBox7.Text;
double d = double.Parse(str);
double dd = double.Parse(str1);
string disp = " " + a + op + b + "=" + str + " ";
string disp1 = " " + aaa + op1 + bbb + op2 + bb + "=" + str1 + " ";
if (d == result) // if( Math.Abs(d-result)< 1e-3 )
disp += "√ 答案正确 刘颖颖你真棒";
else
disp += "╳ 答案错误 加油重新列算式运算";
if (dd == result2) // if( Math.Abs(d-result)< 1e-3 )
disp1 += "√ 答案正确 刘颖颖你真棒";
else
disp1 += "╳ 答案错误 加油重新列算式运算";
lstDisp.Items.Add(disp);
lstDisp.Items.Add(disp1);
textBox1.Text="";//清空上一次输入的结果!
textBox7.Text="";//清空上一次输入的结果!
}
}
void TextBox1KeyPress(object sender, KeyPressEventArgs e)
{
if(!(char.IsNumber(e.KeyChar))&& e.KeyChar !=(char)8)
{
e.Handled = true;//判定为数字,可以输入
}
}
void LstDispSelectedIndexChanged(object sender, EventArgs e)
{
if (lstDisp.Text.Length >10)
lstDisp.Text = "";
}
void TextBox7KeyPress(object sender, KeyPressEventArgs e)
{
if(!(char.IsNumber(e.KeyChar))&& e.KeyChar !=(char)8)
{
e.Handled = true;//判定为数字,可以输入
}
}
void Button3Click(object sender, EventArgs e)
{
lstDisp.Items.Clear();
}
}
}
复制代码
全部资料51hei下载地址:
运算1.4版本.7z
(4.44 MB, 下载次数: 20)
2020-12-13 17:36 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
liuboyang2020
时间:
2020-11-30 00:56
怎么上传附件
作者:
51hei团团
时间:
2020-12-2 05:46
liuboyang2020 发表于 2020-11-30 00:56
怎么上传附件
点帮助:
http://www.51hei.com/bbs/dpj-507-1.html
作者:
liuboyang8888
时间:
2021-8-7 15:06
不错,学习了。实测可运行
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1