C# 当用户写入-1时,程序跳过打印用户输入的结果

C# 当用户写入-1时,程序跳过打印用户输入的结果,c#,console,C#,Console,您好,我正在为学校作业编写一个程序,该程序支持将输入信息存储在数组中。当用户写入-1时,程序应转到打印部分并打印出输入结果。它是一个基本字段,输入销售id编号、产品编号和已销售产品的数量 我的问题是,当程序得到-1命令时,它只会删除并跳过整个打印部分,我对编程非常陌生,所以这很可能是一个简单的解决方法 这是密码 它是用c编写的microsoft visual中的一个控制台应用程序 在这里输入代码 using System; using System.Collections.Generic; us

您好,我正在为学校作业编写一个程序,该程序支持将输入信息存储在数组中。当用户写入-1时,程序应转到打印部分并打印出输入结果。它是一个基本字段,输入销售id编号、产品编号和已销售产品的数量

我的问题是,当程序得到-1命令时,它只会删除并跳过整个打印部分,我对编程非常陌生,所以这很可能是一个简单的解决方法

这是密码 它是用c编写的microsoft visual中的一个控制台应用程序

在这里输入代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _8._20TotalSales2
{
    class Sales
    {
        static void Main(string[] args)
        {

            decimal[,] sales = new decimal[5, 3];


            Console.WriteLine(" Enter sales staff saleID (1-3) : ");
            Console.WriteLine(" Enter -1 to finish");
            int staff = Convert.ToInt32(Console.ReadLine());


            while (staff != -1)
            {
                Console.WriteLine("Enter product number (1-5) : ");
                int productID = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Enter sales amount of product:");
                decimal amount = Convert.ToDecimal(Console.ReadLine());


                if (staff >= 1 && staff < 4 && productID >= 1 && productID < 6 && amount >= 0)
                    sales[productID - 1, staff - 1] += amount;
                else
                    Console.WriteLine("Invalid input!");

                Console.WriteLine(" Enter sales staff ID (1-3) : ");
                staff = Convert.ToInt32(Console.ReadLine());


            }
            decimal[] salesStaffTotal = new decimal[ 4 ];

            Console.WriteLine("\n {0,10}{1,16}{2,16}{3,16}{4,12}",
                "Product sales", "Sales staff 1", "Sales staff 2", "Sales staff 3", "Total Sales");

            for (int row = 0; row < 5; row++)
            {

                decimal productTotal = 0M;
                Console.WriteLine("{0,10}", (row + 1));

                for (int column = 0; column < 3; column++)
                {
                    Console.WriteLine("{0,16:C}", sales[row, column]);
                    productTotal += sales[row, column];
                }
                Console.WriteLine("{0,12:C}", "Total Product Sales");
            }
            Console.WriteLine("{0,10}", "Total");

            for (int column = 0; column < 3; column++)
                Console.WriteLine("{0,16:C}", salesStaffTotal[column]);

            Console.WriteLine();

        }
    }
}

它正在做您期望的事情,但是控制台窗口在您看到它之前就关闭了

有两种方法可以绕过这个问题

首先,打开控制台窗口并从命令行运行程序


第二,如果您希望它能够在不打开控制台窗口的情况下运行,请放置console.ReadLine;在您的最后一个Console.WriteLine之后,以便程序在终止和关闭窗口之前等待返回键按下。

它肯定会打印一些东西,我自己运行了它。不确定它是否打印出您想要的内容。谢谢,忘了当我运行它时,它似乎将所有内容都存储在总销售额中,您知道为什么吗?我希望结果显示在sales staff 1、sales staff 2下,依此类推