using System;
using System.Collections.Generic;
//using System.Linq;
using System.Text;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Start:
//输入两个整型数,同事显示 +、-、*、/、% 的结果(通过委托实现)
StartMen();
Math_Operation Mos1, Mos2, Mos3, Mos4, Mos5;
string inputNum = Console.ReadLine();
int commPos = inputNum.IndexOf(','); //由逗号分开两个数字
int Num1 = Convert.ToInt32(inputNum.Substring(0, commPos));
int Num2 = Convert.ToInt32(inputNum.Substring(commPos + 1, inputNum.Length - commPos - 1));
Mos1 = new Math_Operation(Add);
Mos2 = new Math_Operation(Minus);
Mos3 = new Math_Operation(Multiply);
Mos4 = new Math_Operation(Divide);
Mos5 = new Math_Operation(Residue);
if (Num2 == 0)
{
Console.WriteLine("您所输入的这组数字不能进行‘/’、‘%’操作,其他操作结果依次为:{0},{1},{2}", Mos1(Num1, Num2), Mos2(Num1, Num2), Mos3(Num1, Num2));
}
else
{
Console.WriteLine("所求结果为:{0},{1},{2},{3},{4}", Mos1(Num1, Num2), Mos2(Num1, Num2), Mos3(Num1, Num2), Mos4(Num1, Num2), Mos5(Num1, Num2)); }
Console.WriteLine("是否要退出系统?按Y退出,按N重新输入数字进行计算。");
inputNum = Console.ReadLine();
if (inputNum == "Y" || inputNum == "y")
{
Console.WriteLine("谢谢您的使用!");
}
else if (inputNum == "N" || inputNum == "n")
{
goto Start;
}
Console.ReadLine(); }
static void StartMen()
{
Console.WriteLine("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
Console.WriteLine("----------------------------------------");
Console.WriteLine(" 请输入两个整数,并以“,”分隔: ");
Console.WriteLine("----------------------------------------");
Console.WriteLine("________________________________________"); }
static int Add(int x, int y) //加法函数
{
x += y;
return x;
}
static int Minus(int x, int y) //减法函数
{
x -= y;
return x;
}
static int Multiply(int x, int y) //乘法函数
{
x *= y;
return x;
}
static int Divide(int x, int y) //除法函数
{
x /= y;
return x;
}
static int Residue(int x, int y) //求余函数
{
x %= y;
return x;
} delegate int Math_Operation(int a, int b);
}}
解释下红色部分的代码,详细点,为啥可以在同一行中可以连续输入俩个书,一般console.readline();通常只能输入一个数的.
using System.Collections.Generic;
//using System.Linq;
using System.Text;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Start:
//输入两个整型数,同事显示 +、-、*、/、% 的结果(通过委托实现)
StartMen();
Math_Operation Mos1, Mos2, Mos3, Mos4, Mos5;
string inputNum = Console.ReadLine();
int commPos = inputNum.IndexOf(','); //由逗号分开两个数字
int Num1 = Convert.ToInt32(inputNum.Substring(0, commPos));
int Num2 = Convert.ToInt32(inputNum.Substring(commPos + 1, inputNum.Length - commPos - 1));
Mos1 = new Math_Operation(Add);
Mos2 = new Math_Operation(Minus);
Mos3 = new Math_Operation(Multiply);
Mos4 = new Math_Operation(Divide);
Mos5 = new Math_Operation(Residue);
if (Num2 == 0)
{
Console.WriteLine("您所输入的这组数字不能进行‘/’、‘%’操作,其他操作结果依次为:{0},{1},{2}", Mos1(Num1, Num2), Mos2(Num1, Num2), Mos3(Num1, Num2));
}
else
{
Console.WriteLine("所求结果为:{0},{1},{2},{3},{4}", Mos1(Num1, Num2), Mos2(Num1, Num2), Mos3(Num1, Num2), Mos4(Num1, Num2), Mos5(Num1, Num2)); }
Console.WriteLine("是否要退出系统?按Y退出,按N重新输入数字进行计算。");
inputNum = Console.ReadLine();
if (inputNum == "Y" || inputNum == "y")
{
Console.WriteLine("谢谢您的使用!");
}
else if (inputNum == "N" || inputNum == "n")
{
goto Start;
}
Console.ReadLine(); }
static void StartMen()
{
Console.WriteLine("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
Console.WriteLine("----------------------------------------");
Console.WriteLine(" 请输入两个整数,并以“,”分隔: ");
Console.WriteLine("----------------------------------------");
Console.WriteLine("________________________________________"); }
static int Add(int x, int y) //加法函数
{
x += y;
return x;
}
static int Minus(int x, int y) //减法函数
{
x -= y;
return x;
}
static int Multiply(int x, int y) //乘法函数
{
x *= y;
return x;
}
static int Divide(int x, int y) //除法函数
{
x /= y;
return x;
}
static int Residue(int x, int y) //求余函数
{
x %= y;
return x;
} delegate int Math_Operation(int a, int b);
}}
解释下红色部分的代码,详细点,为啥可以在同一行中可以连续输入俩个书,一般console.readline();通常只能输入一个数的.
难道:int i=console.readline(compose,0);
int j=console.readline(compose+1);
不会吧..
这里输入一行之后,使用String的Substring方法把字符串按“,”分割后分别进行转换。
int Num2 = Convert.ToInt32(inputNum.Substring(commPos + 1, inputNum.Length -
commPos - 1));
num1是代表","前面的数字呢还是","后面的数字呢?
Substring什么意思?
IndexOf怎么用啊?
是初学者,慢慢来。
readline就是读取一行,一行里面有多少数据是你自己的事,
substring是获取子字符串
IndexOf是指在字符串中某个字符的index,可以理解为位置,
substring就是用位置作为参数把string分割成几个小的string建议lz找点资料,好好理解string的一些常用方法,这些东西是非常常用的。
我的构思...但是结果错了,无法实现,我想大家应该明白我要问的意思.
大家看下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace test
{
class Program
{
static void Main(string[] args)
{
string inputnum = Console.ReadLine();
int douhao = inputnum.IndexOf(',');
int num1 = Convert.ToInt32(inputnum.Substring(0, douhao));
int num2 = Convert.ToInt32(inputnum.Substring(douhao+1, inputnum.Length-douhao-1));
int num3 = Convert.ToInt32(inputnum.Substring(douhao + 2, inputnum.Length - douhao - 1));
Console.Write("{0},{1},{2}",num1, num2, num3);
Console.ReadKey();
}
}
}