Advertisement
Guest User

Untitled

a guest
Dec 12th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.29 KB | None | 0 0
  1. namespace BMIConsole
  2. {
  3.     class Program
  4.     {
  5.         private static double[] arrayBMI = new double[3]; // maak array aan voor drie personen hun BMI in te plaatsen.
  6.  
  7.         static void Main(string[] args)
  8.         {
  9.             PrintMenu();
  10.  
  11.  
  12.             //string keuze;
  13.  
  14.             //do
  15.             //{
  16.             //    keuze = Console.ReadLine();
  17.             //    switch (keuze)
  18.             //    {
  19.             //        //case (("a")||("A")):
  20.             //        case "a":
  21.             //        case "A":
  22.             //            InlezenLengteGewicht();
  23.             //            break;
  24.             //        case "b":
  25.             //        case "B":
  26.             //            BepaalGemiddelde(arrayBMI);
  27.             //            break;
  28.             //        case "c":
  29.             //        case "C":
  30.             //            Console.WriteLine("Programma gaat stoppen");
  31.             //            break;
  32.             //        default:
  33.             //            Console.WriteLine($"\nDruk enkel op een juiste knop aub.");
  34.             //            break;
  35.             //    }
  36.  
  37.             //    Console.WriteLine($"{keuze}");
  38.             //} while ((keuze != "c") || (keuze!="C"));
  39.  
  40.             ConsoleKeyInfo keuze;
  41.  
  42.             do
  43.             {
  44.                 keuze = Console.ReadKey();
  45.                 switch (keuze.Key)
  46.                 {
  47.                     case ConsoleKey.A:
  48.                         InlezenLengteGewicht();
  49.                         PrintMenu();
  50.                         break;
  51.                     case ConsoleKey.B:
  52.                         BepaalGemiddelde(arrayBMI);
  53.                         PrintMenu();
  54.                         break;
  55.                     case ConsoleKey.C:
  56.                         Console.WriteLine("Programma gaat stoppen");
  57.                         break;
  58.                     default:
  59.                         Console.WriteLine($"\nDruk enkel op een juiste knop aub.");
  60.                         break;
  61.                 }
  62.  
  63.                 Console.WriteLine($"{keuze}");
  64.             } while (keuze.Key != ConsoleKey.C);
  65.  
  66.             Console.WriteLine("Programma is gestopt");
  67.             Console.ReadKey();
  68.         }
  69.  
  70.         private static void PrintMenu()
  71.         {
  72.             Console.WriteLine("MENU\n====\n\n");
  73.             Console.WriteLine("A) Voer gegevens in + bereken BMI");
  74.             Console.WriteLine("B) Toon histogram en gemiddelde BMI");
  75.             Console.WriteLine("C) Stop\n");
  76.             Console.WriteLine("Uw keuze:");
  77.         }
  78.         private static void InlezenLengteGewicht()
  79.         {
  80.            
  81.             Console.WriteLine("\nInvoeren gegevens\n================\n");
  82.  
  83.             // lees 3 personen in
  84.             // voeg de 3 BMI's toe aan arrayBMI[]
  85.             int aantalPersonen = arrayBMI.Length;
  86.  
  87.             for (int i = 0; i < aantalPersonen; i++)
  88.             {
  89.                 arrayBMI[i] = BepaalLengteGewichtReturnBMI($"persoon {i + 1}:");
  90.             }
  91.  
  92.             //print array
  93.             for (int i = 0; i < arrayBMI.Length; i++)
  94.             {
  95.                 Console.Write(arrayBMI[i] + " ");
  96.             }
  97.  
  98.             Console.WriteLine("\nDruk toets om terug te keren naar het menu...");
  99.             Console.ReadKey();
  100.         }
  101.  
  102.         //
  103.         private static double BepaalLengteGewichtReturnBMI(string persoon)
  104.         {
  105.             double persoonBMI;
  106.  
  107.             Console.WriteLine($"{persoon}");
  108.            
  109.             persoonBMI = BerkenenBMI(LeesEnGeefLengte(), LeesEnGeefGewicht());
  110.             Console.WriteLine($"\tBMI = {persoonBMI}");
  111.  
  112.             return persoonBMI;
  113.         }
  114.  
  115.         private static double LeesEnGeefLengte()
  116.         {
  117.             string getalletje;
  118.             double lengte;
  119.  
  120.             Console.Write($"\tLengte: ");
  121.             do
  122.             {
  123.                 getalletje = Console.ReadLine();
  124.             } while (!IsStringDouble(getalletje)); // checkt voor double
  125.             lengte = Convert.ToDouble(getalletje);
  126.  
  127.             return lengte;
  128.         }
  129.  
  130.         private static int LeesEnGeefGewicht()
  131.         {
  132.             string getalletje;
  133.             int gewicht;
  134.  
  135.             Console.Write("\tGewicht: ");
  136.             do
  137.             {
  138.                 getalletje = Console.ReadLine();
  139.             } while (!IsStringGetal(getalletje)); // checkt voor integer
  140.             gewicht = Convert.ToInt32(getalletje);
  141.  
  142.             return gewicht;
  143.         }
  144.  
  145.         // Checkt of string een getal is, returns boolean
  146.         private static bool IsStringDouble(string getal)
  147.         {
  148.             double number;
  149.             //bool getalletje = Double.TryParse(getal, System.Globalization.NumberStyles.AllowDecimalPoint, out number);
  150.             bool getalletje = Double.TryParse(getal, out number);
  151.             return getalletje;
  152.         }
  153.  
  154.         // Checkt of de gegeven string een double is, returns bool
  155.         private static bool IsStringGetal(string getal)
  156.         {
  157.             int number;
  158.             bool getalletje = Int32.TryParse(getal, out number);
  159.             return getalletje;
  160.         }
  161.  
  162.         private static double BerkenenBMI(double lengte, int gewicht)
  163.         {
  164.             double kilogram = Convert.ToDouble(gewicht);
  165.             double bmi;
  166.  
  167.             bmi = (kilogram / (lengte * lengte));
  168.             bmi = Math.Round(bmi, 2);
  169.  
  170.             return bmi;
  171.         }
  172.  
  173.         private static void BepaalGemiddelde(double[] array) // krijgt een array mee en gaat het gemiddelde berekenen
  174.         {
  175.             double som=0;
  176.             double gemiddeldeBMI;
  177.             int aantalElementen = array.Length;
  178.  
  179.             //categories
  180.             int ondergewicht = 0;
  181.             int normaal = 0;
  182.             int overgewicht = 0;
  183.             int zwaarlijvig = 0;
  184.  
  185.             for (int index = 0; index < aantalElementen; index++)
  186.             {
  187.  
  188.                 if (array[index] < (18.5))
  189.                 {
  190.                     ondergewicht++;
  191.                 }
  192.                     else if ((array[index] >= 18.5) && (array[index] < 25))
  193.                     {
  194.                         normaal++;
  195.                     }
  196.                         else if (((array[index] >= 25) && (array[index] < 30)))
  197.                         {
  198.                             overgewicht++;
  199.                         }
  200.                             else
  201.                             {
  202.                                 zwaarlijvig++;
  203.                             }
  204.  
  205.                 som += array[index]; // telt telkens op bij de som
  206.             }
  207.  
  208.             gemiddeldeBMI = Math.Round((som / Convert.ToDouble(aantalElementen)));
  209.  
  210.             Console.WriteLine($"\nHet gemiddelde BMI van het de 3 personen is: {gemiddeldeBMI}\n");
  211.             PrintHistogramLine("ondergewicht", ondergewicht);
  212.             PrintHistogramLine("normaal\t", normaal);
  213.             PrintHistogramLine("overgewicht", overgewicht);
  214.             PrintHistogramLine("zwaarlijvig", zwaarlijvig);
  215.  
  216.  
  217.             Console.ReadKey();
  218.         }
  219.  
  220.         private static void PrintHistogramLine(string categorie, int aantal)
  221.         {
  222.             Console.Write($"{categorie}\t:\t");
  223.  
  224.             while (aantal > 0)
  225.             {
  226.                 Console.Write("#");
  227.                 aantal--;
  228.             }
  229.             Console.WriteLine();
  230.         }
  231.     }
  232. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement