Beispiel #1
0
 public void setvid_TS(Vid_Transporta vid_TS)
 {
     this.vid_TS = vid_TS;
 }
Beispiel #2
0
        static void Main(string[] args)
        {
            SaveManager file = new SaveManager("Result.txt");


            while (true)
            {
                Console.WriteLine("БАЗА ДАННЫХ ГОРОДСКОГО ТРАНСПОРТА");
                Console.WriteLine("*********************************");
                Console.WriteLine("*****Меню*****");
                Console.WriteLine("1-Ввод из файла");
                Console.WriteLine("2-Ввод из консоли");
                Console.WriteLine("3-Очистить базу данных");
                Console.WriteLine("4-Завершить редактирование");
                Console.WriteLine("5-Выход из программы");
                int sp = int.Parse(Console.ReadLine());
                switch (sp)
                {
                case 1:
                    try
                    {
                        int              i              = 0;
                        Transport[]      transportf     = new Transport[30];
                        Vid_Transporta[] vid_transportf = new Vid_Transporta[30];
                        Marshrut[]       marshrutf      = new Marshrut[30];
                        Poezdka[]        poezdkaf       = new Poezdka[30];

                        //StreamReader sr = File.OpenText("Transport.txt");
                        LoadManager sr = new LoadManager("Transport.txt");
                        sr.OpenText();
                        //StreamReader sr2 = File.OpenText("Marshrut.txt");
                        LoadManager sr2 = new LoadManager("Marshrut.txt");
                        sr2.OpenText();
                        // StreamReader sr3 = File.OpenText("Poezdka.txt");
                        LoadManager sr3 = new LoadManager("Poezdka.txt");
                        sr3.OpenText();

                        while (true)
                        {
                            string str = sr.ReadLine();
                            if (str == null)
                            {
                                break;
                            }
                            string[] elements = str.Split(';');


                            //ТС(считывание значений)
                            transportf[i] = new Transport();

                            transportf[i].setgos_nomer(elements[0]);              //Номер
                            transportf[i].setmarka(elements[1]);                  //Марка
                            transportf[i].setmodel(elements[2]);                  //Модель
                            transportf[i].setgod_vypuska(int.Parse(elements[3])); //Год выпуска

                            vid_transportf[i] = new Vid_Transporta();
                            vid_transportf[i].setvid_transporta(elements[4]);               //Вид ТС
                            vid_transportf[i].setsrednyaya_skorost(int.Parse(elements[5])); // Средняя скорость
                            vid_transportf[i].setkolichestvo_mest(int.Parse(elements[6]));  // Кол-во мест
                            vid_transportf[i].setstoimost_proezda(int.Parse(elements[7]));  // Стоимость проезда
                            vid_transportf[i].getkolichestvo_mashin_v_avtoparke();          // Кол-во машин всего

                            transportf[i].setvid_TS(vid_transportf[i]);

                            string strn = sr2.ReadLine();
                            if (strn == null)
                            {
                                break;
                            }
                            string[] elementsn = strn.Split(';');


                            //Маршруты
                            marshrutf[i] = new Marshrut();
                            marshrutf[i].setnomer_marshruta(int.Parse(elementsn[0]));
                            marshrutf[i].setnazvanie_marshruta(elementsn[1], elementsn[2]);
                            marshrutf[i].setrasstoyanie(float.Parse(elementsn[3]));
                            marshrutf[i].setkolichestvo_ostanovok_vputi(int.Parse(elementsn[4]));
                            marshrutf[i].setplan_po_kolichestvu_passazhirov_v_den(int.Parse(elementsn[5]));
                            marshrutf[i].setplan_po_sboru_za_proezd(float.Parse(elementsn[6]));

                            string strs = sr3.ReadLine();
                            if (strs == null)
                            {
                                break;
                            }
                            string[] elementss = strs.Split(';');

                            //Поездка
                            poezdkaf[i] = new Poezdka();
                            poezdkaf[i].setdata_vyezda(DateTime.Parse(elementss[0]));
                            poezdkaf[i].setnomer_TS(elementss[1]);
                            poezdkaf[i].setnomer_marshruta(int.Parse(elementss[2]));
                            poezdkaf[i].setkolichestvo_oborotov_za_den(int.Parse(elementss[3]));
                            poezdkaf[i].setcount_passangers(int.Parse(elementss[4]));
                            poezdkaf[i].setvyruchka_za_den((poezdkaf[i].getcount_passangers()) * (vid_transportf[i].getstoimost_proezda()));


                            i++;
                        }
                        //sr.Close();
                        sr.EndRead();
                        sr2.EndRead();
                        sr3.EndRead();
                        i = 0;
                        file.WriteLine("БАЗА ДАННЫХ ГОРОДСКОГО ТРАНСПОРТА");
                        while (true)
                        {
                            if (transportf[i] == null)
                            {
                                break;
                            }
                            //ТС
                            Console.WriteLine("ТС[" + (i + 1) + "]");
                            file.WriteLine("ТС[" + (i + 1) + "]");
                            transportf[i].Print();
                            transportf[i].Printf(file);
                            //Их маршруты
                            Console.WriteLine("Маршрут ТС[" + (i + 1) + "]");
                            file.WriteLine("Маршрут ТС[" + (i + 1) + "]");
                            marshrutf[i].Print();
                            marshrutf[i].Printf(file);
                            file.WriteLine("***************");
                            Console.WriteLine("===============");
                            i++;
                        }
                        i = 0;
                        while (true)
                        {
                            if (poezdkaf[i] == null)
                            {
                                break;
                            }
                            //Поездки по маршрутам
                            Console.WriteLine("Поездкa[" + (i + 1) + "]");
                            file.WriteLine("Поездкa[" + (i + 1) + "]");
                            poezdkaf[i].Print();
                            poezdkaf[i].Printf(file);

                            if ((poezdkaf[i].getcount_passangers()) > (marshrutf[i].getplan_po_kolichestvu_passazhirov_v_den()))
                            {
                                Console.WriteLine("План по пассажирам выполнен");
                                file.WriteLine("План по пассажирам выполнен");
                            }
                            else
                            {
                                Console.WriteLine("План по пассажирам не выполнен");
                                file.WriteLine("План по пассажирам не выполнен");
                            }

                            if ((poezdkaf[i].getvyruchka_za_den()) > (marshrutf[i].getplan_po_sboru_za_proezd()))
                            {
                                Console.WriteLine("План по выручке выполнен");
                                file.WriteLine("План по выручке выполнен");
                            }
                            else
                            {
                                Console.WriteLine("План по выручке не выполнен");
                                file.WriteLine("План по выручке не выполнен");
                            }


                            i++;
                        }
                    }
                    catch
                    {
                        Console.WriteLine("---Ошибка при заполнении!Повторите ввод---");
                    }
                    break;


                case 2:
                    int n;
                    for (; ;)
                    {
                        try
                        {
                            Console.WriteLine("Введите количество ТС");
                            n = int.Parse(Console.ReadLine());
                            if (n > 0)
                            {
                                break;
                            }

                            else
                            {
                                Console.WriteLine("---Значение введено неверно!Пожалуйста повторите ввод---");
                            }
                        }
                        catch
                        {
                            Console.WriteLine("---Значение введено неверно!Пожалуйста повторите ввод---");
                        }
                    }

                    Transport[]      transport     = new Transport[n];
                    Vid_Transporta[] vid_transport = new Vid_Transporta[n];
                    Marshrut[]       marshrut      = new Marshrut[n];


                    for (int i = 0; i < n; i++)
                    {
                        transport[i] = new Transport();
                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите гос.номер ТС");
                                transport[i].setgos_nomer(Console.ReadLine());
                                break;
                            }
                            catch
                            {
                                Console.WriteLine("---Значение введено неверно!Пожалуйста повторите ввод---");
                            }
                        }

                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите марку ТС");
                                transport[i].setmarka(Console.ReadLine());
                                break;
                            }
                            catch
                            {
                                Console.WriteLine("---Значение введено неверно!Пожалуйста повторите ввод---");
                            }
                        }



                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите год выпуска ТС");
                                transport[i].setgod_vypuska(int.Parse(Console.ReadLine()));
                                break;
                            }
                            catch
                            {
                                Console.WriteLine("---Значение введено неверно!Пожалуйста повторите ввод---");
                            }
                        }



                        vid_transport[i] = new Vid_Transporta();
                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите вид ТС");
                                vid_transport[i].setvid_transporta(Console.ReadLine());
                                break;
                            }
                            catch
                            {
                                Console.WriteLine("---Значение введено неверно!Пожалуйста повторите ввод---");
                            }
                        }

                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите среднюю скорость");
                                vid_transport[i].setsrednyaya_skorost(int.Parse(Console.ReadLine()));
                                if (vid_transport[i].getsrednyaya_skorost() > 0)
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }

                            catch
                            {
                                Console.WriteLine("---Значение введено неверно!Пожалуйста повторите ввод---");
                            }
                        }
                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите кол-во мест");
                                vid_transport[i].setkolichestvo_mest(int.Parse(Console.ReadLine()));
                                if (vid_transport[i].getkolichestvo_mest() > 0)
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine("---Значение введено неверно!Пожалуйста повторите ввод---");
                                }
                            }

                            catch
                            {
                                Console.WriteLine("---Значение введено неверно!Пожалуйста повторите ввод---");
                            }
                        }

                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите стоимость проезда");
                                vid_transport[i].setstoimost_proezda(int.Parse(Console.ReadLine()));
                                if (vid_transport[i].getstoimost_proezda() > 0)
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }

                            catch
                            {
                                Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                            }
                        }

                        vid_transport[i].getkolichestvo_mashin_v_avtoparke();        //Кол-во машин
                        transport[i].setvid_TS(vid_transport[i]);

                        marshrut[i] = new Marshrut();

                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите номер маршрута");
                                marshrut[i].setnomer_marshruta(int.Parse(Console.ReadLine()));
                                if (marshrut[i].getnomer_marshruta() > 0)
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }

                            catch
                            {
                                Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                            }
                        }



                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите начальный пункт,конечный пункт");
                                marshrut[i].setnazvanie_marshruta(Console.ReadLine(), Console.ReadLine());
                                break;
                            }

                            catch
                            {
                                Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                            }
                        }
                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите расстояние");
                                marshrut[i].setrasstoyanie(float.Parse(Console.ReadLine()));
                                if (marshrut[i].getrasstoyanie() > 0)
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }

                            catch
                            {
                                Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                            }
                        }
                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите количество остановок");
                                marshrut[i].setkolichestvo_ostanovok_vputi(int.Parse(Console.ReadLine()));
                                if (marshrut[i].getkolichestvo_ostanovok_vputi() > 0)
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }

                            catch
                            {
                                Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                            }
                        }
                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите план пассажиров в день");
                                marshrut[i].setplan_po_kolichestvu_passazhirov_v_den(int.Parse(Console.ReadLine()));
                                if (marshrut[i].getplan_po_kolichestvu_passazhirov_v_den() > 0)
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }

                            catch
                            {
                                Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                            }
                        }


                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите план по пассажирам за проезд");
                                marshrut[i].setplan_po_sboru_za_proezd(float.Parse(Console.ReadLine()));
                                if (marshrut[i].getplan_po_sboru_za_proezd() > 0)
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }

                            catch
                            {
                                Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                            }
                        }



                        int[] m = new int[10];



                        for (; ;)
                        {
                            try
                            {
                                Console.WriteLine("Введите количество поездок");
                                m[i] = int.Parse(Console.ReadLine());
                                if (m[i] > 0)
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }

                            catch
                            {
                                Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                            }
                        }

                        Poezdka[,] poezdka = new Poezdka[n, m[i]];

                        for (int j = 0; j < m[i]; j++)
                        {
                            poezdka[i, j] = new Poezdka();

                            for (; ;)
                            {
                                try
                                {
                                    Console.WriteLine("Введите дату выезда в формате год.месяц.день час:минута:секунда");
                                    poezdka[i, j].setdata_vyezda(DateTime.Parse(Console.ReadLine()));

                                    break;
                                }
                                catch
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }


                            for (; ;)
                            {
                                try
                                {
                                    Console.WriteLine("Введите номер ТС");
                                    poezdka[i, j].setnomer_TS(Console.ReadLine());
                                    break;
                                }

                                catch
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }



                            for (; ;)
                            {
                                try
                                {
                                    Console.WriteLine("Введите номер маршрута");
                                    poezdka[i, j].setnomer_marshruta(int.Parse(Console.ReadLine()));
                                    if (poezdka[i, j].getnomer_marshruta() > 0)
                                    {
                                        break;
                                    }
                                    else
                                    {
                                        Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                    }
                                }

                                catch
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }



                            for (; ;)
                            {
                                try
                                {
                                    Console.WriteLine("Введите количество оборотов за день");
                                    poezdka[i, j].setkolichestvo_oborotov_za_den(int.Parse(Console.ReadLine()));
                                    if (poezdka[i, j].getkolichestvo_oborotov_za_den() > 0)
                                    {
                                        break;
                                    }
                                    else
                                    {
                                        Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                    }
                                }

                                catch
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }


                            for (; ;)
                            {
                                try
                                {
                                    Console.WriteLine("Введите количество пассажиров за день");
                                    poezdka[i, j].setcount_passangers(int.Parse(Console.ReadLine()));
                                    if (poezdka[i, j].getcount_passangers() > 0)
                                    {
                                        break;
                                    }
                                    else
                                    {
                                        Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                    }
                                }

                                catch
                                {
                                    Console.WriteLine("---Неверно введено значение!Пожалуйста повторите---");
                                }
                            }



                            poezdka[i, j].setvyruchka_za_den((poezdka[i, j].getcount_passangers()) * (vid_transport[i].getstoimost_proezda()));        //выручка
                        }



                        //ТС
                        Console.WriteLine("ТС[" + (i + 1) + "]");
                        file.WriteLine("ТС[" + (i + 1) + "]");
                        transport[i].Print();
                        transport[i].Printf(file);
                        //Их маршруты
                        Console.WriteLine("Маршрут ТС[" + (i + 1) + "]");
                        file.WriteLine("Маршрут ТС[" + (i + 1) + "]");
                        marshrut[i].Print();
                        marshrut[i].Printf(file);
                        file.WriteLine("***************");
                        Console.WriteLine("===============");
                        for (int z = 0; z < m[i]; z++)
                        {
                            //Поездки по маршрутам
                            Console.WriteLine("Поездкa[" + (z + 1) + "]");
                            file.WriteLine("Поездкa[" + (z + 1) + "]");

                            poezdka[i, z].Print();
                            poezdka[i, z].Printf(file);

                            if ((poezdka[i, z].getcount_passangers()) > (marshrut[i].getplan_po_kolichestvu_passazhirov_v_den()))
                            {
                                Console.WriteLine("План по пассажирам выполнен");
                                file.WriteLine("План по пассажирам выполнен");
                            }
                            else
                            {
                                Console.WriteLine("План по пассажирам не выполнен");
                                file.WriteLine("План по пассажирам не выполнен");
                            }

                            if ((poezdka[i, z].getvyruchka_za_den()) > (marshrut[i].getplan_po_sboru_za_proezd()))
                            {
                                Console.WriteLine("План по выручке выполнен");
                                file.WriteLine("План по выручке выполнен");
                            }
                            else
                            {
                                Console.WriteLine("План по выручке не выполнен");
                                file.WriteLine("План по выручке не выполнен");
                            }
                        }
                    }



                    break;

                case 3: file.WriteLine(""); break;

                case 4: file.Close(); return;

                case 5: Environment.Exit(0); break;

                default:
                    Console.WriteLine("Введено неверное значение");
                    Console.ReadKey();
                    break;
                }
                ;
            }
        }