问题描述
我需要创建一个程序,询问客户有多少商品要交给 Bill,然后询问产品名称、数量和价格。完成后,它应该计算所有产品的总价并打印为 .txt
文件。
由于我不熟悉使用数组,所以我陷入了第二步......这是我的代码直到现在(我使用 Visual Studio 2019):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Final_lab
{
class Program
{
static void Main(string[] args) => Factura();
static void Factura()
{
int x;
Console.WriteLine("Por favor indique la cantidad de registros a ingresar...");
int cantidad = recibir();
Console.WriteLine("Por favor indique el nombre del productos,la cantidad y el precio por `favor" +`
"entre comas ',' ");
Console.ReadLine();
for (x = 0; x < cantidad; x++)
{
Console.WriteLine("Por favor indique el nombre del productos,la cantidad y el precio por favor" +
"entre comas ',' ");
x = recibir();
int[,] productos;
productos = new int[,];
}
Console.ReadLine();
}
private static int recibir()
{
int guardar = Convert.ToInt32(Console.ReadLine());
return guardar;
}
解决方法
你走错了路,一般来说,你最好使用列表和数据类型,比如:-
public record BillingLine(string Product,int Quantity,decimal Price);
static void Main(string[] args)
{
var billingLines = new List<BillingLine>();
Console.WriteLine("How many?");
var count = GetInt();
foreach (var index in Enumerable.Range(0,count))
{
Console.WriteLine("Product Name?");
var name = GetString();
Console.WriteLine("Quantity");
var quantity = GetInt();
Console.WriteLine("Price");
var price = GetDecimal();
billingLines.Add(new BillingLine(name,quantity,price));
}
Console.WriteLine($"Total to Bill is {billingLines.Select(l => l.Price*l.Quantity).Sum()}");
}
public static int GetInt() => Convert.ToInt32(Console.ReadLine());
public static string GetString() => Console.ReadLine().Trim();
public static decimal GetDecimal() => Convert.ToDecimal(Console.ReadLine());