using System;
using System.Collections.Generic;
using System.Text;namespace My0412计算嚣
{
class Program
{
static void Main(string[] args)
{
int result;
int num1 = Convert.ToInt32(Console.ReadLine());
char i;
i = (char)Console.Read();
int num2 = Convert.ToInt32(Console.ReadLine());
if (i=='+')
{
result = num1 + num2;
Console.WriteLine("{0}+{1}={2}", num1, num2, result); }
else if (i=='-')
{
result = num1 - num2;
Console.WriteLine("{0}-{1}={2}",num1,num2,result );
}
else if (i=='*')
{
result = num1 * num2;
Console.WriteLine("{0}*{1}={2}", num1, num2, result);
}
else if (i=='/')
{
if (num2==0)
{
Console.WriteLine("Error!The second number2 is not zero!");
}
result = num1 / num2;
Console.WriteLine("{0}/{1}={2}", num1, num2, result);
} }
}
}
这个程序在运行输入时只能这样输入
34
+45
输出结果是34+45=79
但是我想的是输入的形式是34+45=结果。
有没有解决的方法.
using System.Collections.Generic;
using System.Text;namespace My0412计算嚣
{
class Program
{
static void Main(string[] args)
{
int result;
int num1 = Convert.ToInt32(Console.ReadLine());
char i;
i = (char)Console.Read();
int num2 = Convert.ToInt32(Console.ReadLine());
if (i=='+')
{
result = num1 + num2;
Console.WriteLine("{0}+{1}={2}", num1, num2, result); }
else if (i=='-')
{
result = num1 - num2;
Console.WriteLine("{0}-{1}={2}",num1,num2,result );
}
else if (i=='*')
{
result = num1 * num2;
Console.WriteLine("{0}*{1}={2}", num1, num2, result);
}
else if (i=='/')
{
if (num2==0)
{
Console.WriteLine("Error!The second number2 is not zero!");
}
result = num1 / num2;
Console.WriteLine("{0}/{1}={2}", num1, num2, result);
} }
}
}
这个程序在运行输入时只能这样输入
34
+45
输出结果是34+45=79
但是我想的是输入的形式是34+45=结果。
有没有解决的方法.
namespace My0412计算嚣
{
class Program
{
static void Main(string[] args)
{
char ch;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 100; i++)
{
ch = (char)Console.Read();
if (ch == '=')
{
break;
}
else
{
sb.Append(ch);
}
}
string str = sb.ToString();
char[] arr = str.ToCharArray();
int index = 0;
for (int i = 0; i < arr.Length; i++)
{
if (!char.IsNumber(arr[i]))
{
index = i;
break;
}
}
string num1 = str.Substring(0, index);
string num2 = str.Substring(index + 1, arr.Length - 1 - index);
int result = 0;
int num01 = int.Parse(num1);
char ii = arr[index];
int num02 = int.Parse(num2);
if (ii == '+')
{
result = num01 + num02;
}
else if (ii == '-')
{
result = num01 - num02;
}
else if (ii == '*')
{
result = num01 * num02;
}
else if (ii == '/')
{
if (num02 == 0)
{
Console.WriteLine("Error!The second number2 is not zero!");
}
result = num01 / num02;
Console.WriteLine("{0}/{1}={2}", num1, num02, result);
}
Console.WriteLine("{0}{1}{2}={3}", num1, ii.ToString(), num02, result); }
}
}
Console.WriteLine(Microsoft.JScript.Eval.JScriptEvaluate("1/3.5+2*6", Microsoft.JScript.Vsa.VsaEngine.CreateEngine()));
每输入一次,用switch来判断是哪个符号或数值
class Program
{
static void Main(string[] args)
{
var expression = "";
var keyInfo = Console.ReadKey();
while (keyInfo.KeyChar != '=')
{
if ("0123456789*+-/()".IndexOf(keyInfo.KeyChar) >= 0) // 0-9
expression += keyInfo.KeyChar;
keyInfo = Console.ReadKey();
}
Console.WriteLine(new DataTable().Compute(expression, ""));
Console.ReadKey();
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;namespace My0412计算嚣
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.Write("\n\n请输入表达式:\n");
string cmd = Console.ReadLine();
Match m = Regex.Match(cmd, @"^\s*(\d+)\s*(\+|-|\*|/)\s*(\d+)\s*=?$", RegexOptions.Singleline);
if (m.Success)
{
int num1 = int.Parse(m.Groups[1].Value);
char i = m.Groups[2].Value[0];
int num2 = int.Parse(m.Groups[3].Value);
int result;
if (i == '+')
{
result = num1 + num2;
Console.WriteLine("{0}+{1}={2}", num1, num2, result); }
else if (i == '-')
{
result = num1 - num2;
Console.WriteLine("{0}-{1}={2}", num1, num2, result);
}
else if (i == '*')
{
result = num1 * num2;
Console.WriteLine("{0}*{1}={2}", num1, num2, result);
}
else if (i == '/')
{
if (num2 == 0)
{
Console.WriteLine("Error!The second number2 is not zero!");
}
result = num1 / num2;
Console.WriteLine("{0}/{1}={2}", num1, num2, result);
} }
else
{
//Console.WriteLine("表达式错误!");
break;
}
}
}
}
}运行结果:
请输入表达式:
123+456
123+456=579
请输入表达式:
123* 3
123*3=369
请输入表达式:
234 * 45 =
234*45=10530
请输入表达式:
你这种菜鸟问题还不需要高人
关键是你的表达方式太差,你要做啥看不懂。Ascii码是啥你自己先搞明白