-
Notifications
You must be signed in to change notification settings - Fork 5
/
HW2.cs
231 lines (225 loc) · 9.96 KB
/
HW2.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
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
using System;
namespace Homework2
{
internal class Program
{
// declaration of the enum HTTPError for the 3th task.
public enum HTTPError
{
BadRequst = 400,
Unauthorized,
PaymentRequired,
Forbidden,
NotFound,
MethodNotAllowed
}
// declaration of the struct Dog from the 4th task.
struct Dog
{
public string name;
public string mark;
public int age;
public override string ToString()
{
return string.Format($"This is {name}. It's mark is {mark} and it's {age}.");
}
}
// declaration of the enum Food and the class Cat from the 5th task.
enum Food
{
milk = 1,
eggs,
mouse,
fish,
meat
}
class Cat
{
private int levelOfSatiety;
public Cat()
{
levelOfSatiety = 0;
}
public Cat(int levelOfSatiety)
{
this.levelOfSatiety = levelOfSatiety;
}
public void EatSomething(Food food)
{
switch (food)
{
case Food.milk:
Console.WriteLine($"You've chosen to give {food} to the cat.");
levelOfSatiety += (int)food;
break;
case Food.eggs:
Console.WriteLine($"You've chosen to give {food} to the cat.");
levelOfSatiety += (int)food;
break;
case Food.mouse:
Console.WriteLine($"You've chosen to give {food} to the cat.");
levelOfSatiety += (int)food;
break;
case Food.fish:
Console.WriteLine($"You've chosen to give {food} to the cat.");
levelOfSatiety += (int)food;
break;
case Food.meat:
Console.WriteLine($"You've chosen to give {food} to the cat.");
levelOfSatiety += (int)food;
break;
default:
Console.WriteLine("Enter correct number!\n");
break;
}
}
public override string ToString()
{
return String.Format($"The level of satiety of cat equals: {levelOfSatiety}");
}
}
// declaration of the struct Student from the 6th task.
struct Student
{
public int groupNumber;
public string studentSurname;
public Student(string surname, int group)
{
groupNumber = group;
studentSurname = surname;
}
public override string ToString()
{
return String.Format($"Surname: {studentSurname}, group: {groupNumber}.");
}
public void EnterSurname()
{
Console.WriteLine("Enter the student's surname");
studentSurname=Console.ReadLine();
}
public void EnterGroup()
{
Console.WriteLine("Enter the student's group");
groupNumber = Convert.ToInt32(Console.ReadLine());
}
}
static void Main(string[] args)
{
// Task 1. Read 3 float numbers and check if they are all in the range [-5.5].
float num1, num2, num3;
Console.WriteLine("Enter the first number");
num1 = Convert.ToSingle(Console.ReadLine());
Console.WriteLine("Enter the second number");
num2 = Convert.ToSingle(Console.ReadLine());
Console.WriteLine("Enter the third number");
num3 = Convert.ToSingle(Console.ReadLine());
Console.WriteLine(((num1 <= 5) && (num1 >= -5)) && ((num2 <= 5) && (num2 >= -5)) && ((num3 <= 5) && (num3 >= -5)) ?
"All of them are in the rangle [-5;5]" : "All of them are not in range [-5;5]");
// Task 2. Read 3 integer numbers and output max and min of them.
int A, B, C;
Console.WriteLine("Enter the A");
A = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter the B");
B = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter the C");
C = Convert.ToInt32(Console.ReadLine());
Console.WriteLine((A >= B) && (A >= C) ? "The number A is max."
: ((B >= C) && (B >= A)) ? "The number B is max."
: "The number C is max.");
// Task 3. Read number of HTTP Error (400, 401,402, ...) and write the name of this error
Console.WriteLine("Enter the number of HTTP error:");
int error;
error = Convert.ToInt32(Console.ReadLine());
switch ((HTTPError)error)
{
case HTTPError.BadRequst:
Console.WriteLine("Name of error: Bad Request.");
break;
case HTTPError.Unauthorized:
Console.WriteLine("Name of error: Unauthorized.");
break;
case HTTPError.PaymentRequired:
Console.WriteLine("Name of error: Payment Required.");
break;
case HTTPError.Forbidden:
Console.WriteLine("Name of error: Forbidden.");
break;
case HTTPError.NotFound:
Console.WriteLine("Name of error: Not Found.");
break;
case HTTPError.MethodNotAllowed:
Console.WriteLine("Name of error: Method not allowed.");
break;
default:Console.WriteLine("Enter correct code of HTTP error.");
break;
}
// Task 4. Declare struct Dog with fields name, mark, age.
// Declare object myDog of Dog type and read values for it.
// Output information on the console. (Override method ToString in struct)
Dog myDog;
Console.WriteLine("Enter the dog's name:");
myDog.name = Console.ReadLine();
Console.WriteLine("Enter the dog's mark:");
myDog.mark = Console.ReadLine();
Console.WriteLine("Enter the dog's age:");
myDog.age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(myDog);
// Task 5. Створіть клас Cat.
// У кішки буде властивість «рівень ситості» і метод «з'їсти щось».
// Створіть enum Їжа (риба, миша ...).
// Кожен вид їжі повинен по-різному змінювати рівень ситості.
Cat Kitty;
Kitty = new Cat();
Console.WriteLine("Food for cat that is available:\n1.Milk\n2.Eggs\n3.Mouse\n4.Fish\n5.Meat");
Console.WriteLine("Enter what you want to give to the cat:");
Food food = (Food)Convert.ToInt32(Console.ReadLine());
Kitty.EatSomething(food);
Console.WriteLine(Kitty);
// Task 6. Створити структуру Студент з прізвищем студента та номером його групи.
// Сформувати і вивести масив з прізвищ студентів заданої групи, що починаються на задану букву.
// Прізвище та номер групи вводяться з консолі.
Student[] Students;
Console.WriteLine("Enter the number of students:");
int numberOfStudents = Convert.ToInt32(Console.ReadLine());
Students = new Student[numberOfStudents];
for (int i = 0; i < numberOfStudents; i++)
{
Students[i] = new Student();
Students[i].EnterSurname();
Students[i].EnterGroup();
}
Console.WriteLine("Enter the first letter: ");
char letter = Convert.ToChar(Console.ReadLine());
Student[] StudentsWithEnteredLetter; // array that stores students, who have surnames beginning with the letter entered by user.
int numOfSurnamesWithLetter = 0; // variable that stores the number of surnames with the letter entered by user.
for (int i = 0; i < numberOfStudents; i++)
{
// We ckeck if the first letter of the student's surname is the same as the letter entered by user.
// Then we count the number of surnames with that letter and create an array of that size.
if (Students[i].studentSurname[0] == letter)
{
numOfSurnamesWithLetter++;
}
}
if (numOfSurnamesWithLetter != 0)
{
StudentsWithEnteredLetter = new Student[numOfSurnamesWithLetter];
int j = 0; // variable for iteration in array with students who have surnames beginning with entered letter.
for (int i = 0; i < numberOfStudents; i++)
{
if (Students[i].studentSurname[0] == letter)
{
StudentsWithEnteredLetter[j] = Students[i];
j++;
}
}
Console.WriteLine($"The lisk of students whose surnames begin with {letter}: ");
for (int i = 0; i < numOfSurnamesWithLetter; i++)
{
Console.WriteLine(StudentsWithEnteredLetter[i]);
}
}
else Console.WriteLine("The list is empty.\n");
}
}
}