SHARE
TWEET

Hi

a guest Jun 19th, 2017 45 in 2 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4.  
  5. namespace Fun
  6. {
  7.     class Program
  8.     {
  9.         static List<Product> products = new List<Product>();
  10.         static int sum, discountSum;
  11.  
  12.         static void Main(string[] args)
  13.         {
  14.             Load();
  15.             Console.WriteLine("Loaded...");
  16.             FindSums();
  17.             Console.WriteLine("Sums finded...");
  18.             WriteFile();
  19.             Console.WriteLine("Writed...");
  20.  
  21.             Console.ReadLine();
  22.         }
  23.  
  24.         static void FindSums()
  25.         {
  26.             for (int i = 0; i < products.Count; i++)
  27.             {
  28.                 sum += products[i].productCost;
  29.                 discountSum += products[i].discount;
  30.             }
  31.         }
  32.  
  33.         private static void WriteFile()
  34.         {
  35.             FileStream fs = new FileStream("info.txt", FileMode.Create);
  36.             StreamWriter sw = new StreamWriter(fs);
  37.  
  38.             for (int i = 0; i < products.Count; i++)
  39.             {
  40.                 sw.WriteLine($"{products[i].ToString()}, {sum}, {discountSum}\n");
  41.             }
  42.  
  43.              sw.Close();
  44.             fs.Close();
  45.         }
  46.  
  47.         private static void Load()
  48.         {
  49.             // Цены
  50.             FileStream fs1 = new FileStream("Цены.txt", FileMode.Open);
  51.             StreamReader sr1 = new StreamReader(fs1);
  52.              int i1 = 0, i2 = 0, i3 = 0;
  53.  
  54.             while (!sr1.EndOfStream)
  55.             {
  56.                 List<string> str = new List<string>(GetStrings(sr1.ReadLine()));
  57.                 products.Add(new Product());
  58.                 products[i1].productId = Convert.ToInt32(str[0]);
  59.                 products[i1].shopId = Convert.ToInt32(str[1]);
  60.                 products[i1].productCost = Convert.ToInt32(str[2]);
  61.                 products[i1].discount = Convert.ToByte(str[3]);
  62.                 i1++;
  63.             }
  64.  
  65.             fs1.Close();
  66.             sr1.Close();
  67.  
  68.             // Магазины
  69.  
  70.             FileStream fs2 = new FileStream("Магазины.txt", FileMode.Open);
  71.             StreamReader sr2 = new StreamReader(fs2);
  72.  
  73.             while (!sr2.EndOfStream)
  74.             {
  75.                 List<string> str = new List<string>(GetStrings(sr2.ReadLine()));
  76.  
  77.                 products[i2].shopId = Convert.ToInt32(str[0]);
  78.                 products[i2].shopName = str[1];
  79.                 i2++;
  80.             }
  81.  
  82.             fs2.Close();
  83.             sr2.Close();
  84.  
  85.             // Товары
  86.  
  87.             FileStream fs3 = new FileStream("Товары.txt", FileMode.Open);
  88.             StreamReader sr3 = new StreamReader(fs3);
  89.  
  90.             while (!sr3.EndOfStream)
  91.             {
  92.                 List<string> str = new List<string>(GetStrings(sr3.ReadLine()));
  93.  
  94.                 products[i3].productId = Convert.ToInt32(str[0]);
  95.                 products[i3].productCost = Convert.ToInt32(str[1]);
  96.                 products[i3].productCategory = str[2];
  97.                 i3++;
  98.             }
  99.  
  100.             fs3.Close();
  101.             sr3.Close();
  102.         }
  103.  
  104.         private static List<string> GetStrings(string input)
  105.         {
  106.             List<string> returns = new List<string>();
  107.  
  108.             string returnString = "";
  109.  
  110.             for (int i = 0; i < input.Length; i++)
  111.             {
  112.                 if (!IsSeparator(input[i]))
  113.                 {
  114.                     returnString += input[i];
  115.                 }
  116.                 else
  117.                 {
  118.                     returns.Add(returnString);
  119.                     returnString = "";
  120.                 }                
  121.             }
  122.  
  123.             return returns;
  124.         }
  125.  
  126.         private static bool IsSeparator(char a)
  127.         {
  128.             if (a == ',' || a == '.')
  129.                 return true;
  130.             return false;
  131.         }
  132.     }
  133.  
  134.     class Product
  135.     {
  136.         public int productId { get; set; }
  137.         public string productCategory { get; set; }
  138.         public int shopId { get; set; }
  139.         public string shopName { get; set; }
  140.         public int productCost { get; set; }
  141.         public byte discount { get; set; }
  142.  
  143.         public Product() { }
  144.  
  145.         public Product(int _productId, int _shopId, int _productCost, byte _discount)
  146.         {
  147.             productId = _productId;
  148.             shopId = _shopId;
  149.             productCost = _productCost;
  150.             discount = _discount;
  151.         }
  152.  
  153.         public Product(int _productId, int _productCost, string _productCategory)
  154.         {
  155.             productId = _productId;
  156.             productCost = _productCost;
  157.             productCategory = _productCategory;
  158.         }
  159.  
  160.         public override string ToString()
  161.         {
  162.             return $"{productCategory}, {shopName}";
  163.         }
  164.     }
  165. }
RAW Paste Data
Want to get better at C#?
Learn to code C# in 2017
Pastebin PRO Summer Special!
Get 40% OFF on Pastebin PRO accounts!
Top