1 svar
85 visningar
PotatisTyra 11
Postad: 8 feb 2021 13:26

Utskriften ökar varje gång. Hur ändrar man det?

Uppgiften är att man ska fråga användaren om detaljer till 4 bilar som sparas och skrivs ut i en List.

Problemet med min utskrift är att varje gång som programmet spelas blir utskriften en gång mer. D.v.s första gången blir det en gång, andra gången blir svaret två gånger o.s.v. Hur tar jag bort det? Jag vill fortfarande att man ska fråga frågorna 4 gånger. Behöver jag göra om helt eller bara ändra lite? 

 

using System;
using System.Collections.Generic;

namespace Feb8
{
class Program
{
static void Main(string[] args)
{
var myCars = new List<Car>();

for (int i=0; i<4; i++)
{
var newCar = new Car();
Console.Write("Ange bilens modell: ");
newCar.modell = Console.ReadLine();

Console.Write("Ange bilens färg: ");
newCar.farg = Console.ReadLine();

Console.Write("Ange bilens årsmodell: ");
newCar.arsmodell = Convert.ToInt32(Console.ReadLine());
myCars.Add(newCar);

foreach (var bilar in myCars)
{
Console.WriteLine("bilens modell är " + newCar.modell + " och är " + newCar.farg + " och har årsmodellen " + newCar.arsmodell);
}
}
}
}
class Car
{
public string modell;
public string farg;
public int arsmodell;
}
}

Laguna 28468
Postad: 8 feb 2021 13:49

Koden som skriver ut informationen om bilarna ligger ju inuti loopen som läser in nya bilar.

Flytta ner den till efter loopen.

Indentera gärna korrekt och använd verktyget som heter "Infoga programmeringskod" (och ser ut som {;} i verktygsraden), så man ser strukturen på koden bättre.

Svara Avbryt
Close