Advertisement
nikolapetkov824

RawData

Feb 4th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.29 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace RawData
  6. {
  7.     public class StartUp
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             var listOfCars = new List<Car>();
  12.             var listOfTires = new List<Tire>();
  13.  
  14.             Car car;
  15.             Engine engine;
  16.             Cargo cargo;
  17.             Tire tire1;
  18.             Tire tire2;
  19.             Tire tire3;
  20.             Tire tire4;
  21.  
  22.             int numberOfCars = int.Parse(Console.ReadLine());
  23.  
  24.             for (int i = 0; i < numberOfCars; i++)
  25.             {
  26.                 string[] carInfo = Console.ReadLine()
  27.                     .Split();
  28.  
  29.                 string model = carInfo[0];
  30.  
  31.                 int engineSpeed = int.Parse(carInfo[1]);
  32.                 int enginePower = int.Parse(carInfo[2]);
  33.  
  34.                 int cargoWeight = int.Parse(carInfo[3]);
  35.                 string cargoType = carInfo[4];
  36.  
  37.                 double tire1Pressure = double.Parse(carInfo[5]);
  38.                 int tire1Age = int.Parse(carInfo[6]);
  39.                 double tire2Pressure = double.Parse(carInfo[7]);
  40.                 int tire2Age = int.Parse(carInfo[8]);
  41.                 double tire3Pressure = double.Parse(carInfo[9]);
  42.                 int tire3Age = int.Parse(carInfo[10]);
  43.                 double tire4Pressure = double.Parse(carInfo[11]);
  44.                 int tire4Age = int.Parse(carInfo[12]);
  45.  
  46.                 engine = new Engine(engineSpeed, enginePower);
  47.                 cargo = new Cargo(cargoWeight, cargoType);
  48.  
  49.                 tire1 = new Tire(tire1Pressure, tire1Age);
  50.                 tire2 = new Tire(tire2Pressure, tire2Age);
  51.                 tire3 = new Tire(tire3Pressure, tire3Age);
  52.                 tire4 = new Tire(tire4Pressure, tire4Age);
  53.  
  54.                 listOfTires.Add(tire1);
  55.                 listOfTires.Add(tire2);
  56.                 listOfTires.Add(tire3);
  57.                 listOfTires.Add(tire4);
  58.  
  59.                 car = new Car(model, engine, cargo, listOfTires);
  60.  
  61.                 listOfCars.Add(car);
  62.             }
  63.  
  64.             string condition = Console.ReadLine();
  65.  
  66.             if (condition == "fragile")
  67.             {
  68.                 foreach (var caR in listOfCars
  69.                     .Where(c => c.Cargo.CargoType == condition
  70.                     && c.Tire.Any(t => t.TirePressure < 1)))
  71.                 {
  72.                     Console.WriteLine(caR.Model);
  73.                 }
  74.             }
  75.             else if (condition == "flamable")
  76.             {
  77.                 foreach (var caR in listOfCars
  78.                     .Where(c => c.Cargo.CargoType == condition
  79.                     && c.Engine.EnginePower > 250))
  80.                 {
  81.                     Console.WriteLine(caR.Model);
  82.                 }
  83.             }
  84.         }
  85.     }
  86.     public class Car
  87.     {
  88.         public Car(string model, Engine engine, Cargo cargo, List<Tire> tire)
  89.         {
  90.             this.Model = model;
  91.             this.Engine = engine;
  92.             this.Cargo = cargo;
  93.             this.Tire = tire;
  94.         }
  95.  
  96.         private string model;
  97.  
  98.         private Engine engine;
  99.  
  100.         private Cargo cargo;
  101.  
  102.         private List<Tire> tire;
  103.  
  104.         public string Model
  105.         {
  106.             get { return this.model; }
  107.             set { this.model = value; }
  108.         }
  109.  
  110.         public Engine Engine
  111.         {
  112.             get { return this.engine; }
  113.             set { this.engine = value; }
  114.         }
  115.  
  116.         public Cargo Cargo
  117.         {
  118.             get { return this.cargo; }
  119.             set { this.cargo = value; }
  120.         }
  121.  
  122.         public List<Tire> Tire
  123.         {
  124.             get { return this.tire; }
  125.             set { this.tire = value; }
  126.         }
  127.     }
  128.     public class Engine
  129.     {
  130.         public Engine(int speed,int power)
  131.         {
  132.             this.EngineSpeed = speed;
  133.             this.EnginePower = power;
  134.         }
  135.  
  136.         private int engineSpeed;
  137.  
  138.         private int enginePower;
  139.  
  140.         public int EngineSpeed
  141.         {
  142.             get { return this.engineSpeed; }
  143.             set { this.engineSpeed = value; }
  144.         }
  145.  
  146.         public int EnginePower
  147.         {
  148.             get { return this.enginePower; }
  149.             set { this.enginePower = value; }
  150.         }
  151.     }
  152.     public class Cargo
  153.     {
  154.         public Cargo(int weight, string type)
  155.         {
  156.             this.CargoWeight = weight;
  157.             this.CargoType = type;
  158.         }
  159.  
  160.         private int cargoWeight;
  161.  
  162.         private string cargoType;
  163.  
  164.         public int CargoWeight
  165.         {
  166.             get { return this.cargoWeight; }
  167.             set { this.cargoWeight = value; }
  168.         }
  169.  
  170.         public string CargoType
  171.         {
  172.             get { return this.cargoType; }
  173.             set { this.cargoType = value; }
  174.         }
  175.     }
  176.     public class Tire
  177.     {
  178.         public Tire(double pressure, int age)
  179.         {
  180.             this.TirePressure = pressure;
  181.             this.TireAge = age;
  182.         }
  183.  
  184.         private double tirePressure;
  185.  
  186.         private int tireAge;
  187.  
  188.         public double TirePressure
  189.         {
  190.             get { return this.tirePressure; }
  191.             set { this.tirePressure = value; }
  192.         }
  193.  
  194.         public int TireAge
  195.         {
  196.             get { return this.tireAge; }
  197.             set { this.tireAge = value; }
  198.         }
  199.     }
  200. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement