计算器.docx
- 文档编号:30312198
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:17
- 大小:160.10KB
计算器.docx
《计算器.docx》由会员分享,可在线阅读,更多相关《计算器.docx(17页珍藏版)》请在冰豆网上搜索。
计算器
入学登记程序
程序界面:
运行结果:
分段代码:
//设置姓名框不能输入数字
privatevoidtextBox1_KeyPress(objectsender,KeyPressEventArgse)
{
if(char.IsDigit(e.KeyChar))
{MessageBox.Show("不能输入数字");
e.Handled=true;
}
}
//设置年龄和高考分数框只能输入数字
privatevoidtextBox2_KeyPress(objectsender,KeyPressEventArgse)
{
if(e.KeyChar!
=8&&!
char.IsDigit(e.KeyChar)&&e.KeyChar!
=13)
{
MessageBox.Show("只能输入数字");
e.Handled=true;
}
}
privatevoidtextBox3_KeyPress(objectsender,KeyPressEventArgse)
{
if(e.KeyChar!
=8&&!
char.IsDigit(e.KeyChar)&&e.KeyChar!
=13)
{
MessageBox.Show("只能输入数字");
e.Handled=true;
}
}
//单击登记按钮的事件
privatevoidbutton1_Click(objectsender,EventArgse)
{
listBox1.Items.Clear();//清空列表框
if(textBox1.Text==""||textBox2.Text==""||textBox3.Text=="")//判断有空项则无法登记
{MessageBox.Show("有空项,无法登记!
");}
//把各个项目在列表框输出
else
{
listBox1.Items.Add("姓名:
"+textBox1.Text);
listBox1.Items.Add("年龄:
"+textBox2.Text);
if(radioButton1.Checked==true)//先判断选中项在输入
{listBox1.Items.Add("性别:
"+"男");}
else{listBox1.Items.Add("性别:
"+"女");}
if(radioButton3.Checked==true)//先判断选中项在输入
{listBox1.Items.Add("民族:
"+"汉族");}
else{listBox1.Items.Add("民族:
"+"其他民族");}
listBox1.Items.Add("所在省:
"+comboBox1.SelectedItem);
listBox1.Items.Add("高考分数:
"+textBox3.Text);
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Close();//单击取消按钮退出程序
}
//设置各个控件按上下左右和回车键在各个控件焦点的切换
privatevoidtextBox1_KeyDown(objectsender,KeyEventArgse)//姓名框的焦点切换
{
if(e.KeyCode==Keys.Enter||e.KeyCode==Keys.Right)
{
textBox2.Focus();
}
if(e.KeyCode==Keys.Down)
{
comboBox1.Focus();
}
}
privatevoidtextBox2_KeyDown(objectsender,KeyEventArgse)//年龄框的焦点切换
{
if(e.KeyCode==Keys.Left)
{
textBox1.Focus();
}
if(e.KeyCode==Keys.Enter)
{
comboBox1.Focus();
}
if(e.KeyCode==Keys.Down)
{
textBox3.Focus();
}
}
privatevoidcomboBox1_KeyDown(objectsender,KeyEventArgse)//地址列表的焦点切换
{
if(e.KeyCode==Keys.Right)
{
textBox3.Focus();
}
}
privatevoidtextBox3_KeyDown(objectsender,KeyEventArgse)//分数框的焦点切换
{
if(e.KeyCode==Keys.Left)
{comboBox1.Focus();}
if(e.KeyCode==Keys.Up)
{textBox2.Focus();}
if(e.KeyCode==Keys.Down)
{button2.Focus();}
}
privatevoidbutton2_KeyDown(objectsender,KeyEventArgse)//登记按钮的焦点切换
{
if(e.KeyCode==Keys.Up)
{textBox3.Focus();}
}
privatevoidbutton1_KeyDown(objectsender,KeyEventArgse)//取消按钮的焦点切换
{
if(e.KeyCode==Keys.Up)
{comboBox1.Focus();}
}//设置年龄框输入的年龄只能在18-50之间
privatevoidtextBox2_Leave(objectsender,EventArgse)
{
Int16a;
if(textBox2.Text!
="")//先判断年龄框不是空
{
a=Convert.ToInt16(textBox2.Text);
if(a<18||a>50)//然后判断输入的是不是在18-50之间
{
textBox2.Text="";
MessageBox.Show("年龄只能在18-50岁之间!
","提示框");
}
}
}
四则运算
程序界面:
程序界面:
分段代码:
publicpartialclassForm1:
Form
{
Int32a=2,b=59,f,w=0;//“a”和“b”是倒计时的分和秒,“f”是控制加减乘除的符号用的//变量,“w”计算答题数目的变量
doubleg,z;//“g”是计算作对几道题的变量,“z”是正确率
Int32[]c=newInt32[20];//用于存放20道题目符号前数字的数组
Int32[]d=newInt32[20];//用于存放20道题目符号后数字的数组
Int32[]j=newInt32[20];//用于存放20道题答案的数组
Randomr1=newRandom();//随机数
string[]s=newstring[20];//用于存放20道题目+-*/符号的数组
//计时器控件设置倒计时
privatevoidtimer1_Tick(objectsender,EventArgse)
{//输出倒计时
strings1;
s1=a.ToString()+":
"+b.ToString();
label2.Text=s1;
b=b-1;//秒倒计时
if(a==0&&b==0)//判断时间到
{
MessageBox.Show("时间到!
");//提示框时间到
button1.Enabled=true;//出题按钮可用
button2.Enabled=false;//答题按钮禁用
textBox2.Enabled=false;//答题框禁用
timer1.Enabled=false;//计时器停止
textBox2.Text="";//清空答题框
textBox1.Text="";//清空题目框
a=2;b=59;//重置时间
z=g/20*100;
label4.Text=z+"%";//输出正确率
g=0;w=0;//重置正确率
}
if(b==0)//判断秒到0时分-1
{a=a-1;b=59;}//倒计时
}
//单击出题按钮事件
privatevoidbutton1_Click(objectsender,EventArgse)
{
button2.Enabled=true;//答题按钮可用
button1.Enabled=false;//出题按钮禁用
timer1.Enabled=true;//倒计时开始
textBox2.Enabled=true;//答题框可用
listBox1.Items.Clear();//清空列表框
textBox2.Focus();//答题框获得焦点
if(radioButton1.Checked==true)//判断为加减运算选中时
{
for(inti=0;i<20;i++)//循环20次出20道题目
{
c[i]=r1.Next(1,99);//获得一个随机数
d[i]=r1.Next(1,99);//获得一个随机数
f=r1.Next(0,3);//获得一1或2的随机数
if(f==1)//f为1时符号为+号
{
s[i]="+";//保存符号
j[i]=c[i]+d[i];//计算答案
}
else//反之为-号
{
s[i]="-";//保存符号
j[i]=c[i]-d[i];//计算答案
}
listBox1.Items.Add(c[i]+s[i]+d[i]);//在列表框中添加题目算式
}
}
else//判断为乘除运算选中时
{
for(inti=0;i<20;i++)//循环20次出20道题目
{
//下面和加减选中时一样
c[i]=r1.Next(0,10);
d[i]=r1.Next(0,10);
//符号改为*/
f=r1.Next(0,3);
if(f==1)
{
s[i]="*";
j[i]=c[i]*d[i];
}
else
{
s[i]="*";//由于除法暂时不做所以符号都为*号
j[i]=c[i]*d[i];
}
listBox1.Items.Add(c[i]+s[i]+d[i]);
}
}
listBox1.SelectedIndex=0;//选中列表框中的第一项
textBox1.Text=listBox1.Text;//把列表框中选中的项在当前计算的文本框中输入
}
//答题按钮的单击击事件
privatevoidbutton2_Click(objectsender,EventArgse)
{
intaa;
if(textBox2.Text!
=""&&textBox2.Text!
="-")//在答题框不为空的情况下判断对错
{
aa=Convert.ToInt32(textBox2.Text);//把答题框的内容赋值给aa
if(aa==j[listBox1.SelectedIndex])//拿aa与答案对比
{//正确
listBox1.Items.Remove(listBox1.SelectedItem);
listBox1.Items.Insert(w,c[w]+s[w]+d[w]+"="+aa+"√");
g=g+1;
}
else
{//错误
listBox1.Items.Remove(listBox1.SelectedItem);
listBox1.Items.Insert(w,c[w]+s[w]+d[w]+"="+aa+"×");
}
w=w+1;//跳到下一题
if(w>19)//全部答完答题结束
{
MessageBox.Show("答题结束!
");
//下面和时间到一样
button1.Enabled=true;
button2.Enabled=false;
textBox2.Enabled=false;
timer1.Enabled=false;
textBox2.Text="";
textBox1.Text="";
a=2;b=59;
z=g/20*100;
label4.Text=z+"%";
g=0;
w=0;
}
else
{
listBox1.SelectedIndex=w;//列表框跳到下一题
textBox1.Text=listBox1.Text;//题目框显示下一题
textBox2.Text="";//清空答题框
textBox2.Focus();//答题框焦点
}
}
else{MessageBox.Show("请输入答案!
");textBox2.Text="";}//提示答案不能为空
}
//设置答题框KeyPress事件
privatevoidtextBox2_KeyPress(objectsender,KeyPressEventArgse)
{//设置答题框中只能输入数字
if(e.KeyChar!
=8&&!
char.IsDigit(e.KeyChar)&&e.KeyChar!
=13&&e.KeyChar!
=45)
{
MessageBox.Show("只能输入数字");
e.Handled=true;
}
//按下回车键和按下答题按钮效果一样
if(e.KeyChar==13)
{
intaa;
if(textBox2.Text!
=""&&textBox2.Text!
="-")
{
aa=Convert.ToInt32(textBox2.Text);
if(aa==j[listBox1.SelectedIndex])
{
listBox1.Items.Remove(listBox1.SelectedItem);
listBox1.Items.Insert(w,c[w]+s[w]+d[w]+"="+aa+"√");
g=g+1;
}
else
{
listBox1.Items.Remove(listBox1.SelectedItem);
listBox1.Items.Insert(w,c[w]+s[w]+d[w]+"="+aa+"×");
}
w=w+1;
if(w>19)
{
MessageBox.Show("答题结束!
");
button1.Enabled=true;
button2.Enabled=false;
textBox2.Enabled=false;
timer1.Enabled=false;
textBox2.Text="";
textBox1.Text="";
a=2;b=59;
z=g/20*100;
label4.Text=z+"%";
g=0;
w=0;
}
else
{
listBox1.SelectedIndex=w;
textBox1.Text=listBox1.Text;
textBox2.Text="";
textBox2.Focus();
}
}
else{MessageBox.Show("请输入答案!
");textBox2.Text="";}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算器