Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.23 KB | None | 0 0
  1. /***********************************GGGGGGGGGGGGGGGGGGGG*****************************************************************************/
  2. //Obliczanie średniej ważonej - G
  3.  
  4. else if (WybórFunkcjonalności.Key == ConsoleKey.G)
  5. { //Obliczanie średniej ważonej
  6. //Kolejność wczytywania liczb x1, x2,x3 .... Xn oraz x1,x2,..xn
  7. int n;
  8. float Sw = 0.0F; //Przypisanie wawrtości 0.0 zmiennej Wx
  9. Console.WriteLine("\n\n\tObliczamy średnią ważoną liczb ");
  10. do // Dla zapewnienia że n został wpisany poprawnie
  11. { //wczytanie wartości n (ilości liczb do wykonania działania)
  12. Console.Write("\n\tPodaj ilość wartości n: ");
  13. while (!int.TryParse(Console.ReadLine(), out n))
  14. {
  15. Console.WriteLine("\n\tError: w zapisie liczby n wystąpił niedozwolony znak");
  16. Console.Write("\n\tPodaj wartość n jeszcze raz ale uważaj co piszesz: ");
  17. }
  18. //sprawdzanie warunku wejściowego
  19. if (n <= 0)
  20. {
  21. Console.WriteLine("\n\tERROR : liczba n musi być > 0");
  22. Console.Write("\n\tPodaj wartość n jeszcze raz, ale uważaj co piszesz: ");
  23. }
  24. } while (n <= 0); // gdy warunek : n<0 przyjmuje wartość true, to nastąpi powtórzenie wczytania wartości n
  25.  
  26. float wartosc, waga, Licznik, Mianownik;
  27. do /*dla zapewnienia, że i są >0 */
  28. {
  29. Licznik = 0.0F; Mianownik = 0.0F;
  30. //obliczenie wartośći licznika i mianownika
  31. for (int i= 1; i <= n; i++)
  32. {
  33. do //dla zapewnienia że każde i >=0
  34. {
  35. Console.Write("\n\tPodaj wartość {0}-go wyrazu średniej ważonej: ", i);
  36. while (!float.TryParse(Console.ReadLine(), out wartosc))
  37. {
  38. Console.WriteLine("\n\tERROR: w zapisie wartosci {0}-go wyrazu" +
  39. " średniej ważonej wystąpił niedozwolny/n/n/tznak, i");
  40. Console.Write("\n\tPodaj tą wartosc jeszcze raz," +
  41. " ale uważaj co piszesz");
  42. }
  43. //wypisanie komunikatu gdy wczytana wartosc < 0.0
  44. if (wartosc <= 0.0F)
  45. {
  46. Console.WriteLine("\n\tERROR: wartosc nie może być liczbą ujemną", i);
  47. Console.Write("\n\tPodaj wartość {0}-tego wyrazu średniej ważonej jeszcze raz, ale uważaj\n\t"
  48. + "co piszesz: ");
  49. }
  50. } while (wartosc < 0.0F);
  51. do //dla zapewnienia że każde i >=0
  52. {
  53. Console.Write("\n\tPodaj wagę {0}-ą wyrazu średniej ważonej: ", i);
  54. while (!float.TryParse(Console.ReadLine(), out waga))
  55. {
  56. Console.WriteLine("\n\tERROR: w zapisie {0}-ego składnika wagi"
  57. + "(wagi) wystąpił niedozwolony/n/t/t znak", i);
  58. Console.Write("\n\tPodaj tą wagę jeszcze raz, ale uważaj"
  59. + "\n\tco piszesz");
  60. }
  61. //Wypisanie komunikatu gdy wczytana waga i <0.0
  62. if (waga < 0.0F)
  63. {
  64. Console.WriteLine("\n\tERROR: waga nie może być liczbą ujemną", i);
  65. Console.Write("\n\tPodaj wagę {0}-ego wyrazu średniej ważonej jeszcze"
  66. + "raz, ale uważaj co piszesz", i);
  67. }
  68. } while (waga < 0.0F);
  69.  
  70. //dodaj do licznik iloczyn: waga * n
  71.  
  72. Licznik =Licznik + waga*wartosc *i++ ;
  73. //mianownik * wartość wczytanej wagi n
  74. Mianownik = waga *n;
  75. }//od for
  76. if (Mianownik == 0.0F)
  77. {
  78. Console.WriteLine("\n\tERROR: co najmniej jedna waga musi być" +
  79. " większa od zera");
  80. Console.Write("\n\tWprowadź wartości i przepisane im waga jeszcze raz" +
  81. "ale uważaj co piszesz: ");
  82. }
  83. } while (Mianownik == 0.0F);
  84. //Obliczanie średniej ważonej
  85. Sw = Licznik / Mianownik;
  86. //wypisanie wyniku obliczeń: średniej ważonej
  87.  
  88. Console.WriteLine("\n\t Licznik: "+ Licznik);
  89. Console.WriteLine("\n\t Mianownik: "+ Mianownik);
  90. Console.WriteLine("\n\tŚrednia ważona dla ("+n+") wartości jest równa :"+ Sw);
  91. /*zapis: 6:F3 oznacza wypisanie liczby typu float na 6 pozycjach
  92. * w formacie stałoprzecinkowym i z trzema miejscami po przecinku*/
  93. //wypisanie wyniku z zaokroglęniem do 2 miejsc po przecinku
  94. Console.WriteLine("\n\tCena jednostki paszy dla {0} składników" +
  95. "jest równa: {1.6}", n, Math.Round(Sw, 2));
  96.  
  97. // pomocnicze zatrzymanie programu
  98. Console.WriteLine("\n\n\t Dla kontynuacji naciśnij dowolny klawisz. . . ");
  99. Console.ReadKey();
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement