Permalänk
Medlem

C# Problem addera i en loop

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; }

Permalänk
Medlem

... int tal = 0; ... tal = tal + int.Parse(Console.Readline());

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av sodoyo

... int tal = 0; ... tal = tal + int.Parse(Console.Readline());

Hmm lyckades lösa det på egen hand genom att skapa en till variabel och sen skriva summa = summa + tal;

Tack endå

Permalänk
Medlem

Lägg in lite felhantering också

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();

Visa signatur