/
P08_VehicleCatalogue.cs
99 lines (82 loc) · 2.68 KB
/
P08_VehicleCatalogue.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
namespace P08_VehicleCatalogue
{
using System;
using System.Collections.Generic;
using System.Linq;
class P08_VehicleCatalogue
{
static void Main(string[] args)
{
VehicleCatalog vehicleCatalog = new VehicleCatalog();
string[] command = Console.ReadLine().Split('/');
while (command[0] != "end")
{
string type = command[0];
string brand = command[1];
string model = command[2];
switch (type)
{
case "Car":
int horsePower = int.Parse(command[3]);
Car car = new Car()
{
Brand = brand,
Model = model,
HorsePower = horsePower
};
vehicleCatalog.Cars.Add(car);
break;
case "Truck":
int weight = int.Parse(command[3]);
Truck truck = new Truck()
{
Brand = brand,
Model = model,
Weight = weight
};
vehicleCatalog.Trucks.Add(truck);
break;
}
command = Console.ReadLine().Split('/');
}
if (vehicleCatalog.Cars.Count != 0)
{
Console.WriteLine("Cars:");
foreach (Car car in vehicleCatalog.Cars.OrderBy(c => c.Brand))
{
Console.WriteLine($"{car.Brand}: {car.Model} - {car.HorsePower}hp");
}
}
if (vehicleCatalog.Trucks.Count != 0)
{
Console.WriteLine("Trucks:");
foreach (Truck truck in vehicleCatalog.Trucks.OrderBy(t => t.Brand))
{
Console.WriteLine($"{truck.Brand}: {truck.Model} - {truck.Weight}kg");
}
}
}
}
class VehicleCatalog
{
public VehicleCatalog()
{
this.Cars = new List<Car>();
this.Trucks = new List<Truck>();
}
public List<Car> Cars { get; set; }
public List<Truck> Trucks { get; set; }
}
class Car
{
public string Brand { get; set; }
public string Model { get; set; }
public int HorsePower { get; set; }
}
class Truck
{
public string Brand { get; set; }
public string Model { get; set; }
public int Weight { get; set; }
}
}