Har ett problem... Jag vill räkna ihop summan av alla talen efter att man har tryckt 0. Jag får inte detta att fungera. Det som händer är att där summan ska visas, visas bara det sista talet som man har skrivit in. Hur gör jag så variablen tal lägger ihop alla tal som man har skrivit in?
Tack på förhand!
int nummer = 1;
int slut = -1;
int tal;
//Överskrift
Console.WriteLine("Mata in tal som ska summeras\nAvsluta inmatningen genom att skriva 0\n");
//Loop och villkor
while(nummer != slut)
{
//Inmatning av tal
Console.Write("Tal " + nummer + ": ");
tal = int.Parse(Console.ReadLine());
//Varje gång loopen körs plussas nummer på med 1.
nummer = nummer +1;
if (tal == 0)
{
Console.WriteLine("Antal inmatade tal: " + nummer);
Console.WriteLine("Summan av talen: " + tal);
Console.WriteLine(tal/nummer);
break;
}
Console.WriteLine("Mata in tal som ska summeras.\nAvsluta inmatningen genom att skriva 0.\n");
int sum = 0;
for(int i=1; true; i++)
{
try
{
Console.Write("Tal {0}: ", i);
int tal = int.Parse(Console.ReadLine());
if(0 == tal)
{
i--;
Console.WriteLine("\nAntal inmatade tal: {0}", i);
Console.WriteLine("Summan av talen: {0}", sum);
Console.WriteLine("Medelvärde: {0}", (float)sum / i);
break;
}
sum += tal;
}
catch(Exception)
{
Console.WriteLine("Det där var inget tal, gör ett nytt försök.");
i--;
}
}
Console.WriteLine("\nTryck Enter för att avsluta.");
Console.ReadLine();