Полный текст задания: Создать массив объектов класса «Автобус» с элементами данных «марка», «количество пассажиров», «максимальная скорость», «цена». Перегрузить следующие операции: ==,! =,,, +. Сравнивать в цикле предыдущий и текущий объекты и результаты показывать на экране.
Текст программы:
C# |
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
| using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace prac11
{
class airbus
{
string marka;
int pass;
double v;
public int cina;
public void vvod(int a) {
Console.WriteLine("Введите информацию про самолет {0}", a+1);
Console.Write("Марка : ");
marka = Console.ReadLine();
Console.Write("Количество пассажиров : ");
pass = Convert.ToInt32(Console.ReadLine());
Console.Write("Скорость : ");
v = Convert.ToDouble(Console.ReadLine());
Console.Write("Цена : ");
cina = Convert.ToInt32(Console.ReadLine());
}
public void vivod( int a) {
Console.WriteLine("Инфо про самолет {0}", a+1);
Console.WriteLine("Марка : {0}\nКоличество пассажиров : {1}\nСкорость : {2}\nЦена : {3}", marka, pass, v, cina);
}
public static bool operator == (airbus a, airbus b){
if(a.pass == b.pass){
return true;
}
else
{
return false;
}
}
public static bool operator !=(airbus a, airbus b)
{
if (a.v != b.v)
{
return true;
}
else
{
return false;
}
}
public static bool operator <=(airbus a, airbus b)
{
if (a.cina <= b.cina)
{
return true;
}
else
{
return false;
}
}
public static bool operator >=(airbus a, airbus b)
{
if (a.cina >= b.cina)
{
return true;
}
else
{
return false;
}
}
public static airbus operator +(airbus a, airbus b) {
airbus c = new airbus();
c.cina = a.cina + b.cina;
return c;
}
}
class Program
{
public void analyz(bool a, bool b, bool c, bool d)
{
if (a)
{
Console.WriteLine("Количество пассажиров совпадает");
}
else
{
Console.WriteLine("Количество пассажиров не совпадает");
}
if (b)
{
Console.WriteLine("Скорость отличается");
}
else
{
Console.WriteLine("Скорость совпадает");
}
if (c)
{
if (d)
{
Console.WriteLine("Цены отличаются");
}
else
{
Console.WriteLine("Цена текущего больше");
}
}
else
{
Console.WriteLine("Цена текущего меньше");
}
}
static void Main(string[] args)
{
Program q = new Program();
int count;
Console.WriteLine("Введите количество самолетов");
count = Convert.ToInt32(Console.ReadLine());
airbus[] X = new airbus[count];
X[0] = new airbus();
X[0].vvod(0);
X[0].vivod(0);
airbus c = X[0];
for (int i = 1; i < X.Length; i++ )
{
X[i] = new airbus();
X[i].vvod(i );
X[i].vivod(i);
Console.WriteLine();
q.analyz(X[i-1]==X[i], X[i-1] != X[i], X[i-1] <= X[i], X[i-1] >= X[i]);
Console.WriteLine();
c = c + X[i];
}
Console.WriteLine("Суммарная цена равна {0,3:F2}", c.cina);
Console.ReadKey();
}
}
} |
|
Программа рабочая, вопросов никаких нет. Просто сливаю в инет свои лабы, может кому-то пригодится.