Пример #1
0
        public static Apteka operator +(Apteka apteka1, Apteka apteka2)
        {
            int       n, i;
            Apteka    newApteka = new Apteka();
            Exception a;

            try
            {
                if (apteka1.numOfMeds + apteka2.numOfMeds > Apteka.maxNumOfMeds)
                {
                    throw a = new Exception("0");
                }
                newApteka.name      = apteka1.name;
                newApteka.num       = apteka1.num;
                newApteka.numOfMeds = apteka1.numOfMeds + apteka2.numOfMeds;
                for (n = 0; n < apteka1.numOfMeds; n++)
                {
                    newApteka.lek[n] = apteka1.lek[n];
                }
                i = apteka1.numOfMeds;
                for (n = 0; n < apteka2.numOfMeds; n++)
                {
                    newApteka.lek[i] = apteka2.lek[n];
                    i++;
                }
                return(newApteka);
            }
            catch (Exception)
            {
                return(apteka1);
            }
        }
Пример #2
0
        public static Apteka operator ++(Apteka apteka)
        {
            Apteka    newApteka = new Apteka();
            Exception a;
            int       n;

            try
            {
                if (apteka.numOfMeds >= Apteka.maxNumOfMeds)
                {
                    throw a = new Exception("0");
                }
                newApteka.name = apteka.name;
                newApteka.num  = apteka.num;
                for (n = 0; n < apteka.numOfMeds; n++)
                {
                    newApteka.lek[n] = new Lek();
                    newApteka.lek[n] = apteka.lek[n];
                }
                newApteka.lek[apteka.numOfMeds] = new Lek();
                newApteka.lek[apteka.numOfMeds].read();
                newApteka.numOfMeds = ++apteka.numOfMeds;
                return(newApteka);
            }
            catch (Exception)
            {
                return(apteka);
            }
        }
Пример #3
0
        static void Main(string[] args)
        {
            Apteka[] apteka1 = new Apteka[10];
            Lek[]    lek1 = new Lek[10];
            int      numOfMeds, i, max, n;

            int[]  lekAmount = new int[10];
            double price;

            double[] lekPrice = new double[10];
            string   f, s, mass, name, num;

            string[] s1 = new string[10], lekMass = new string[10], lekName = new string[10];
            Console.WriteLine("Использовать или read чтобы ввести данные(1 - read, 2 - init)");
            f = Console.ReadLine();
            if (f == "1")
            {
                apteka1[0] = new Apteka();
                apteka1[0].read();
            }
            else if (f == "2")
            {
                Console.WriteLine("Ввести все параметры (1), только название (2), не вводить параметры(3)");
                f = Console.ReadLine();
                if (f == "1")
                {
                    Console.WriteLine("Введите название аптеки");
                    name = Console.ReadLine();
                    Console.WriteLine("Введите номер аптеки");
                    num       = Console.ReadLine();
                    numOfMeds = 0;;
                    Console.WriteLine("Добавить лекарство ?(1 - Да, 0 - Нет)");
                    f = Console.ReadLine();
                    while (f == "1")
                    {
                        Console.WriteLine("Введите название лекарства");
                        lekName[numOfMeds] = Console.ReadLine();
                        Console.WriteLine("Введите код лекарства");
                        lekMass[numOfMeds] = Console.ReadLine();
                        do
                        {
                            Console.WriteLine("Введите цену лекарства");
                            try
                            {
                                lekPrice[numOfMeds] = Convert.ToDouble(Console.ReadLine());
                            }
                            catch (FormatException)
                            {
                                lekPrice[numOfMeds] = -1;
                            }
                        } while (lekPrice[numOfMeds] < 0);
                        do
                        {
                            Console.WriteLine("Введите колличество лекарства");
                            try
                            {
                                lekAmount[numOfMeds] = Convert.ToInt32(Console.ReadLine());
                            }
                            catch (FormatException)
                            {
                                lekAmount[numOfMeds] = -1;
                            }
                        } while (lekAmount[numOfMeds] < 0);
                        numOfMeds++;
                        Console.WriteLine("Добавить еще лекарство ?(1 - Да, 0 - нет)");
                        f = Console.ReadLine();
                        if (f == "0")
                        {
                            break;
                        }
                    }
                    apteka1[0] = new Apteka(name, num, numOfMeds, lekName, lekMass, lekPrice, lekAmount);
                }
                else if (f == "2")
                {
                    Console.WriteLine("Введите название аптеки");
                    name       = Console.ReadLine();
                    apteka1[0] = new Apteka(name);
                }
                else
                {
                    apteka1[0] = new Apteka();
                }
            }
            i   = 0;
            max = 1;
            f   = "1";
            while (f != "10")
            {
                Console.WriteLine("Введите номер следующего действия:");
                Console.WriteLine("1 - показать информацию о аптеки");
                Console.WriteLine("2 - добавить новое лекарство");
                Console.WriteLine("3 - изменить цену лекарсвта");
                Console.WriteLine("4 - добавить аптеку");
                Console.WriteLine("5 - показать все аптеки");
                Console.WriteLine("6 - сменить апетку");
                Console.WriteLine("7 - сложить аптеки");
                Console.WriteLine("8 - показать колличество лекарств");
                Console.WriteLine("9 - изменить колличество мест для лекарств в аптеки");
                Console.WriteLine("10 - выйти");
                f = Console.ReadLine();
                if (f == "1")
                {
                    apteka1[i].display();
                }
                else if (f == "2")
                {
                    apteka1[i] = ++apteka1[i];
                }
                else if (f == "3")
                {
                    Console.WriteLine("Введите код лекарства");
                    mass = Console.ReadLine();
                    do
                    {
                        Console.WriteLine("Введите новую цену");
                        try
                        {
                            price = Convert.ToDouble(Console.ReadLine());
                        }
                        catch (FormatException)
                        {
                            price = -1;
                        }
                    } while (price < 0);
                    apteka1[i].priceChange(mass, price);
                }
                else if (f == "4")
                {
                    apteka1[max] = new Apteka();
                    apteka1[max].read();
                    i = max;
                    max++;
                }
                else if (f == "5")
                {
                    for (n = 0; n < max; n++)
                    {
                        Console.WriteLine("Аптека: " + apteka1[n].Name);
                    }
                }
                else if (f == "6")
                {
                    Console.WriteLine("Введите название аптеки");
                    name = Console.ReadLine();
                    for (n = 0; n < max; n++)
                    {
                        if (apteka1[n].Name == name)
                        {
                            i = n;
                            n = max;
                        }
                    }
                }
                else if (f == "7")
                {
                    Console.WriteLine("Введите название аптеки");
                    name = Console.ReadLine();
                    for (n = 0; n < max; n++)
                    {
                        if (apteka1[n].Name == name)
                        {
                            apteka1[i] = apteka1[i] + apteka1[n];
                            n          = max;
                        }
                    }
                }
                else if (f == "8")
                {
                    Console.WriteLine("1 - out, 0 - ref");
                    s = Console.ReadLine();
                    if (s == "1")
                    {
                        apteka1[i].getNumber(out n);
                        Console.WriteLine(n);
                    }
                    else
                    {
                        n = 1;
                        apteka1[i].getNumber1(ref n);
                        Console.WriteLine(n);
                    }
                }
                else if (f == "9")
                {
                    Console.WriteLine("Введите колличество");
                    numOfMeds = Convert.ToInt32(Console.ReadLine());
                    Apteka.maxNumOfMedsChange(numOfMeds);
                }
            }
        }