Advertisement
T4JNE

LAB 2 v1.1

Oct 13th, 2021 (edited)
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.26 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace LABY
  8. {
  9.     class Question
  10.     {
  11.         string Question_String;
  12.         bool IsTrueOrFalse;
  13.         int Recommended_JobID;
  14.  
  15.         public Question(string Question_String, bool IsTrueOrFalse, int Recommended_JobID)
  16.         {
  17.             this.Question_String = Question_String;
  18.             this.IsTrueOrFalse = IsTrueOrFalse;
  19.             this.Recommended_JobID = Recommended_JobID;
  20.         }
  21.  
  22.         public bool GetBool()
  23.         {
  24.             return IsTrueOrFalse;
  25.         }
  26.  
  27.         public int GetJobID()
  28.         {
  29.             return Recommended_JobID;
  30.         }
  31.  
  32.         public void Print()
  33.         {
  34.             Console.Write("Pytanie: ");
  35.             Console.Write(Question_String);
  36.  
  37.             if (IsTrueOrFalse)
  38.                 Console.Write(" (T/N)");
  39.  
  40.             Console.WriteLine();
  41.         }
  42.     }
  43.  
  44.  
  45.     class Program
  46.     {
  47.         //Pauses the execution of the program by waiting for an input
  48.         static void Pause()
  49.         {
  50.             Console.WriteLine("Wcisnij dowolny klawisz aby kontynuowac...");
  51.             Console.ReadKey();
  52.         }
  53.  
  54.         static void Main(string[] args)
  55.         {
  56.             Console.WriteLine("Na pytania prosze odpowiadac cyframi od 1 do 5");
  57.             Console.WriteLine("1 - Zdecydowanie się nie zgadzam");
  58.             Console.WriteLine("2 - Raczej się nie zgadzam");
  59.             Console.WriteLine("3 - Neutralnie");
  60.             Console.WriteLine("4 - Raczej się zgadzam");
  61.             Console.WriteLine("5 - Zdecydowanie się zgadzam");
  62.  
  63.             Console.WriteLine();
  64.  
  65.             int[] JobScore = new int[5];
  66.             //0 - Murarz, 1 - Tynkarz, 2 - Akrobata, 3 - Policjant, 4 - Zlodziej Katalizatorow
  67.  
  68.             //List of all questions
  69.             Question[] questions = {
  70.                 new Question("Dobrze się czyjesz na dużych wysokościach", true, 2),
  71.                 new Question("Uwielbiasz płyty gipsowe", true, 1),
  72.                 new Question("Ściany szlifujesz papierem ściernym 500 w jednym miejscu aż doły narobisz", false, 1),
  73.                 new Question("Lubisz cegły", true, 0),
  74.                 new Question("Nienawidzisz czarnych", true, 3),
  75.                 new Question("Często nosisz ze sobą lewarek", false, 4),
  76.                 new Question("Lubisz mieć przy sobie gnata", false, 3),
  77.                 new Question("Umiesz zrobić salto", true, 2),
  78.                 new Question("Zawsze lubiłeś robić mury z lego", true, 0),
  79.                 new Question("Lubisz zaglądać pod samochody na parkingu", false, 4),
  80.             };
  81.  
  82.             for (int i = 0; i < questions.Length; i++)
  83.             {
  84.                 questions[i].Print();
  85.  
  86.                 //If the answer for the question is either true or false
  87.                 if (questions[i].GetBool())
  88.                 {
  89.                     //While loop to force a valid input
  90.                     while (true)
  91.                     {
  92.                         string Answer = Console.ReadLine();
  93.  
  94.                         if (Answer.ToLower() == "t")
  95.                         {
  96.                             JobScore[questions[i].GetJobID()] += 5;
  97.                             break;
  98.                         }
  99.                         else if (Answer.ToLower() == "n")
  100.                         {
  101.                             JobScore[questions[i].GetJobID()] += 0;
  102.                             break;
  103.                         }
  104.                         else
  105.                         {
  106.                             Console.WriteLine("Na pytanie prosze odpowiedziec literami 't' lub 'n'");
  107.                         }
  108.                     }
  109.  
  110.                 }
  111.                 //If the answer for the question is 1-5 scale
  112.                 else
  113.                 {
  114.                     //While loop to force a valid input
  115.                     while (true)
  116.                     {
  117.                         try
  118.                         {
  119.                             //Another while loop to force a valid input (numbers in range 1-5)
  120.                             while (true)
  121.                             {
  122.                                 int Answer = Convert.ToInt32(Console.ReadLine());
  123.                                 JobScore[questions[i].GetJobID()] += Answer;
  124.  
  125.                                 if (Answer > 5 || Answer < 1)
  126.                                     Console.WriteLine("Na pytanie prosze odpowiedziec cyframi od 1 do 5");
  127.                                 else
  128.                                     break;
  129.                             }
  130.  
  131.                             break;
  132.                         }
  133.                         catch (Exception)
  134.                         {
  135.                             Console.WriteLine("ERROR: Na pytanie prosze odpowiedziec cyframi od 1 do 5");
  136.                         }
  137.                         //END OF TRY
  138.                     }//END OF WHILE
  139.                 }//END OF ELSE
  140.  
  141.             }//END OF FOR (main for loop)
  142.  
  143.             //Uzyskanie indexu najwiekszej liczby i zapisanie go do zmiennej 'RecommendedJobs'
  144.             int RecommendedJobs = 0;
  145.             int MaxPoints = JobScore.Max();
  146.             for (int i = 0; i < JobScore.Length; i++)
  147.             {
  148.                 if (JobScore[i] == MaxPoints)
  149.                 {
  150.                     RecommendedJobs = i;
  151.                 }
  152.             }
  153.  
  154.             Console.Write("Rekomendujemy prace jako ");
  155.  
  156.             if (RecommendedJobs == 0)
  157.                 Console.Write("Murarz");
  158.             else if (RecommendedJobs == 1)
  159.                 Console.Write("Tynkarz");
  160.             else if (RecommendedJobs == 2)
  161.                 Console.Write("Akrobata");
  162.             else if (RecommendedJobs == 3)
  163.                 Console.Write("Policjant");
  164.             else if (RecommendedJobs == 4)
  165.                 Console.Write("Złodziej katalizatorów");
  166.  
  167.             Console.WriteLine();
  168.             Console.WriteLine();
  169.  
  170.             Pause();
  171.  
  172.         }
  173.     }
  174. }
  175. /*Proszę napisać program ankietę, który będzie zbierał dane o umiejętnościach zawodowych użytkownika
  176. (co najmniej 10 pytań) i w zależności od zebranych informacji przydzieli użytkownika do jednej z pięciu
  177. oferowanych w programie prac.*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement