Witam mam projekt na studia który ma wyglądać tak jak w załączniku.
Na chwilę obecna mój kod wygląda tak:
Mam problem z średnią arytmetyczna, średniej harmoczninej która nie daje wyniku a geometrycznej , kwadratowa i potęgowa to dla mnie kosmos i potrzebuję pomocy :) z góry dzięki
static float obliczanieSumy()
{
Console.WriteLine("");
Console.WriteLine("Podaj pierwsza licze do obliczania sumy: ");
float a;
while (!float.TryParse(Console.ReadLine(), out a))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
Console.WriteLine("Podaj druga licze do obliczenia sumy: ");
float b;
while (!float.TryParse(Console.ReadLine(), out b))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
return a + b;
Console.WriteLine("");
}
static float obliczanieIloczynu()
{
Console.WriteLine("");
Console.WriteLine("Podaj pierwsza licze do obliczania iloczynu: ");
float a;
while (!float.TryParse(Console.ReadLine(), out a))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
Console.WriteLine("Podaj druga licze do obliczania iloczynu: ");
float b;
while (!float.TryParse(Console.ReadLine(), out b))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
return a * b;
Console.WriteLine("");
}
static float SredniaArtmetyczna()
{
int n;
float a, suma;
suma = 0.0f;
Console.WriteLine("\n\n\tObliczamy iloczyn wyrazów ciągu liczbowego\n");
do
{
Console.WriteLine("\n\tPodaj liczność ciągu liczbowego n: \n\t");
while (!int.TryParse(Console.ReadLine(), out n))
{
Console.WriteLine("\n\t\aERROR: w zapisie liczby n wystąpił" + "niewłaściwy znak");
Console.WriteLine("\n\tPodj wartość n jeszcze raz, ale uważaj " + "co piszesz!: \n");
}
if (n <= 0)
{
Console.WriteLine("n musi być większe od 0");
Console.WriteLine("\n\tPodj wartość n jeszcze raz, ale uważaj " + "co piszesz!: \n");
}
}
while (n <= 0);
Console.Write("\n\tWprowadz wartości do średniej:\n\t");
for (int i = 1; i <= n; i++) // zmieniam 0 na 1
{
Console.Write("\n\tPodaj {0}-ą wartość wyrazu ciągu liczbowego: ", i);
while (!float.TryParse(Console.ReadLine(), out a))
{
Console.WriteLine("\n\tERROR");
Console.WriteLine("\n\tPodj wartość n jeszcze raz, ale uważaj " + "co piszesz!: \n");
}
suma = suma + a;
}
float Ssuma = suma / n;
Console.WriteLine("\n\tIloczyn {0} wyrazów ciągu libowego jest równa: " + "{1,6:F3}", n, Ssuma);
Console.WriteLine("\n\tDla kontynaucji naciśnij dowlny klawisz ...");
return Ssuma;
}
static float ObliczanieJednostkiPaszy()
{
Console.WriteLine("");
Console.WriteLine("Ile kilo żyta: ");
float a, b, kg, kg1;
while (!float.TryParse(Console.ReadLine(), out a))
{
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
}
Console.WriteLine("Podaj cenę za kilo: ");
while (!float.TryParse(Console.ReadLine(), out kg))
{
Console.WriteLine("Ile kilo przenicy: ");
}
while (!float.TryParse(Console.ReadLine(), out b))
{
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
}
Console.WriteLine("Podaj cenę za kilo: ");
while (!float.TryParse(Console.ReadLine(), out kg1))
{
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
}
return (a * kg + b * kg1) / (kg + kg1);
}
static void Main(string[] args)
{
ConsoleKeyInfo wyborFunkcjonalnosci;
do
{
Console.WriteLine("Wybierz działanie ktore chcesz wykonac: ");
Console.WriteLine("A. Obliczanie sumy <in-line>");
Console.WriteLine("B. Obliczanie sumy <method-call>");
Console.WriteLine("C. Obliczanie iloczynu <in-line>");
Console.WriteLine("D. Obliczanie iloczynu <method-call>");
Console.WriteLine("E. Obliczanie średniej arytmetycznej <in-line>");
Console.WriteLine("F. Obliczanie średniej arytmetycznej <method-call>");
Console.WriteLine("G. Obliczanie średniej ważonej <in-line>");
Console.WriteLine("H. Obliczanie średniej ważonej <method-call>");
Console.WriteLine("I. Obliczanie ceny jednostki paszy <in-line>");
Console.WriteLine("J. Obliczanie ceny jednostki paszy <method-call>");
Console.WriteLine("K. Obliczanie średniej harmonicznej <in-line>");
Console.WriteLine("L. Obliczanie średniej harmonicznej <method-call>");
Console.WriteLine("M. Obliczanie średniej geometrycznej <in-line>");
Console.WriteLine("N. Obliczanie średniej geometrycznej <method-call>");
Console.WriteLine("O. Obliczanie średniej kwadratowej <in-line>");
Console.WriteLine("P. Obliczanie średniej kwadratowej <method-call>");
Console.WriteLine("Q. Obliczanie średniej potęgowej (średniej uogólnionej) <in-line> ");
Console.WriteLine("R. Obliczanie średniej potęgowej (średniej uogólnionej) <method-call> ");
Console.WriteLine("");
Console.WriteLine("X. Zakonczenie (wyjscie z) programu");
wyborFunkcjonalnosci = Console.ReadKey();
if (wyborFunkcjonalnosci.Key == ConsoleKey.A)
{
Console.WriteLine("");
Console.WriteLine("Podaj pierwsza liczbe do obliczenia sumy: ");
float a;
while (!float.TryParse(Console.ReadLine(), out a))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
Console.WriteLine("Podaj druga liczbe do obliczenia sumy: ");
float b;
while (!float.TryParse(Console.ReadLine(), out b))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
float c = a + b;
Console.WriteLine("Wynik sumowania to: " + c);
Console.WriteLine("");
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.B)
{
Console.WriteLine("Wynik sumowania to: " + obliczanieSumy());
Console.WriteLine("");
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.C)
{
Console.WriteLine("");
Console.WriteLine("Podaj pierwsza liczbe do obliczenia iloczynu: ");
float a;
while (!float.TryParse(Console.ReadLine(), out a))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
Console.WriteLine("Podaj druga liczbe do obliczenia iloczynu: ");
float b;
while (!float.TryParse(Console.ReadLine(), out b))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
float c = a * b;
Console.WriteLine("Wynik iloczynu to: " + c);
Console.WriteLine("");
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.D)
{
Console.WriteLine("Wynik iloczynu to: " + obliczanieIloczynu());
Console.WriteLine("");
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.E)
{
Console.WriteLine("");
int iloscLiczb = 0;
double suma = 0;
Console.Write("Ile liczb chcesz zawrzeć w średniej: ");
iloscLiczb = Int32.Parse(Console.ReadLine());
for (int i = 0; i < iloscLiczb; i++)
{
Console.Write("Podaj liczbę: ");
suma += double.Parse(Console.ReadLine());
}
Console.WriteLine("Średnia arytmetyczna z podanych liczb wynosi: " + suma / iloscLiczb);
Console.ReadKey();
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.F)
{
Console.WriteLine("Średnia arytmetyczna to: " + SredniaArtmetyczna());
Console.WriteLine("");
}
//else if (wyborFunkcjonalnosci.Key == ConsoleKey.G)
//{
//}
//else if (wyborFunkcjonalnosci.Key == ConsoleKey.H)
//{
//}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.I)
{
Console.WriteLine("");
Console.WriteLine("Ile kilo żyta");
float a;
while (!float.TryParse(Console.ReadLine(), out a))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
Console.WriteLine("Ile kilo przenicy: ");
float b;
while (!float.TryParse(Console.ReadLine(), out b))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
Console.WriteLine("Podaj Podaj cenę za kilo: ");
float kg;
while (!float.TryParse(Console.ReadLine(), out kg))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
Console.WriteLine("Podaj cenę za kilo: ");
float kg1;
while (!float.TryParse(Console.ReadLine(), out kg1))
Console.WriteLine("To nie jest liczba, podaj wartosc jeszcze raz.");
float cena = (a * kg + b * kg1) / (kg + kg1);
Console.WriteLine("Wynik średniej ważonej to: " + cena);
Console.WriteLine("");
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.J)
{
Console.WriteLine("Średnia arytmetyczna to: " + ObliczanieJednostkiPaszy());
Console.WriteLine("");
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.K)
{
Console.WriteLine("Program do obliczania średniej harmocznicznej n liczb\n");
int n;
bool sukces;
double mianownik, sr;
do
{
Console.WriteLine("\nPodaj ile liczb chcesz użyć do średniej harmoczninej: ");
sukces = int.TryParse(Console.ReadLine(), out n);
if (!sukces)
Console.WriteLine("nieprawidłowy format liczby!");
else if (n <= 0)
Console.WriteLine("Ilość liczb musi być dodatnia!");
} while (!sukces || n <= 0);
for (int i = 1; i <= n; i++)
{
Console.WriteLine("Podaj a{0}:", i);
int a = int.Parse(Console.ReadLine());
mianownik = 1 / i;
sr = n / mianownik;
Console.WriteLine("Średnia :" + sr);
Console.WriteLine("");
}
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.L)
{
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.M)
{
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.N)
{
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.O)
{
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.P)
{
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.Q)
{
}
else if (wyborFunkcjonalnosci.Key == ConsoleKey.R)
{
}
} while (wyborFunkcjonalnosci.Key != ConsoleKey.X);
Console.WriteLine("");
Console.WriteLine("Zakonczyles dzialalnosc programu.");
}
}
}