Witam, chciałem sobie poćwiczyć przechodzenie do różnych pętli w zależności od wyboru użytkownika na początku.
Wymyśliłem sobie taki trywialny przykład :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2sdffdsfsd
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Chcesz dodać liczby (1) czy pomozyc (2)");
int n, c, b;
double wynik1 = 0;
double wynik2 = 1;
n = Convert.ToInt16(Console.ReadLine());
if (n == 1)
{
Console.WriteLine("Wybrałeś dodawanie, ile liczb chcesz dodać ?");
b = Convert.ToInt16(Console.ReadLine());
for (int i = 1; i <= b; i++)
{
Console.Write("Podaj liczbe " + i + ": ");
double x = Convert.ToDouble(Console.ReadLine());
double wynik1 = wynik1 + x;
}
}
if (n == 2)
{
Console.WriteLine("Wybrałeś mnozenie, ile liczb chcesz przez siebie pomnozyc ?");
c = Convert.ToInt16(Console.ReadLine());
for (int i = 1; i <= c; i++)
{
Console.Write("Podaj liczbe " + i + ": ");
double x = Convert.ToDouble(Console.ReadLine());
double wynik2 = wynik2 * x;
}
}
Console.ReadKey();
}
}
}
Ale czepia się o to że na początku podałem double wynik1=0 a potem napisałem wynik1 = wynik1 + x
Wcześniej w np takim przykładzie
using System;
class Program
{
static void Main(string[] args)
{
Console.Write("Średnia kwadratowa. Dla ilu liczb? ");
int n;
n = Convert.ToInt16(Console.ReadLine());
double licznik = 0;
double mianownik = n;
for (int i = 1; i <= n; i++)
{
Console.Write("Podaj liczbe " + i + ": ");
double x = Convert.ToDouble(Console.ReadLine());
x = x*x;
licznik = licznik + x;
}
double wynik = Math.Sqrt(licznik / mianownik);
Console.WriteLine("Wynik: " + wynik);
Console.Write("Naciśnij dowolny klawisz, aby zakończyć...");
Console.ReadKey();
}
}
To działało, czemu w 1 przykładzie nie działa ?
Mam jeszcze jeden taki przykład, nie zrobiony przeze mnie :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Co chcesz zrobić?\n");
Console.WriteLine("1.Zamienić stopnie celcjusza na fahrenheita\n");
Console.WriteLine("2.zamienić stopnie fahrenheita na celcujsza\n");
int c = Int32.Parse(Console.ReadLine());
switch (c)
{
case 1:
{
Console.Write("\nPodaj ilość stopni Celcjusza : ");
double i1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("\t[F] = " + (((i1 * 9) / 5) + 32));
break;
}
case 2:
{
Console.Write("\nPodaj ilość stopni Fahrenheita : ");
double i1 = Int32.Parse(Console.ReadLine());
Console.WriteLine(("\t[C]" + (((i1 - 32) * 5) / 9)));
break;
}
} Console.ReadKey();
}
}
}
Lepiej jest robić tak jak w 1 przykładzie czy w 2 ? Jeśli chodzi o przechodzenie do pętli względem wyboru przez użytkownika.