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();通常只能输入一个数的.

解决方案 »

  1.   

    可是我怎么接收同一行中那些数据呢?
    难道:int i=console.readline(compose,0);
         int j=console.readline(compose+1);
    不会吧..
      

  2.   

    ReadLine本来就是输入一行的,但平常不分割的话,就会出错。
    这里输入一行之后,使用String的Substring方法把字符串按“,”分割后分别进行转换。
      

  3.   

    LZ 这些在MSDN上都有详细解释和例子...
      

  4.   

    int Num1 = Convert.ToInt32(inputNum.Substring(0, commPos));
    int Num2 = Convert.ToInt32(inputNum.Substring(commPos + 1, inputNum.Length - 
    commPos - 1));
    num1是代表","前面的数字呢还是","后面的数字呢?
    Substring什么意思?
    IndexOf怎么用啊?
      

  5.   

    lz
    是初学者,慢慢来。
    readline就是读取一行,一行里面有多少数据是你自己的事,
    substring是获取子字符串
    IndexOf是指在字符串中某个字符的index,可以理解为位置,
    substring就是用位置作为参数把string分割成几个小的string建议lz找点资料,好好理解string的一些常用方法,这些东西是非常常用的。
      

  6.   

    我还是不太明白....那我如果在一行中接收三个数呢?
    我的构思...但是结果错了,无法实现,我想大家应该明白我要问的意思.
    大家看下:
     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();
            }
        }
    }