Advertisement
Guest User

Untitled

a guest
Oct 14th, 2018
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.20 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7.  
  8. namespace Labaratorinisdarbas2
  9. {
  10.     class Lenta
  11.     {
  12.         private string lentospav;
  13.         private double storis, ilgis, plotis, kaina;
  14.  
  15.         public Lenta(string lentospav, double storis,
  16.             double ilgis, double plotis, double kaina)
  17.         {
  18.             this.lentospav = lentospav;
  19.             this.storis = storis;
  20.             this.ilgis = ilgis;
  21.             this.plotis = plotis;
  22.             this.kaina = kaina;
  23.         }
  24.         public string ImtiLentosPav() { return lentospav; }
  25.         public double ImtiStori() { return storis; }
  26.         public double ImtiIlgi() { return ilgis; }
  27.         public double ImtiPloti() { return plotis; }
  28.         public double ImtiKaina() { return kaina; }
  29.     }
  30.  
  31.     class Program
  32.     {
  33.          const string CFd1 = "...\\...\\Duomenys1.txt";
  34.          const string CFd2 = "...\\...\\Duomenys2.txt";
  35.         const string CFrez = "...\\...\\Rezultatas.txt";
  36.  
  37.         static void Main(string[] args)
  38.         {
  39.  
  40.             double l = 0;
  41.             double p = 0;
  42.             Lenta[] A1 = new Lenta[100];
  43.             int n1; //firmu skaicius
  44.             string pav1; //firmos pavadinimas
  45.             //string pav2;
  46.  
  47.             Lenta[] A2 = new Lenta[100];
  48.             int n2;
  49.             string pav2;
  50.        
  51.             Skaityti(CFd1, A1, out n1, out pav1);
  52.             Skaityti(CFd2, A2, out n2, out pav2);
  53.  
  54.             Console.WriteLine("Iveskite scenos ilgi:");
  55.             l = double.Parse(Console.ReadLine());
  56.            Console.WriteLine("Iveskite scenos ploti:");
  57.            p = double.Parse(Console.ReadLine());
  58.             Console.WriteLine("Uzdengti pirmomis lentomis kainuos: {0,7:f2}:",
  59.              BusIsleistaPinigu(A1, n1, pav1, l, p));
  60.             Console.WriteLine("Uzdengti antromis lentomis kainuos: {0,7:f2}:",
  61.             BusIsleistaPinigu(A2, n2, pav2, l, p));
  62.  
  63.             if (File.Exists(CFrez))
  64.                 File.Delete(CFrez);
  65.             SpausdintiDuomenis(CFrez, A1, n1, pav1);
  66.             SpausdintiDuomenis(CFrez, A2, n2, pav2);
  67.         }
  68.  
  69.        
  70.         static void Skaityti(string Fd, Lenta[] A, out int n, out string firmospav)
  71.         {
  72.             string lentospav; double storis, ilgis, plotis, kaina;
  73.             using (StreamReader reader = new StreamReader(Fd))
  74.             {
  75.                 string line;
  76.                 line = reader.ReadLine();
  77.                 string[] parts;
  78.                 firmospav = line;
  79.                 line = reader.ReadLine();
  80.                 n = int.Parse(line);
  81.                 for (int i = 0; i < n; i++)
  82.                 {
  83.                     line = reader.ReadLine();
  84.                     parts = line.Split(';');
  85.                     lentospav = parts[0];
  86.                     storis = double.Parse(parts[1]);
  87.                     ilgis = double.Parse(parts[2]);
  88.                     plotis = double.Parse(parts[3]);
  89.                     kaina = double.Parse(parts[4]);
  90.                     A[i] = new Lenta(lentospav, storis, ilgis, plotis, kaina);
  91.  
  92.  
  93.                 }
  94.             }
  95.         }
  96.         static void SpausdintiDuomenis(string fv, Lenta[] A, int n, string pav)
  97.         {
  98.             const string virsus =
  99.                  "|-----------------|------------|--------|---------|-------|\r\n"
  100.                + "| Lentospav       | Storis     | Ilgis  | Plotis  | Kaina | \r\n"
  101.                + "|                 |            |        |         |       |\r\n"
  102.                + "|-----------------|------------|--------|---------|-------|";
  103.             using (var fr = File.AppendText(fv))
  104.             {
  105.                 fr.WriteLine("Lentpjuves pavadinimas: {0}", pav);
  106.                 fr.WriteLine(virsus);
  107.                 Lenta tarp;
  108.                 for (int i=0; i < n; i++)
  109.                 {
  110.                     tarp = A[i];
  111.                     fr.WriteLine("| {0,-15} | {1,8:f2}   | {2,5:f2}  | {3,7:f2} |{4,7:f2}|",
  112.                         tarp.ImtiLentosPav(), tarp.ImtiStori(), tarp.ImtiIlgi(),
  113.                         tarp.ImtiPloti(), tarp.ImtiKaina());
  114.                 }
  115.                 fr.WriteLine("-------------------------------------------------------------");
  116.             }
  117.  
  118.         }
  119.         static double BusIsleistaPinigu (Lenta [] A, int n, string firmospav, double l, double p)
  120.         {
  121.             double isilgiolentu = 0;
  122.             double isplociolentu = 0;
  123.             double reikeslentu = 0;
  124.             double buskaina = 0;
  125.             int a,b;
  126.            
  127.             for (int i = 0; i < n; i++)
  128.             {
  129.                 isilgiolentu = l / A[i].ImtiIlgi();
  130.                 Convert.ToInt32(isilgiolentu+0.4);
  131.                 isplociolentu = p / A[i].ImtiPloti();
  132.                 Convert.ToInt32(isplociolentu+0.4);
  133.                 a = Convert.ToInt32(isilgiolentu);
  134.                 b = Convert.ToInt32(isplociolentu);
  135.                 if (isilgiolentu >= 1 && isplociolentu >= 1)
  136.                 {
  137.                 reikeslentu = a * b;
  138.                 buskaina = reikeslentu * A[i].ImtiKaina();
  139.  
  140.                 }
  141.  
  142.  
  143.             }
  144.             return buskaina;
  145.         }
  146.     }
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement