コード例 #1
0
    public string Print(params string[] args)
    {
        string clinicName = args[1];

        Clinic clinic = FindClinic(clinicName);

        if (args.Length == 3)
        {
            int roomNumber = int.Parse(args[2]);

            return(clinic.PrintRoom(roomNumber));
        }

        return(clinic.PrintAll());
    }
コード例 #2
0
    public static void Main()
    {
        var pets    = new List <Pet>();
        var clinics = new List <Clinic>();

        int n = int.Parse(Console.ReadLine());

        for (int i = 0; i < n; i++)
        {
            string[] tokens  = Console.ReadLine().Split();
            string   command = tokens[0];

            switch (command)
            {
            case "Create":
                try
                {
                    string typeOfCreation = tokens[1];

                    if (typeOfCreation == "Pet")
                    {
                        string name = tokens[2];
                        int    age  = int.Parse(tokens[3]);
                        string kind = tokens[4];

                        Pet pet = new Pet(name, age, kind);
                        pets.Add(pet);
                    }
                    else
                    {
                        string clinicName = tokens[2];
                        int    roomCount  = int.Parse(tokens[3]);

                        Clinic clinic = new Clinic(clinicName, roomCount);
                        clinics.Add(clinic);
                    }
                }
                catch (ArgumentException ae)
                {
                    Console.WriteLine(ae.Message);
                }
                break;

            case "Add":
                string petName         = tokens[1];
                string clinicNameToAdd = tokens[2];

                Pet    petToAdd    = pets.FirstOrDefault(p => p.Name == petName);
                Clinic clinicToAdd = clinics.FirstOrDefault(c => c.Name == clinicNameToAdd);

                Console.WriteLine(clinicToAdd.Add(petToAdd));
                break;

            case "Release":
                string clinicToReleaseName = tokens[1];

                Clinic clinicToRelease = clinics.FirstOrDefault(c => c.Name == clinicToReleaseName);

                Console.WriteLine(clinicToRelease.Release());
                break;

            case "HasEmptyRooms":
                string clinicToCheckName = tokens[1];

                Clinic clinicToCheck = clinics.FirstOrDefault(c => c.Name == clinicToCheckName);

                Console.WriteLine(clinicToCheck.HasEmptyRooms);
                break;

            case "Print":
                string clinicToPrintName = tokens[1];

                Clinic clinicToPrint = clinics.FirstOrDefault(c => c.Name == clinicToPrintName);

                if (tokens.Length == 2)
                {
                    Console.WriteLine(clinicToPrint.PrintAll());
                }
                else
                {
                    int roomNumberToPrint = int.Parse(tokens[2]);

                    Console.WriteLine(clinicToPrint.Print(roomNumberToPrint));
                }

                break;
            }
        }
    }
コード例 #3
0
    static void Main(string[] args)
    {
        var pets         = new List <Pet>();
        var clinics      = new List <Clinic>();
        int commandCount = int.Parse(Console.ReadLine());

        for (int i = 0; i < commandCount; i++)
        {
            string[] commandInput = Console.ReadLine().Split();
            string   cmd          = commandInput[0];

            switch (cmd)
            {
            case "Create":
                string typeOfCreation = commandInput[1];
                if (typeOfCreation == "Pet")
                {
                    int age  = int.Parse(commandInput[3]);
                    Pet pett = new Pet(commandInput[2], age, commandInput[4]);
                    pets.Add(pett);
                }
                else
                {
                    try
                    {
                        int roomCount = int.Parse(commandInput[3]);
                        var clinic    = new Clinic(commandInput[2], roomCount);
                        clinics.Add(clinic);
                    }
                    catch (ArgumentException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                }
                break;

            case "Add":
                Pet    pet         = pets.FirstOrDefault(p => p.Name == commandInput[1]);
                Clinic clinicToAdd = clinics.FirstOrDefault(c => c.Name == commandInput[2]);
                Console.WriteLine(clinicToAdd.Add(pet));
                break;

            case "Release":
                Clinic clinicToRelease = clinics.FirstOrDefault(c => c.Name == commandInput[1]);
                Console.WriteLine(clinicToRelease.Release());
                break;

            case "HasEmptyRooms":
                Clinic clinicToCheck = clinics.FirstOrDefault(c => c.Name == commandInput[1]);
                Console.WriteLine(clinicToCheck.HasEmptyRooms);
                break;

            case "Print":
                Clinic clinicToPrint = clinics.FirstOrDefault(c => c.Name == commandInput[1]);

                if (commandInput.Length == 3)
                {
                    int roomNumber = int.Parse(commandInput[2]);
                    Console.WriteLine(clinicToPrint.Print(roomNumber));
                }
                else
                {
                    Console.WriteLine(clinicToPrint.PrintAll());
                }
                break;

            default:
                break;
            }
        }
    }
コード例 #4
0
        static void Main(string[] args)
        {
            int numOfCommands = int.Parse(Console.ReadLine());

            for (int i = 0; i < numOfCommands; i++)
            {
                string[] cmdArgs       = Console.ReadLine().Split();
                string   command       = cmdArgs[0];
                Clinic   currentClinic = null;

                if (command == "Create")
                {
                    command += $" {cmdArgs[1]}";
                }

                switch (command)
                {
                case "Create Pet":
                    Pet pet = new Pet(cmdArgs[2], int.Parse(cmdArgs[3]), cmdArgs[4]);
                    allPets.Add(pet);
                    break;

                case "Create Clinic":
                    try
                    {
                        Clinic clinic = new Clinic(cmdArgs[2], int.Parse(cmdArgs[3]));
                        allClinics.Add(clinic);
                    }
                    catch (InvalidOperationException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    break;

                case "Add":
                    string petName    = cmdArgs[1];
                    string clinicName = cmdArgs[2];

                    try
                    {
                        Pet petToAdd = allPets.FirstOrDefault(p => p.Name == petName);
                        if (petToAdd == null)
                        {
                            throw new InvalidOperationException("Invalid Operation!");
                        }

                        currentClinic = GetClinic(clinicName);
                        Console.WriteLine(currentClinic.AddPet(petToAdd));
                    }
                    catch (InvalidOperationException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    break;

                case "Release":
                    currentClinic = GetClinic(cmdArgs[1]);
                    Console.WriteLine(currentClinic.ReleasePet());
                    break;

                case "HasEmptyRooms":
                    currentClinic = GetClinic(cmdArgs[1]);
                    Console.WriteLine(currentClinic.HasEmptyRooms());
                    break;

                case "Print":
                    currentClinic = GetClinic(cmdArgs[1]);

                    if (cmdArgs.Length == 2)
                    {
                        currentClinic.PrintAll();
                    }
                    else
                    {
                        currentClinic.Print(int.Parse(cmdArgs[2]));
                    }
                    break;
                }
            }
        }