예제 #1
0
파일: main.cs 프로젝트: Ozerich/labs
    public static int Main()
    {
        Console.WriteLine("Lab №4, Ozierski Vital, group 052004");

        StringList sl = new StringList();
        IntList il = new IntList();

        string cmd, command, mode;
        bool found;
        while (true)
        {
            Console.WriteLine();
            Console.WriteLine("Commands: addback, addfront, getfront, getback, find, print");
            Console.WriteLine("Format: <command> <int|string> or exit");
            Console.Write("? ");
            cmd = Console.ReadLine();
            if (cmd == "exit")
                break;
            if (cmd.Split(' ').Length != 2)
                Console.WriteLine("Incorrect command format");
            else
            {
                command = cmd.Split(' ')[0];
                mode = cmd.Split(' ')[1];
                if (mode != "string" && mode != "int")
                    Console.WriteLine("Incorrect mode");
                else
                {
                    if (command == "addback")
                    {
                        Console.Write("Value: ");
                        if (mode == "int")
                            il.AddBack(Int32.Parse(Console.ReadLine()));
                        else if (mode == "string")
                            sl.AddBack(Console.ReadLine());
                    }
                    else if (command == "addfront")
                    {
                        Console.Write("Value: ");
                        if (mode == "int")
                            il.AddFront(Int32.Parse(Console.ReadLine()));
                        else if (mode == "string")
                            sl.AddFront(Console.ReadLine());
                    }
                    else if (command == "print")
                    {
                        if (mode == "int")
                            il.Print();
                        else if (mode == "string")
                            sl.Print();
                    }
                    else if (command == "getfront")
                    {
                        if (mode == "int")
                            Console.WriteLine(il.GetFront());
                        else if (mode == "string")
                            Console.WriteLine(sl.GetFront());
                    }
                    else if (command == "getback")
                    {
                        if (mode == "int")
                            Console.WriteLine(il.GetBack());
                        else if (mode == "string")
                            Console.WriteLine(sl.GetBack());
                    }
                    else if (command == "find")
                    {
                        Console.Write("Value: ");
                        found = false;
                        if (mode == "int")
                            found = il.Find(Int32.Parse(Console.ReadLine()));
                        else if (mode == "string")
                            found = sl.Find(Console.ReadLine());
                        Console.WriteLine(found ? "found" : "no found");
                    }
                    else
                        Console.WriteLine("Incorrect Command");
                }
                Console.WriteLine();
            }
        }

        return 0;
    }