Advertisement
HanysMSI

Zajecia 17.01 Nagly, Godzina 17:45 KONIEC PROGRAMU

Jan 17th, 2017
350
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 10.36 KB | None | 0 0
  1. using System;
  2.  
  3. namespace _2016_PP_gr5
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             int ileAut, ileSrednich, ileTańszych, ileDroższych;
  10.             double suma, sred, cenaMax, cenaMin, sumaSrednich;
  11.             double[] tabCen;
  12.             string[] tabMarek;
  13.             Console.WriteLine("SuperSoft Company 2016");
  14.             Console.WriteLine("KOMIS SAMOCHODOWY  ver. 1.0");
  15.             Console.WriteLine();
  16.             sumaSrednich = suma = 0;
  17.             ileTańszych = ileDroższych = ileSrednich = 0;
  18.  
  19.             //WCZYTYWANIE DANYCH - WYBIERZ SAM
  20.             CzytajTestowe(out ileAut, out tabCen, out tabMarek);
  21.             //CzytajZKonsoli(out ileAut, out tabCen, out tabMarek);
  22.  
  23.             //Srednia poprzez Zmienna
  24.             sred = LiczSrednia(tabCen);
  25.             //Srednia poprzez Parametr
  26.             LiczSredniaPP(tabCen, out sred);
  27.             //Zmienna/Parametr
  28.             //Tylko Max&&Min
  29.             LiczMax(out cenaMax, tabCen);
  30.             LiczMin(out cenaMin, tabCen);
  31.  
  32.             Console.WriteLine("Min cena: {0:F2}", cenaMin);
  33.             Console.WriteLine("Max cena: {0:F2}", cenaMax);
  34.  
  35.             Console.WriteLine("średnia cena: {0:F2}", sred);
  36.             Console.WriteLine("rozstęp cen= {0}", cenaMax - cenaMin);
  37.             //formaty do zestawień
  38.             string format = "{0,3}| {1,-10} |{2,12:C1}|";
  39.             string nagl = string.Format(format, "Lp.", "Auto", "cena");
  40.             string kreska = new string('-', nagl.Length);
  41.             //koniec formatów
  42.             Console.WriteLine("\nWprowadzone dane");
  43.             Console.WriteLine(nagl);
  44.             Console.WriteLine(kreska);
  45.             for (int i = 0; i < ileAut; i++)
  46.                 Console.WriteLine(format, i + 1, tabMarek[i], tabCen[i]);
  47.             Console.WriteLine(kreska);
  48.  
  49.             Console.WriteLine("\nAuta z cenami poniżej średniej:");
  50.             Console.WriteLine(nagl);
  51.             Console.WriteLine(kreska);
  52.             for (int i = 0; i < ileAut; i++)
  53.             {
  54.                 if (tabCen[i] < sred)
  55.                 {
  56.                     ileTańszych++;
  57.                     Console.WriteLine(format, i + 1, tabMarek[i], tabCen[i]);
  58.                 }
  59.             }
  60.             Console.WriteLine(kreska);
  61.             Console.WriteLine("jest takich: {0}", ileTańszych);
  62.             Console.WriteLine("\nAuta z cenami powyżej średniej:");
  63.             Console.WriteLine(nagl);
  64.             Console.WriteLine(kreska);
  65.  
  66.  
  67.             for (int i = 0; i < ileAut; i++)
  68.             {
  69.                 if (tabCen[i] > sred)
  70.                 {
  71.                     ileDroższych++;
  72.                     Console.WriteLine(format, i + 1, tabMarek[i], tabCen[i]);
  73.                 }
  74.             }
  75.             Console.WriteLine(kreska);
  76.             Console.WriteLine("jest takich: {0}", ileDroższych);
  77.  
  78.  
  79.             // WYSWIETLA AUTA Z CENA MAKSYMALNA
  80.             PokazMaxCena("Auta z cenami Max: ", cenaMax, tabCen, tabMarek, format, nagl, kreska);
  81.             // WYSWIETLA AUTA Z CENA MINIMALNA
  82.             PokazMaxCena("Auta z cenami Min: ", cenaMin, tabCen, tabMarek, format, nagl, kreska);
  83.  
  84.  
  85.             Console.WriteLine("\nAuta z cenami nieprzekraczającymi limit:");
  86.             double limit;
  87.             int ileDoLimitu = 0;
  88.             Console.Write("limt= ");
  89.             while (double.TryParse(Console.ReadLine(), out limit) == false)
  90.                 Console.Write("wartość nieprawidłowa! - podaj powtórnie: ");
  91.             Console.WriteLine();
  92.             Console.WriteLine(nagl);
  93.             Console.WriteLine(kreska);
  94.            
  95.  
  96.  
  97.  
  98.             for (int i = 0; i < ileAut; i++)
  99.             {
  100.                 if (tabCen[i] <= limit)
  101.                 {
  102.                     ileDoLimitu++;
  103.                     Console.WriteLine(format, ileDoLimitu, tabMarek[i], tabCen[i]);
  104.                 }
  105.             }
  106.             Console.WriteLine(kreska);
  107.             Console.WriteLine("jest takich: {0}", ileDoLimitu);
  108.  
  109.             //Uzytkownik podaje (Z klawiatury) szukana marke
  110.             //Uzyc Szukaj tekst i sprawdzic czy szukana marka istnieje w komisie -> Wyswietlic komunikat
  111.  
  112.             Console.WriteLine("\nSzukana nazwa marki auta");
  113.  
  114.             string marka = Console.ReadLine();
  115.             bool czyZnalezionoOdpowiedz;
  116.  
  117.             //SzukajTekstu(tabMarek, marka, out czyZnalezionoOdpowiedz);
  118.  
  119.             //if (czyZnalezionoOdpowiedz == true)
  120.             //{
  121.             //    Console.WriteLine("\nAuto jest w komisie ({0})", marka);
  122.             //    Console.WriteLine(nagl);
  123.             //    Console.WriteLine(kreska);
  124.             //    for (int i = 0; i < tabCen.Length; i++)
  125.             //    {
  126.             //        if (tabMarek[i] == marka)
  127.             //        {
  128.             //            Console.WriteLine(format, i + 1, "*", tabCen[i]);
  129.             //        }
  130.             //    }
  131.             //    Console.WriteLine(kreska);
  132.             //}
  133.             //else
  134.             //    Console.WriteLine("\nAuta nie ma w komisie ({0})", marka);
  135.  
  136.             SzukajTekstuPN(tabMarek, marka);
  137.  
  138.             if (SzukajTekstuPN(tabMarek, marka) == true)
  139.             {
  140.                 Console.WriteLine("\nAuto jest w komisie ({0})", marka);
  141.                 Console.WriteLine(nagl);
  142.                 Console.WriteLine(kreska);
  143.                 for (int i = 0; i < tabCen.Length; i++)
  144.                 {
  145.                     if (tabMarek[i] == marka)
  146.                     {
  147.                         Console.WriteLine(format, i + 1, "*", tabCen[i]);
  148.                     }
  149.                 }
  150.                 Console.WriteLine(kreska);
  151.             }
  152.             else
  153.                 Console.WriteLine("\nAuta nie ma w komisie ({0})", marka);
  154.  
  155.             Console.ReadKey();
  156.  
  157.         }
  158.         //Funkcja: We: Tablica tekstowa, szukany tekst (Parametry!!)
  159.         //Wy: Czy szukany tekst pojawił się w tablicy tekstowej (Parametr!!)
  160.    
  161.         static void SzukajTekstu(string [] tabDanych, string szukanyTekst, out bool czyZnaleziono)
  162.         {
  163.             czyZnaleziono = false;
  164.             foreach (var element in tabDanych)
  165.             {
  166.                 if (element == szukanyTekst)
  167.                 {
  168.                     czyZnaleziono =true;
  169.                 }
  170.             }
  171.             if (czyZnaleziono == true)
  172.             {
  173.                 czyZnaleziono = true;
  174.                 return;
  175.             }
  176.         }
  177.  
  178.         //Funkcja przez nazwe
  179.  
  180.         static bool SzukajTekstuPN(string[] tabDanych, string szukanyTekst)
  181.         {
  182.             foreach (var element in tabDanych)
  183.             {
  184.                 if (element == szukanyTekst)
  185.                 {
  186.                     return true;
  187.                 }
  188.             }
  189.             return false;
  190.         }
  191.  
  192.  
  193.  
  194.         private static void PokazMaxCena(string kom, double DoPorownania, double[] tabCen, string[] tabMarek, string format, string nagl, string kreska)
  195.         {
  196.             Console.WriteLine("\n" + kom);
  197.             Console.WriteLine(nagl);
  198.             Console.WriteLine(kreska);
  199.             for (int i = 0; i < tabCen.Length; i++)
  200.             {
  201.                 if (tabCen[i] == DoPorownania)
  202.                 {
  203.                     Console.WriteLine(format, i + 1, tabMarek[i], tabCen[i]);
  204.                 }
  205.             }
  206.             Console.WriteLine(kreska);
  207.         }
  208.  
  209.         private static void LiczMax(out double cenaMax, double[] tabCen)
  210.         {
  211.             cenaMax = tabCen[0];
  212.             foreach (double x in tabCen)
  213.             {
  214.                 if (cenaMax < x) cenaMax = x;
  215.             }
  216.         }
  217.  
  218.         private static void LiczMin(out double cenaMin, double[] tabCen)
  219.         {
  220.             cenaMin = tabCen[0];
  221.             foreach (double x in tabCen)
  222.             {
  223.                 if (cenaMin > x) cenaMin = x;
  224.             }
  225.         }
  226.  
  227.         //Srednia Przez Parametr - Pozwala nam zwrócic w parametrze kilka zmiennych
  228.         private static void LiczSredniaPP(double[] tabCen, out double sredniaLiczb)
  229.         {
  230.             double suma = 0;
  231.             //Tylko Srednia
  232.             foreach (double x in tabCen)
  233.             {
  234.                 suma = suma + x;    //krócej:  suma += x;
  235.  
  236.             }
  237.             sredniaLiczb = suma / tabCen.Length;
  238.         }
  239.         //Srednia Przez Zmienna - Pozawala nam zwrócić tylko jedną zmienną poprzez return
  240.         private static double LiczSrednia(double[] tabCen)
  241.         {
  242.             double sred, suma = 0;
  243.             //Tylko Srednia
  244.             foreach (double x in tabCen)
  245.             {
  246.                 suma = suma + x;    //krócej:  suma += x;
  247.  
  248.             }
  249.             sred = suma / tabCen.Length;
  250.             return sred;
  251.         }
  252.  
  253.         private static void CzytajZKonsoli(out int ileAut, out double[] tabCen, out string[] tabMarek)
  254.         {
  255.             //***DANE z konsoli
  256.             Console.Write("ile aut: ");
  257.             while (int.TryParse(Console.ReadLine(), out ileAut) == false || ileAut < 1)
  258.                 Console.Write("wartość nieprawidłowa! - podaj powtórnie: ");
  259.             tabCen = new double[ileAut];
  260.             tabMarek = new string[ileAut];
  261.  
  262.             Console.WriteLine("podaj kolejno markę oraz cenę:");
  263.             for (int i = 1; i <= ileAut; i++)
  264.             {
  265.                 Console.Write("{0}: marka= ", i);
  266.                 tabMarek[i - 1] = Console.ReadLine();
  267.                 Console.Write("{0}: cena= ", i);
  268.                 double x;
  269.                 while (double.TryParse(Console.ReadLine(), out x) == false || x < 0)
  270.                     Console.Write("wartość nieprawidłowa! - podaj powtórnie: ");
  271.                 tabCen[i - 1] = x;
  272.             }
  273.             //***KONIEC danych z konsoli
  274.         }
  275.  
  276.         private static void CzytajTestowe(out int ileAut, out double[] tabCen, out string[] tabMarek)
  277.         {
  278.             //**DANE TESTOWE
  279.             tabMarek = new string[] { "Fiat", "Ford", "Audi", "Ford", "Kia", "BMW", "Audi", "Tata", "Saab", "Volvo" };
  280.             tabCen = new double[] { 25500, 3500, 35000, 4000, 3400, 2300, 4500, 2800, 5500, 23500 };
  281.             if (tabMarek.Length != tabCen.Length)
  282.             {
  283.                 Console.WriteLine("Spaprałeś dane testowe!!!");
  284.                 Console.ReadKey();
  285.                 //return;
  286.             }
  287.             ileAut = tabCen.Length;
  288.             //**TESTY - koniec
  289.         }
  290.     }
  291. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement