Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /***********************************GGGGGGGGGGGGGGGGGGGG*****************************************************************************/
- //Obliczanie średniej ważonej - G
- else if (WybórFunkcjonalności.Key == ConsoleKey.G)
- { //Obliczanie średniej ważonej
- //Kolejność wczytywania liczb x1, x2,x3 .... Xn oraz x1,x2,..xn
- int n;
- float Sw = 0.0F; //Przypisanie wawrtości 0.0 zmiennej Wx
- Console.WriteLine("\n\n\tObliczamy średnią ważoną liczb ");
- do // Dla zapewnienia że n został wpisany poprawnie
- { //wczytanie wartości n (ilości liczb do wykonania działania)
- Console.Write("\n\tPodaj ilość wartości n: ");
- while (!int.TryParse(Console.ReadLine(), out n))
- {
- Console.WriteLine("\n\tError: w zapisie liczby n wystąpił niedozwolony znak");
- Console.Write("\n\tPodaj wartość n jeszcze raz ale uważaj co piszesz: ");
- }
- //sprawdzanie warunku wejściowego
- if (n <= 0)
- {
- Console.WriteLine("\n\tERROR : liczba n musi być > 0");
- Console.Write("\n\tPodaj wartość n jeszcze raz, ale uważaj co piszesz: ");
- }
- } while (n <= 0); // gdy warunek : n<0 przyjmuje wartość true, to nastąpi powtórzenie wczytania wartości n
- float wartosc, waga, Licznik, Mianownik;
- do /*dla zapewnienia, że i są >0 */
- {
- Licznik = 0.0F; Mianownik = 0.0F;
- //obliczenie wartośći licznika i mianownika
- for (int i= 1; i <= n; i++)
- {
- do //dla zapewnienia że każde i >=0
- {
- Console.Write("\n\tPodaj wartość {0}-go wyrazu średniej ważonej: ", i);
- while (!float.TryParse(Console.ReadLine(), out wartosc))
- {
- Console.WriteLine("\n\tERROR: w zapisie wartosci {0}-go wyrazu" +
- " średniej ważonej wystąpił niedozwolny/n/n/tznak, i");
- Console.Write("\n\tPodaj tą wartosc jeszcze raz," +
- " ale uważaj co piszesz");
- }
- //wypisanie komunikatu gdy wczytana wartosc < 0.0
- if (wartosc <= 0.0F)
- {
- Console.WriteLine("\n\tERROR: wartosc nie może być liczbą ujemną", i);
- Console.Write("\n\tPodaj wartość {0}-tego wyrazu średniej ważonej jeszcze raz, ale uważaj\n\t"
- + "co piszesz: ");
- }
- } while (wartosc < 0.0F);
- do //dla zapewnienia że każde i >=0
- {
- Console.Write("\n\tPodaj wagę {0}-ą wyrazu średniej ważonej: ", i);
- while (!float.TryParse(Console.ReadLine(), out waga))
- {
- Console.WriteLine("\n\tERROR: w zapisie {0}-ego składnika wagi"
- + "(wagi) wystąpił niedozwolony/n/t/t znak", i);
- Console.Write("\n\tPodaj tą wagę jeszcze raz, ale uważaj"
- + "\n\tco piszesz");
- }
- //Wypisanie komunikatu gdy wczytana waga i <0.0
- if (waga < 0.0F)
- {
- Console.WriteLine("\n\tERROR: waga nie może być liczbą ujemną", i);
- Console.Write("\n\tPodaj wagę {0}-ego wyrazu średniej ważonej jeszcze"
- + "raz, ale uważaj co piszesz", i);
- }
- } while (waga < 0.0F);
- //dodaj do licznik iloczyn: waga * n
- Licznik =Licznik + waga*wartosc *i++ ;
- //mianownik * wartość wczytanej wagi n
- Mianownik = waga *n;
- }//od for
- if (Mianownik == 0.0F)
- {
- Console.WriteLine("\n\tERROR: co najmniej jedna waga musi być" +
- " większa od zera");
- Console.Write("\n\tWprowadź wartości i przepisane im waga jeszcze raz" +
- "ale uważaj co piszesz: ");
- }
- } while (Mianownik == 0.0F);
- //Obliczanie średniej ważonej
- Sw = Licznik / Mianownik;
- //wypisanie wyniku obliczeń: średniej ważonej
- Console.WriteLine("\n\t Licznik: "+ Licznik);
- Console.WriteLine("\n\t Mianownik: "+ Mianownik);
- Console.WriteLine("\n\tŚrednia ważona dla ("+n+") wartości jest równa :"+ Sw);
- /*zapis: 6:F3 oznacza wypisanie liczby typu float na 6 pozycjach
- * w formacie stałoprzecinkowym i z trzema miejscami po przecinku*/
- //wypisanie wyniku z zaokroglęniem do 2 miejsc po przecinku
- Console.WriteLine("\n\tCena jednostki paszy dla {0} składników" +
- "jest równa: {1.6}", n, Math.Round(Sw, 2));
- // pomocnicze zatrzymanie programu
- Console.WriteLine("\n\n\t Dla kontynuacji naciśnij dowolny klawisz. . . ");
- Console.ReadKey();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement