public long chi; //сумма на сколько изменить public static Tpassport operator -(Tpassport obj1, long obj2) //перегружаемый оператор { Tpassport arr = new Tpassport(); arr = obj1; //делаем полную копию элемента arr.dan_t[obj1.zz].cena = obj1.dan_t[obj1.zz].cena - obj2; //уменьшаем стоимость на заданное значение return(arr); }
static void Main(string[] args) { const string PressAnyKey = "\nДля продолжения нажмите любую клавишу..."; Tpassport ff = new Tpassport(); int n_o, n_t; int item; n_o = 0; n_t = 0; do//меню пользователя { do { Console.Clear(); Console.Write("\nВыберите одно из следующих действий:"); Console.Write("\n 1. Вводить данные о тарифах"); Console.Write("\n 2. Вводить паспортные данные пассажира и регистрировать покупку билета"); Console.Write("\n 3. Вывести данные о тарифах"); Console.Write("\n 4. Вывести паспортные данные пассажира и данные покупки билета"); Console.Write("\n 5. Рассчитать среднюю стоимость проданных билетов"); Console.Write("\n 6. По введенному наименованию направления высчитать сумму проданных билетов с учетом предоставленных скидок"); Console.Write("\n 7. Изменить цену тарифа"); Console.Write("\n 8. Выход в Windows"); Console.Write("\n Введите номер выбранного действия: "); item = 0; try { item = Convert.ToInt16(Console.ReadLine()); } catch (FormatException ex)//проверка на ошибки { Console.WriteLine(ex.Message + "\nНеобходимо вводить целые числа от 1 до 7 " + PressAnyKey); Console.ReadKey(); } } while ((item < 1) || (item > 8)); switch (item)//обработка команд пользователя { case 1: { n_t = n_t + 1; ff.Input(n_t, n_t, true); break; } case 2: { n_o = n_o + 1; ff.Input(n_o, n_t, false); break; } case 3: { ff.Print(n_t, true); break; } case 4: { ff.Print(n_o, false); break; } case 5: { ff.Srzn(n_o); break; } case 6: { ff.Spb(n_o, n_t); break; } case 7: { ff.f7(n_t); ff = ff - ff.chi; break; } case 8: { item = 0; break; } } if (item == 0) { break; } } while (true); }