Посчитать количество экскурсий и вывести информацию о самой дорогой экскурсии - C#
Формулировка задачи:
Дан массив данных, в котором хранятся данные об экскурсиях: наименование, страна, стоимость, продолжительность, транспорт. Посчитать количество экскурсий в указанную страну и указанным транспортом (ввести с клавиатуры) и вывести всю информацию о самой дорогой экскурсии.
Решение задачи: «Посчитать количество экскурсий и вывести информацию о самой дорогой экскурсии»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication5
{
class Program
{
struct Trip
{
public string name;
public string country;
public string car;
public int cost;
public Trip(string name, string country, string car, int cost)
{
this.name = name;
this.country = country;
this.car = car;
this.cost = cost;
}
}
static void Main(string[] args)
{
List<Trip> trp = new List<Trip>();
int value = 0;
string choose = "";
bool isExit = false;
string name;
string country;
string car;
int cost;
while (!isExit)
{
Console.WriteLine("Выберите пункт меню");
Console.WriteLine("1. Добавить новые экскурсии");
Console.WriteLine("2. Удалить указанную экскурсию");
Console.WriteLine("3. Вывести все экскурсии для указанных страны и транспорта");
Console.WriteLine("4. Вывести самую дорогую экскурсию");
Console.WriteLine("5. Вывести все экскурсии");
Console.WriteLine("6. Выход");
Console.Write("Ваш выбор: ");
choose = Console.ReadLine();
Console.WriteLine();
switch (choose)
{
case "1":
{
Console.WriteLine("Сколько экскурсий вы хотите добавить?");
value = int.Parse(Console.ReadLine());
for (int i = 0; i < value; i++)
{
Console.WriteLine("Добавляем {0} из {1}", (i + 1).ToString(), value.ToString());
Console.WriteLine("Введите название экскурсии");
name = Console.ReadLine();
Console.WriteLine("Введите название города");
country = Console.ReadLine();
Console.WriteLine("Введите название транспорта");
car = Console.ReadLine();
Console.WriteLine("Введите стоимость экскурсии");
cost = int.Parse(Console.ReadLine());
trp.Add(new Trip(name, country, car, cost));
Console.WriteLine("Экскурсия добавлена. Нажмите любую клавишу");
Console.ReadKey();
Console.Clear();
}
break;
}
case "2":
{
Console.WriteLine("Введите порядковый номер экскурсии для удаления");
trp.RemoveAt(int.Parse(Console.ReadLine()));
break;
}
case "3":
{
value = 0;
Console.WriteLine("Введите страну для поиска");
country = Console.ReadLine();
Console.WriteLine("Введите транспорт для поиска");
car = Console.ReadLine();
foreach (Trip item in trp)
{
if ((country.ToLower().Equals(item.country.ToLower()) && (car.ToLower().Equals(item.car.ToLower()))))
{
Console.WriteLine("{0}.--------------------------------------", value.ToString());
Console.WriteLine("Название экскурсии: {0}", item.name);
Console.WriteLine("Название страны: {0}", item.country);
Console.WriteLine("Название транспорта: {0}", item.car);
Console.WriteLine("Стоимость экскурсии: {0}", item.cost.ToString());
value++;
}
}
Console.WriteLine("Нажмите любую клавишу");
Console.ReadKey();
Console.Clear();
break;
}
case "4":
{
value = trp.Max(cst => cst.cost);
foreach (Trip item in trp)
{
if (value == item.cost)
{
Console.WriteLine("{0}.--------------------------------------", value.ToString());
Console.WriteLine("Название экскурсии: {0}", item.name);
Console.WriteLine("Название страны: {0}", item.country);
Console.WriteLine("Название транспорта: {0}", item.car);
Console.WriteLine("Стоимость экскурсии: {0}", item.cost.ToString());
value++;
}
}
break;
}
case "5":
{
value = 0;
foreach (Trip item in trp)
{
Console.WriteLine("{0}.--------------------------------------", value.ToString());
Console.WriteLine("Название экскурсии: {0}", item.name);
Console.WriteLine("Название страны: {0}", item.country);
Console.WriteLine("Название транспорта: {0}", item.car);
Console.WriteLine("Стоимость экскурсии: {0}", item.cost.ToString());
value++;
}
break;
}
case "6":
{
isExit = true;
break;
}
default:
{
Console.WriteLine("Недопустмый выбор");
break;
}
}
Console.WriteLine("Нажмите любую клавишу");
Console.ReadKey();
Console.Clear();
}
}
}
}