Exemple #1
0
        public static void Wyswietl_nowe(string[,] tablica_miejsc, string[] wartosci_miejsc)
        {
            int  k        = 0;
            bool nie_bylo = true;

            for (int i = 0; i < tablica_miejsc.GetLength(0); i++)
            {
                for (int j = 0; j < tablica_miejsc.GetLength(1); j++)
                {
                    int index_poziom = Wybor_miejsc.Index_poziom(wartosci_miejsc[k]);
                    int index_pion   = int.Parse(wartosci_miejsc[k + 1]);

                    if (index_pion == i && index_poziom == j && nie_bylo)
                    {
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.Write(tablica_miejsc[index_pion, index_poziom] + "\t");
                        Console.ForegroundColor = ConsoleColor.Gray;

                        if (k + 2 < wartosci_miejsc.Length)
                        {
                            k += 2;
                        }
                        else
                        {
                            nie_bylo = false;
                        }
                    }
                    else
                    {
                        Console.Write(tablica_miejsc[i, j] + "\t");
                    }
                }
                Console.WriteLine();
            }
        }
Exemple #2
0
        public static void Form()
        {
            // POBIERANIE MIEJSCA WYLOTY
            Console.WriteLine("Dostępne miejsca wylotu: ");
            var miejsce_enum = Enum.GetNames(typeof(Formularz.Miejsca)).Length;

            for (int i = 0; i < miejsce_enum; i++)
            {
                Console.WriteLine(i + 1 + " " + (Formularz.Miejsca)i);
            }
            Console.Write("Podaj miejsce wylotu: ");
            var miejsce_wylotu = Console.ReadLine();

            Console.WriteLine();
            while (!Int32.TryParse(miejsce_wylotu, out _) && !Enum.IsDefined(typeof(Formularz.Miejsca), miejsce_wylotu.ToString()))
            {
                Console.Write("Podana wartość jest nieprawdłowa. Proszę spróbowac ponownie: ");
                miejsce_wylotu = Console.ReadLine();
            }

            // POBIERANIE CELU PODROZY
            Console.WriteLine("Dostępne miejsca podróży: ");
            var cel_enum = Enum.GetNames(typeof(Formularz.Cel)).Length;

            for (int i = 0; i < cel_enum; i++)
            {
                Console.WriteLine(i + 1 + " " + (Formularz.Cel)i);
            }
            Console.Write("Podaj cel podróży: ");
            var    cel_podrozy = Console.ReadLine();
            string cel         = Rezerwacja.R_cel_podrozy(cel_podrozy);

            Console.WriteLine();

            while (!Int32.TryParse(cel_podrozy, out _) && !Enum.IsDefined(typeof(Formularz.Cel), cel_podrozy.ToString()))
            {
                Console.Write("Podana wartość jest nieprawdłowa. Proszę spróbowac ponownie: ");
                cel_podrozy = Console.ReadLine();
            }

            // POBIERANIE KLASY LOTU
            Console.WriteLine("Dostępne klasy lotu: ");
            var klasa_enum = Enum.GetNames(typeof(Formularz.Klasa)).Length;

            for (int i = 0; i < klasa_enum; i++)
            {
                Console.WriteLine(i + 1 + " " + (Formularz.Klasa)i);
            }
            Console.Write("Wybierz klase: ");
            var klasa = Console.ReadLine();

            Console.WriteLine();

            while (!Int32.TryParse(klasa, out _) && !Enum.IsDefined(typeof(Formularz.Klasa), klasa.ToString()))
            {
                Console.Write("Podana wartość jest nieprawdłowa. Proszę spróbowac ponownie: ");
                klasa = Console.ReadLine();
            }

            // POBIERANIE DATY PODROZY
            Console.Write("Podaj date podróży w formacie dd/mm/yyyy: ");
            string data = Console.ReadLine();

            char[] znaki = new char[] { '.', '/', ':' };
            while ((!data.Contains(znaki[0]) && !data.Contains(znaki[1]) && !data.Contains(znaki[2])) || data.Length != 10)
            {
                Console.Write("Podana data jest nieprawidłowa. Podaj jeszcze raz: ");
                data = Console.ReadLine();
            }

            // KONWERTOWANIE STRINGA NA DATE
            DateTime data_podrozy = Do_daty(data);

            while (data_podrozy <= DateTime.Now)
            {
                Console.Write("Błędna data, podaj prawidłową datę: ");
                data_podrozy = Convert.ToDateTime(Console.ReadLine());
            }
            Console.WriteLine();

            // POBIERANIE ILOSCI PASAZEROW
            Console.Write("Podaj ilosc pasażerów: ");
            int ilosc_pasazerow = int.Parse(Console.ReadLine());

            Console.WriteLine();

            // SPRAWDZANIE SAMOLOTU I WYŚWIETLANIE GO
            string[] wynik_miejsca   = new string[ilosc_pasazerow * 2];
            string[] wartosc_miejsca = new string[ilosc_pasazerow * 2];
            string[,] tablica_miejsc = Wybor_miejsc.Odczyt_miejsc();
            if (Wybor_miejsc.Czy_pelny(tablica_miejsc) == false)
            {
                Console.WriteLine("Obecnie samolot jest przepełniony, wpisz swoje wartości, a my udostępnimy Ci nowy samolot!");
            }
            else
            {
                Console.WriteLine("Obecne miejsca: ");
            }
            Wyswietl_miejsca(tablica_miejsc);

            //POBIERANIE WARTOŚĆI MIEJSC
            for (int i = 0; i < ilosc_pasazerow; i++)
            {
                int j = i + 1;
                Console.Write("Wybierz miejsce dla " + j + " pasażera: ");
                string miejsce       = Console.ReadLine().ToUpper();
                string pierwszy_znak = miejsce[0].ToString();
                if (Int32.TryParse(pierwszy_znak, out _))
                {
                    miejsce = Zamiana_miejsc(miejsce);
                }
                while (miejsce.Length < 2 || miejsce.Length > 3 || Wybor_miejsc.Czy_zajete(miejsce, tablica_miejsc) == false)
                {
                    Console.Write("Podano zajęte, bądź nieistniejące miejsce. Prosze podać jeszcze raz: ");
                    miejsce = Console.ReadLine().ToUpper();
                    if (Int32.TryParse(pierwszy_znak, out _))
                    {
                        miejsce = Zamiana_miejsc(miejsce);
                    }
                }
                wynik_miejsca = Wybor_miejsc.Wartosc_miejsc(wartosc_miejsca, miejsce, j);
            }
            Console.WriteLine();

            // ZAMIANA MIEJSC
            if (Wybor_miejsc.Czy_pelny(tablica_miejsc) == false)
            {
                tablica_miejsc = Wybor_miejsc.Zamiana_wartosci(tablica_miejsc, wynik_miejsca, ilosc_pasazerow);
            }
            tablica_miejsc = Wybor_miejsc.Zamiana_wartosci(tablica_miejsc, wynik_miejsca, ilosc_pasazerow);
            Console.WriteLine("Miejsca po zarezerwowaniu: ");
            Wyswietl_miejsca(tablica_miejsc);
            Wybor_miejsc.Zapis_miejsc(tablica_miejsc);

            double cena = Rezerwacja.Rezerwacja_(cel, data_podrozy);

            Wynik(cena, miejsce_wylotu, cel_podrozy, data_podrozy, klasa, ilosc_pasazerow, tablica_miejsc, wynik_miejsca);
            Console.Clear();
        }