读取一个txt文件,拆分字符串然后写入txt文件

本文关键字:文件 txt 字符串 拆分 然后 一个 读取 | 更新日期: 2023-09-27 18:14:50

我有一个叫杂货的文本文件。包含类似于以下内容的文本:

regular,cereal,4.00,1;
fresh,rump steak,11.99,0.8;

下面的代码试图读取文本文件,分割字符串,然后写入一个名为invoice的文本文件。发票文本文件应在杂货文件中读取读取行,列出它是"新鲜"还是"常规"杂货项目。如果新商品及服务税不适用,如果常规商品及服务税适用。计算新鲜的重量成本和常规的数量成本,然后显示列出的项目的总成本。如有任何帮助,不胜感激。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace Groceries3
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] groceries = File.ReadAllLines ("Groceries.txt");
            File.WriteAllLines("Invoice.txt", invoices.ToArray());
            List<string> invoices = new List<string>();
            FreshGrocery freshGrocery = new FreshGrocery();
            freshGrocery.Name = "fresh";
            freshGrocery.Price = 30;
            freshGrocery.Weight = 0.5;
            Grocery grocery = new Grocery();
            grocery.Name = "regular";
            grocery.Price = 50;
            grocery.Quantity = 2;
            double price = price.Calculate();
            int counter = 0;
             foreach (var grocery2 in groceries)
             {
                counter++;
                invoices.Add(counter + "," + grocery + price+Quantity+"," + DateTime.Now.Date);
             }
                 abstract class GroceryItem
        {
            private string name;
            private double price = 0;
            public string Name
            {
                get
                {
                    return name;
                }
                set
                {
                    name = value;
                }
            }
            public double Price
            {
                get
                {
                    return price;
                }
                set
                {
                    price = value;
                }
            }
            public abstract double Calculate();
        }
        class FreshGrocery : GroceryItem
        {
            private double weight = 0;
            public double Weight
            {
                get
                {
                    return weight;
                }
                set
                {
                    weight = value;
                }
            }
            public override double Calculate()
            {
                return this.Price * this.weight;
            }
        }
        class Grocery : GroceryItem
        {
            private int quantity = 0;
            private double gst = 10;
            public int Quantity
            {
                get
                {
                    return quantity;
                }
                set
                {
                    quantity = value;
                }
            }
            public override double Calculate()
            {
                double calculatedPrice = this.Price * this.Quantity;
                if (calculatedPrice < 0)
                {
                    calculatedPrice += calculatedPrice * (gst / 100);
                }
                 return calculatedPrice;
            }
        }
        class ShoppingCart
        {
            private List<GroceryItem> orders;
            public List<GroceryItem> Orders
            {
                get
                {
                    return orders;
                }
                set
                {
                    orders = value;
                }
            }
             public double Calculate()
            {
                double price = 0;
                if (this.Orders != null)
                {
                    foreach (GroceryItem order in this.Orders)
                    {
                        price += order.Calculate();
                    }
                }
                return price;
        }
    }
}

读取一个txt文件,拆分字符串然后写入txt文件

试试这样做

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Groceries3
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] groceries = File.ReadAllLines("Groceries.txt");
            List<string> invoices = new List<string>();
            int counter = 0;
            foreach (var grocery2 in groceries)
            {
                counter++;
                var list = grocery2.Split(',');
                if (list[0].Equals("fresh"))
                {
                    FreshGrocery freshGrocery = new FreshGrocery();
                    freshGrocery.Name = list[1];
                    freshGrocery.Price = double.Parse(list[2]);
                    freshGrocery.Weight = double.Parse(list[3].Replace(";", ""));
                    invoices.Add(counter + "," + freshGrocery.Name + "," + freshGrocery.Price + "," + freshGrocery.Weight + "," + DateTime.Now.Date);
                }
                else if (list[0].Equals("regular"))
                {
                    Grocery grocery = new Grocery();
                    grocery.Name = list[1];
                    grocery.Price = double.Parse(list[2]);
                    grocery.Quantity = int.Parse(list[3].Replace(";", ""));
                    double price = grocery.Calculate();
                    invoices.Add(counter + "," + grocery.Name + "," + price + "," + grocery.Quantity + "," + DateTime.Now.Date);
                }
            }
            File.WriteAllLines("Invoice.txt", invoices.ToArray());
        }
        abstract class GroceryItem
        {
            private string name;
            private double price = 0;
            public string Name
            {
                get
                {
                    return name;
                }
                set
                {
                    name = value;
                }
            }
            public double Price
            {
                get
                {
                    return price;
                }
                set
                {
                    price = value;
                }
            }
            public abstract double Calculate();
        }
        class FreshGrocery : GroceryItem
        {
            private double weight = 0;
            public double Weight
            {
                get
                {
                    return weight;
                }
                set
                {
                    weight = value;
                }
            }
            public override double Calculate()
            {
                return this.Price * this.weight;
            }
        }
        class Grocery : GroceryItem
        {
            private int quantity = 0;
            private double gst = 10;
            public int Quantity
            {
                get
                {
                    return quantity;
                }
                set
                {
                    quantity = value;
                }
            }
            public override double Calculate()
            {
                double calculatedPrice = this.Price * this.Quantity;
                if (calculatedPrice < 0)
                {
                    calculatedPrice += calculatedPrice * (gst / 100);
                }
                 return calculatedPrice;
            }
        }
        class ShoppingCart
        {
            private List<GroceryItem> orders;
            public List<GroceryItem> Orders
            {
                get
                {
                    return orders;
                }
                set
                {
                    orders = value;
                }
            }
            public double Calculate()
            {
                double price = 0;
                if (this.Orders != null)
                {
                    foreach (GroceryItem order in this.Orders)
                    {
                        price += order.Calculate();
                    }
                }
                return price;
            }
        }
    }
}