コード例 #1
0
ファイル: Program.cs プロジェクト: lugerovac/UzDiz_zadaca1
        /// <summary>
        /// Ova funkcija učitava argumente iz komandne linije
        /// </summary>
        /// <param name="args">Polje argumenata</param>
        /// <returns>True ako je sve dobro učitano, inače False</returns>
        public static bool ReadArgs(string[] args)
        {
            ArgumentHandler arguments = ArgumentHandler.GetInstance();

            try
            {
                if (args.Length < 8)
                {
                    Console.WriteLine("Nisu upisani svi argumenti!");
                    return(false);
                }

                #region  Učitaj generator slučajnog broja
                int randomSeed = Int32.Parse(args[0]);
                if (randomSeed < 100)
                {
                    Console.WriteLine("Generator slučajnog broja mora imati bar 3 znamenke!");
                    return(false);
                }
                arguments.AddArgument("RandomSeed", "int", randomSeed, true);
                #endregion

                #region  Učitaj maksimalni broj tema
                int maxThemeNumber = Int32.Parse(args[1]);
                if (maxThemeNumber <= 0 || maxThemeNumber > 10)
                {
                    Console.WriteLine("Maksimalni broj tema mora biti u rangu 1-10!");
                    return(false);
                }
                arguments.AddArgument("MaxThemeNumber", "int", maxThemeNumber, true);
                #endregion

                #region Učitaj maksimalni broj tema po natjecatelju
                int maxThemeNumberPerCompetitor = Int32.Parse(args[2]);
                if (maxThemeNumberPerCompetitor <= 0 || maxThemeNumberPerCompetitor > maxThemeNumber)
                {
                    Console.WriteLine("Maksimalni broj tema po natjecatelju mora biti veći od 0 i manji ili jedna maksimalnom broju tema!");
                    return(false);
                }
                arguments.AddArgument("MaxThemeNumberPerCompetitor", "int", maxThemeNumberPerCompetitor, true);
                #endregion

                #region  Učitaj maksimalni broj kategorija po natjecatelju
                int maxCategoryNumberPerCompetitor = Int32.Parse(args[3]);
                if (maxCategoryNumberPerCompetitor <= 0 || maxCategoryNumberPerCompetitor > 3)
                {
                    Console.WriteLine("Maksimalni broj kategorija po natjecatelju mora biti u rangu 1-3!");
                    return(false);
                }
                arguments.AddArgument("MaxCategoryNumberPerCompetitor", "int", maxCategoryNumberPerCompetitor, true);
                #endregion

                #region  Učitaj maksimalni broj natjecatelja
                int maxCompetitorNumber = Int32.Parse(args[4]);
                if (maxCompetitorNumber < 0)
                {
                    Console.WriteLine("Maksimalni broj natjecatelja ne smije biti manji od 0");
                    return(false);
                }
                arguments.AddArgument("MaxCompetitorNumber", "int", maxCompetitorNumber, true);
                #endregion

                #region  Učitaj broj članova žiria
                int juryNumber = Int32.Parse(args[5]);
                if (maxCompetitorNumber <= 0)
                {
                    Console.WriteLine("Maksimalni broj kategorija po natjecatelju mora biti veći od 0!");
                    return(false);
                }
                arguments.AddArgument("JuryNumber", "int", juryNumber, true);
                #endregion

                #region  Učitaj naziv klase bodovanja
                string scoringClass = args[6];
                arguments.AddArgument("ScoringClass", "string", scoringClass, true);
                #endregion

                #region učitaj naziv datoteke u koju se spremaju svi rezultati i tablice bodova
                string resultFile = args[7];
                arguments.AddArgument("ResultFile", "string", resultFile, true);
                #endregion
            }
            catch
            {
                Console.WriteLine("Došlo je do nepoznate pogreške");
                return(false);
            }

            return(true);
        }