2 svar
123 visningar
Adam1989 2
Postad: 17 apr 15:23 Redigerad: 17 apr 16:47

felhantering

Den här koden tillåter användaren att skriva in ett antal siffror, som läggs till i en lista. Programmet räknar sedan ut ett medelvärde baserat på siffrorna användaren har skrivit in, presenterar resultatet, och avslutas.

Det finns 5 allvarliga fel med den här koden, som gör att programmet inte ens kan starta. 


det är en bild som innehåller fem fel.

Jag gjorde några ändringar, men jag upptäckte inte de återstående felen.

Jag behöver hjälp med att hitta fel

 

static void Main(string[] args)
{
int resultat, summa, sum;

Console.WriteLine("Hur många vill du hantera?");

Int32.TryParse(Console.ReadLine(), out resultat);

List<int> intLista = new List<int>();

for (int loop = 0; loop < resultat; loop++)

{

Console.WriteLine("Var god skriv in en siffra:");

Int32.TryParse(Console.ReadLine(), out sum);

intLista.Add(sum);

}

if (intLista.Count == 0)

{

Console.WriteLine("Ingenting har lagts till!");

Console.ReadLine();

}

else

{

summa = Medelvärde(intLista);

Console.WriteLine("Medelvärdet är: " + summa);

Console.ReadLine();

}

Dracaena 4947 – Moderator
Postad: 17 apr 16:18 Redigerad: 17 apr 16:26

Hur vet du att det är specifikt 5 fel?

Kan du berätta vad koden gör rad för rad? 

Du verkar också använda ha följande funktion som inte visas i koden:

public static int Medelvärde (....)
{


}
Fenixen56 6
Postad: 18 apr 01:58 Redigerad: 18 apr 02:19
Dracaena skrev:

Hur vet du att det är specifikt 5 fel?

Kan du berätta vad koden gör rad för rad? 

Du verkar också använda ha följande funktion som inte visas i koden:

public static int Medelvärde (....)
{


}

@Dracaena

Jag tror han får sina 5 fel då han förmodligen använder sig av Visual Studio. Har kopierat hans kod och har själv fått 5 syntax-fel i programmet.

@Adam1989

Det första felet som du gjorde är att du glömde stänga din main med en } vid slutet. Det eliminerar felen, då om det ej stängs så kommer programmet ej kunna heller kompilera då ordet "List" blir odefinierad, och programmet förstår ej vad den innebär. De resterande 2 felen, på rad 4 och rad 40 är orelaterade till de första problemen. Den första på rad 4 indikerar att du använder förmodligen en äldre version av C#, då det krävs att du uppdaterar det till version 9 eller senare. Du försöker använda dig av en funktion som implementerades i C# version 9, dvs Top-Level statements. För mer information hittar du detta på Microsoft's sida angående C# version 9 och top-level statements: https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/program-structure/top-level-statements

Jag kunde fixa problemet genom att inkludera

class Program

i början av koden. Se till att din C# och VS är uppdaterad till minst version 9 och prova igen. Om problemet kvarstår, se svar ovan.

 

Alla problem har blivit lösta förutom den sista - då programmet ej känner igen "Medelvärde". Vad hade du tänkt dig att medelvärde ska föreställa? Jag skulle anta att den var menad att vara en slags method för att kalkylera medelvärdet av "intLista", men vill kolla med dig först.

Svara Avbryt
Close