您好我正在为学校作业编写一个程序,用于将输入信息存储在数组中。当用户写入-1时,程序应转到打印部分并打印出输入结果。它是一个基本的,输入销售ID nr,输入产品nr并输入销售产品的数量。
我的问题是,当程序获得-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();
}
}
}
答案 0 :(得分:0)
它正在按预期执行,但控制台窗口正在关闭,然后才能看到它。
有两种方法可以解决这个问题。
首先,打开控制台窗口并从命令行运行程序。
其次,如果您希望能够在不打开控制台窗口的情况下运行它,请将Console.ReadLine();
放在最后Console.WriteLine()
之后,以便程序在终止和关闭之前等待返回键按下窗口。