Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace _2016_PP_gr5
- {
- class Program
- {
- static void Main(string[] args)
- {
- int ileAut, ileSrednich, ileTańszych, ileDroższych;
- double suma, sred, cenaMax, cenaMin, sumaSrednich;
- double[] tabCen;
- string[] tabMarek;
- Console.WriteLine("SuperSoft Company 2016");
- Console.WriteLine("KOMIS SAMOCHODOWY ver. 1.0");
- Console.WriteLine();
- sumaSrednich = suma = 0;
- ileTańszych = ileDroższych = ileSrednich = 0;
- //WCZYTYWANIE DANYCH - WYBIERZ SAM
- CzytajTestowe(out ileAut, out tabCen, out tabMarek);
- //CzytajZKonsoli(out ileAut, out tabCen, out tabMarek);
- //Srednia poprzez Zmienna
- sred = LiczSrednia(tabCen);
- //Srednia poprzez Parametr
- LiczSredniaPP(tabCen, out sred);
- //Zmienna/Parametr
- //Tylko Max&&Min
- LiczMax(out cenaMax, tabCen);
- LiczMin(out cenaMin, tabCen);
- Console.WriteLine("Min cena: {0:F2}", cenaMin);
- Console.WriteLine("Max cena: {0:F2}", cenaMax);
- Console.WriteLine("średnia cena: {0:F2}", sred);
- Console.WriteLine("rozstęp cen= {0}", cenaMax - cenaMin);
- //formaty do zestawień
- string format = "{0,3}| {1,-10} |{2,12:C1}|";
- string nagl = string.Format(format, "Lp.", "Auto", "cena");
- string kreska = new string('-', nagl.Length);
- //koniec formatów
- Console.WriteLine("\nWprowadzone dane");
- Console.WriteLine(nagl);
- Console.WriteLine(kreska);
- for (int i = 0; i < ileAut; i++)
- Console.WriteLine(format, i + 1, tabMarek[i], tabCen[i]);
- Console.WriteLine(kreska);
- Console.WriteLine("\nAuta z cenami poniżej średniej:");
- Console.WriteLine(nagl);
- Console.WriteLine(kreska);
- for (int i = 0; i < ileAut; i++)
- {
- if (tabCen[i] < sred)
- {
- ileTańszych++;
- Console.WriteLine(format, i + 1, tabMarek[i], tabCen[i]);
- }
- }
- Console.WriteLine(kreska);
- Console.WriteLine("jest takich: {0}", ileTańszych);
- Console.WriteLine("\nAuta z cenami powyżej średniej:");
- Console.WriteLine(nagl);
- Console.WriteLine(kreska);
- for (int i = 0; i < ileAut; i++)
- {
- if (tabCen[i] > sred)
- {
- ileDroższych++;
- Console.WriteLine(format, i + 1, tabMarek[i], tabCen[i]);
- }
- }
- Console.WriteLine(kreska);
- Console.WriteLine("jest takich: {0}", ileDroższych);
- // WYSWIETLA AUTA Z CENA MAKSYMALNA
- PokazMaxCena("Auta z cenami Max: ", cenaMax, tabCen, tabMarek, format, nagl, kreska);
- // WYSWIETLA AUTA Z CENA MINIMALNA
- PokazMaxCena("Auta z cenami Min: ", cenaMin, tabCen, tabMarek, format, nagl, kreska);
- Console.WriteLine("\nAuta z cenami nieprzekraczającymi limit:");
- double limit;
- int ileDoLimitu = 0;
- Console.Write("limt= ");
- while (double.TryParse(Console.ReadLine(), out limit) == false)
- Console.Write("wartość nieprawidłowa! - podaj powtórnie: ");
- Console.WriteLine();
- Console.WriteLine(nagl);
- Console.WriteLine(kreska);
- for (int i = 0; i < ileAut; i++)
- {
- if (tabCen[i] <= limit)
- {
- ileDoLimitu++;
- Console.WriteLine(format, ileDoLimitu, tabMarek[i], tabCen[i]);
- }
- }
- Console.WriteLine(kreska);
- Console.WriteLine("jest takich: {0}", ileDoLimitu);
- //Uzytkownik podaje (Z klawiatury) szukana marke
- //Uzyc Szukaj tekst i sprawdzic czy szukana marka istnieje w komisie -> Wyswietlic komunikat
- Console.WriteLine("\nSzukana nazwa marki auta");
- string marka = Console.ReadLine();
- bool czyZnalezionoOdpowiedz;
- //SzukajTekstu(tabMarek, marka, out czyZnalezionoOdpowiedz);
- //if (czyZnalezionoOdpowiedz == true)
- //{
- // Console.WriteLine("\nAuto jest w komisie ({0})", marka);
- // Console.WriteLine(nagl);
- // Console.WriteLine(kreska);
- // for (int i = 0; i < tabCen.Length; i++)
- // {
- // if (tabMarek[i] == marka)
- // {
- // Console.WriteLine(format, i + 1, "*", tabCen[i]);
- // }
- // }
- // Console.WriteLine(kreska);
- //}
- //else
- // Console.WriteLine("\nAuta nie ma w komisie ({0})", marka);
- SzukajTekstuPN(tabMarek, marka);
- if (SzukajTekstuPN(tabMarek, marka) == true)
- {
- Console.WriteLine("\nAuto jest w komisie ({0})", marka);
- Console.WriteLine(nagl);
- Console.WriteLine(kreska);
- for (int i = 0; i < tabCen.Length; i++)
- {
- if (tabMarek[i] == marka)
- {
- Console.WriteLine(format, i + 1, "*", tabCen[i]);
- }
- }
- Console.WriteLine(kreska);
- }
- else
- Console.WriteLine("\nAuta nie ma w komisie ({0})", marka);
- Console.ReadKey();
- }
- //Funkcja: We: Tablica tekstowa, szukany tekst (Parametry!!)
- //Wy: Czy szukany tekst pojawił się w tablicy tekstowej (Parametr!!)
- static void SzukajTekstu(string [] tabDanych, string szukanyTekst, out bool czyZnaleziono)
- {
- czyZnaleziono = false;
- foreach (var element in tabDanych)
- {
- if (element == szukanyTekst)
- {
- czyZnaleziono =true;
- }
- }
- if (czyZnaleziono == true)
- {
- czyZnaleziono = true;
- return;
- }
- }
- //Funkcja przez nazwe
- static bool SzukajTekstuPN(string[] tabDanych, string szukanyTekst)
- {
- foreach (var element in tabDanych)
- {
- if (element == szukanyTekst)
- {
- return true;
- }
- }
- return false;
- }
- private static void PokazMaxCena(string kom, double DoPorownania, double[] tabCen, string[] tabMarek, string format, string nagl, string kreska)
- {
- Console.WriteLine("\n" + kom);
- Console.WriteLine(nagl);
- Console.WriteLine(kreska);
- for (int i = 0; i < tabCen.Length; i++)
- {
- if (tabCen[i] == DoPorownania)
- {
- Console.WriteLine(format, i + 1, tabMarek[i], tabCen[i]);
- }
- }
- Console.WriteLine(kreska);
- }
- private static void LiczMax(out double cenaMax, double[] tabCen)
- {
- cenaMax = tabCen[0];
- foreach (double x in tabCen)
- {
- if (cenaMax < x) cenaMax = x;
- }
- }
- private static void LiczMin(out double cenaMin, double[] tabCen)
- {
- cenaMin = tabCen[0];
- foreach (double x in tabCen)
- {
- if (cenaMin > x) cenaMin = x;
- }
- }
- //Srednia Przez Parametr - Pozwala nam zwrócic w parametrze kilka zmiennych
- private static void LiczSredniaPP(double[] tabCen, out double sredniaLiczb)
- {
- double suma = 0;
- //Tylko Srednia
- foreach (double x in tabCen)
- {
- suma = suma + x; //krócej: suma += x;
- }
- sredniaLiczb = suma / tabCen.Length;
- }
- //Srednia Przez Zmienna - Pozawala nam zwrócić tylko jedną zmienną poprzez return
- private static double LiczSrednia(double[] tabCen)
- {
- double sred, suma = 0;
- //Tylko Srednia
- foreach (double x in tabCen)
- {
- suma = suma + x; //krócej: suma += x;
- }
- sred = suma / tabCen.Length;
- return sred;
- }
- private static void CzytajZKonsoli(out int ileAut, out double[] tabCen, out string[] tabMarek)
- {
- //***DANE z konsoli
- Console.Write("ile aut: ");
- while (int.TryParse(Console.ReadLine(), out ileAut) == false || ileAut < 1)
- Console.Write("wartość nieprawidłowa! - podaj powtórnie: ");
- tabCen = new double[ileAut];
- tabMarek = new string[ileAut];
- Console.WriteLine("podaj kolejno markę oraz cenę:");
- for (int i = 1; i <= ileAut; i++)
- {
- Console.Write("{0}: marka= ", i);
- tabMarek[i - 1] = Console.ReadLine();
- Console.Write("{0}: cena= ", i);
- double x;
- while (double.TryParse(Console.ReadLine(), out x) == false || x < 0)
- Console.Write("wartość nieprawidłowa! - podaj powtórnie: ");
- tabCen[i - 1] = x;
- }
- //***KONIEC danych z konsoli
- }
- private static void CzytajTestowe(out int ileAut, out double[] tabCen, out string[] tabMarek)
- {
- //**DANE TESTOWE
- tabMarek = new string[] { "Fiat", "Ford", "Audi", "Ford", "Kia", "BMW", "Audi", "Tata", "Saab", "Volvo" };
- tabCen = new double[] { 25500, 3500, 35000, 4000, 3400, 2300, 4500, 2800, 5500, 23500 };
- if (tabMarek.Length != tabCen.Length)
- {
- Console.WriteLine("Spaprałeś dane testowe!!!");
- Console.ReadKey();
- //return;
- }
- ileAut = tabCen.Length;
- //**TESTY - koniec
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement