四则混合运算

主题运算:

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:\rtf";
public static int Count = 0; // 题目出的数量
public static int zuode = 0; //做的题目数量
public static int zhengque = 0;
public static int lefttime;
public static int time;
public static int sum;
int i =0;
private void Form1_Load(object sender, EventArgs e)
{

}
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);
this.richTextBox1.Clear();
save.Enabled = false;
}
else
{
if (TxtSaveDialog.ShowDialog() == DialogResult.OK)
{

this.richTextBox1.SaveFile(TxtSaveDialog.FileName, RichTextBoxStreamType.RichText);
MessageBox.Show("保存成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
this.richTextBox1.Clear();
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;
}
}
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)
{
time = Convert.ToInt32(shijian.Text);
if (lefttime <= 0)
{
timer1.Enabled = false;
MessageBox.Show("答题时间到!");
textBox4.Enabled = false;
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 + "" + "\n";
left.Clear();
fuhao.Clear();
right.Clear();
}
private void textBox4_KeyDown(object sender, KeyEventArgs e)
{
try //异常处理机制,预防数组发生越界
{
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("请输入数字");
}
daan.Text += sum + "\r\n";
if (textBox4.Text == sum.ToString())
{
MessageBox.Show("回答正确");
zuode++;
zhengque++;
}
else
{
MessageBox.Show("回答错误");
zuode++;
}
i++;
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];
}
}
catch(Exception ex)
{
Form2 frm = new Form2();
frm.ShowDialog();
}

}
private void button2_Click(object sender, EventArgs e) //清空上次编辑试题的方法
{
qita aaa = new qita();
aaa.qingkong();
}
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;

namespace shuxuefudao
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
textBox6.Text = Form1.zuode.ToString();
textBox1.Text = Form1.zhengque.ToString();
textBox2.Text = ((Form1.zuode - (double)(Form1.zhengque))).ToString();
textBox3.Text = ((Form1.zhengque / (double)(Form1.zuode)) * 100).ToString("f2") + "%";
}

}
}

时间: 2024-10-12 12:38:38

四则混合运算的相关文章

软件工程学习之小学四则混合运算出题软件 Version 1.00 设计思路及感想

对于小学四则混合运算出题软件的设计,通过分析设计要求,我觉得为了这个软件在今后便于功能上的扩充,可以利用上学期所学习的<编译原理>一课中的LL1语法分析及制导翻译的算法来实现.这样做的好处有以下几点: 1. 由于LL1制导翻译是一项成熟且可靠的技术,并且其递归下降算法易于改编为算式生成算法: 2. 我们有系统的方法可以获得较复杂表达式的LL1文法,则可以方便地生成形式丰富的算式: 3.由于四则混合运算中需要考虑运算优先级的问题,那么采用LL1分析器可以很方便的实现计算表达式的功能: 4.当用户

基于MFC的含四则混合运算的计算器

今天无意间发现win7系统的标准型计算器连最基本的四则混合运算都没做,刚刚好公司给了我一个工作任务,就是用MFC实现一个含四则混合运算的计算器. 我在网上查询资料,发现大部分只是实现了基本的加减乘除运算,而含四则混合运算的也没有能够说得清楚明白.于是我搜索四则混合运算算法,发现要实现四则混合运算,就要用到逆波兰算法,而使用逆波兰算法,就要先把算术式从中缀表达式转换为后缀表达式. 所谓中缀表达式,就是我们平常的算术式,例如:1+2-3*4/5. 而后缀表达式,就是将运算符写在操作数之后,上面算术式

JAVA实现简单四则混合运算

JAVA实现简单四则混合运算,说明:该计算器支持实则混合运算,如 2*(3+1 )/ 4-3 *9+ 8/ 3*4- 5,则输出:-19.333332 需要说明的事括号必须是英文的.源码如下仅供学习: 运行后直接在Console里面敲然后回车即可 [1].[代码] [Java]代码 跳至 [1] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

C语言写的秒速计算四则混合运算项目

开发语言:C语言 开发工具:Visual Studio 2017 整理时间:2017年8月2日 源代码:500行: 开发方式:C语言多文件模式开发 实现功能:在文件中写入四则混合运算表达式(无论有多长...),按运行即可得出结果. 四则混合运算表达式形如: (19+67)*33-45/5+17*52+39/3+.... 意义:在实际快速计算的同时,对学习也有如下意义:对堆栈的学习应用,多多文件的学习巩固 项目演示截图: 其他C语言项目参考:

第四次作业 结对编程 (四则混合运算)

一 需求分析 本次我们做的程序是数学的四则混合运算,并且增加了部分人性化的功能,接下来,我们谈谈这个程序的相关需求,此程序是一个1—10的四则混合运算,那么可以想到主要用于小学生,(ps 个人想法,不排除其他高年级的使用,因为用户可以输入任意的随机数范围),此外,本程序还可能会出现在家庭.教育机构和部分教学网站上面,因为他们可能会给学生出一些简单的数学题目,可以自由设置测试时间,题目数量等内容,而这一程序正好解决了这一个问题,我想,产品的需求必须首先知道用户需要什么,要以客户为中心.而这个产品正

MathExamV2.0四则混合运算计算题生成器

MathExamV2.0四则混合运算计算题生成器----211606360 丁培晖 211606343 杨宇潇 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ? Estimate ? 估计这个任务需要多少时间 60 100 Development 开发 ? Analysis ? 需求分析 (包括学习新技术) 360 440 ? Design Spec ? 生成设计文档 20 20 ? D

加/减/乘/除四则混合运算(C 语言)

逆波兰表达式(也称为后缀表达式) C 语言简单实现,(也称为后缀表达式) 本示例旨在展示逆波兰表达式原理,作简单的混合运算,不作容错处理也不保证结果,若混合运算字符串中有负数等,自行调试解决 列如计算: 20.5+(100-(3+2)*8)/(8-5) - 10 后缀表达式为:20.5 100 3 2 + 8 * - 8 5 - / 10 - + C  语言代码如下: #include <stdio.h> #include <stdlib.h> #include <strin

201574010343/201571030318《小学四则混合运算》结对项目报告

github代码地址:https://github.com/zxt555/demo2/tree/master/src 一:需求分析 1. 由计算机从题库文件中随机选择20道加减乘除混合算式,用户输入算式答案,程序检查答案是否正确,每道题正确计5分,错误不计分,20道题测试结束后给出测试总分: 2.系统随机产生一百以内的两个数进行运算选择加.减.乘.除运算. 3.系统随机产生一百以内的两个数进行运算. 4.练习时,用户从键盘输入结果,正确和错误均有提示,错误的话提示下会有正确的结果. 5. 根据实

201571030318/201574010343《小学四则混合运算》结队报告 马麒

GitHub源码地址:https://github.com/xuexibuhaoderen/SoftWareTest 需求分析 1. 由计算机从题库文件中随机选择20道加减乘除混合算式,用户输入算式答案,程序检查答案是否正确,每道题正确计5分,错误不计分,20道题测试结束后给出测试总分: 2. 题库文件可采用实验二的方式自动生成,也可以手工编辑生成,文本格式如下: (3)程序为用户提供三种进阶四则运算练习功能选择:百以内整数算式(必做).带括号算式.真分数算式练习: (4)程序允许用户进行多轮测