16 svar
99 visningar
daylightkapt är nöjd med hjälpen!
daylightkapt 18
Postad: 15 nov 2020

Hittar inte vad som är fel.

{
			class Program
			{
			public static void Main(string[] args)
			{
			var minbuss = new Buss();
			minbuss.Run();
			
			}
			}
			}

			class Buss
			{
			public int[] passenger = new int[25];
			public int total_passenger;

 

			public void Run()
			{
			int menu = 0;
			do
			{
			Console.WriteLine("-----------------------------------------------------");
			Console.WriteLine("Välkommen till min buss!");
			Console.WriteLine("Välj ett alternativ");
			Console.WriteLine("1. Lägg till en passagerare");
			Console.WriteLine("2. Kontrollera den totala ålder på passagerarna");
			Console.WriteLine("3. Räkna ut totalålder på passagerarna");
			Console.WriteLine("-----------------------------------------------------");
			menu = int.Parse(Console.ReadLine());
			switch (menu)
			{
			case 1:
			add_passenger();
			break;
			
			case 2:
			print_buss();
			break;
			
			case 3:
			calc_total_age();
			break;
			
			
			
			}
			} while (menu != 0);
			}
			
			public void add_passenger()
			{
			Console.WriteLine("Hur många passagerare vill du lägga till?");
			int size = Convert.ToInt32(Console.ReadLine());
			for (int i = 0; i < size; i++)
			{
			Console.WriteLine("Skriv åldern på den passagerare du vill lägga till ");
			int pass = Convert.ToInt32(Console.ReadLine());
			passenger[i] = pass; 
			}
			}
			
			
			public void print_buss()
			{
			Console.WriteLine("Åldern på passagerarna är ");			
			for (int i = 0; i < passenger.Length; i++)
			
			Console.WriteLine(passenger[i] + "gammal");
			}
			
			
			
			public int calc_total_age()
				
			{
			int sum = 0;
			for (int i = 0; i < passenger.Length; i++)
			{
			sum += passenger[i];
			
			
			int minage = 0;
			int maxAge = 0;
			maxAge = passenger[0];
			for (int i = 0; i < passenger.Length; i++)
			
			
			
			}
			}
			
Laguna Online 11626
Postad: 15 nov 2020

Hur är det fel? Får du kompileringsfel, eller går programmet att köra men gör inte som det ska? 

daylightkapt 18
Postad: 15 nov 2020

det saknas } står det

Laguna Online 11626
Postad: 15 nov 2020

Då gör det nog det. Vilken rad står det att det är fel på? 

daylightkapt 18
Postad: 15 nov 2020

3:dej från botten men lägger jag till där så får jag syntax fel istället

Laguna Online 11626
Postad: 16 nov 2020

Kan du posta koden igen, men indenterad så man ser strukturen?

Vad fick du för syntaxfel? Det är ju möjligt att du ändrade på rätt ställe, men att det finns fler fel.

daylightkapt 18
Postad: 16 nov 2020

Indenterat???

Aerius 471
Postad: 16 nov 2020 Redigerad: 16 nov 2020

sista for-loopen saknar både "{" och "}" vad jag kan se. indentera betyder flytta in raden på papperet. Så det blir ett tomrum mellan papperets kant och radens första bokstav, kan även kallas marginal.

Sista for-loopen använder även den lokala variabeln i som redan deklarerats i näst sista for-loopen (error CS0136).

daylightkapt 18
Postad: 17 nov 2020 Redigerad: 17 nov 2020
{
			class Program
			{
			public static void Main(string[] args)
			{
			var minbuss = new Buss();
			minbuss.Run();
			
			}
			}
			}

			class Buss
			{
			public int[] passenger = new int[25];
			public int total_passenger;

 

			public void Run()
			{
			int menu = 0;
			do
			{
			Console.WriteLine("-----------------------------------------------------");
			Console.WriteLine("Välkommen till min buss!");
			Console.WriteLine("Välj ett alternativ!");
			Console.WriteLine("1. Lägg till passagerare mellan 1 och 25st.");
			Console.WriteLine("2. Kontrollera den totala ålder på passagerarna.");
			Console.WriteLine("3. Räkna ut totalålder på passagerarna.");
			Console.WriteLine("0. Avsluta programmet!");
			Console.WriteLine("-----------------------------------------------------");
			menu = int.Parse(Console.ReadLine());
			switch (menu)
			{
			case 1:
			add_passenger();
			break;
			
			case 2:
			print_buss();
			break;
			
			//case 3:
			//calc_total_age();
			//break;
			
			case 0: Console.WriteLine("Programmet avslutas");
			break;
			
			default: Console.WriteLine("Felaktig inmatning Försök igen!");
			break;
			
			
			}
			} while (menu != 0);
			}
			
			public void add_passenger()
			{
			Console.WriteLine("Hur många passagerare vill du lägga till?");
			int size = Convert.ToInt32(Console.ReadLine());
			for (int i = 0; i < size; i++)
			{
			Console.WriteLine("Skriv åldern på den passagerare du vill lägga till ");
			int pass = Convert.ToInt32(Console.ReadLine());
			passenger[i] = pass; 
			}
			}
			
			
			public void print_buss()
			{
			Console.WriteLine("Åldern på passagerarna är ");			
			for (int i = 0; i < passenger.Length; i++)
			
			Console.WriteLine(passenger[i] + "år gammal");
			}
			
			
			
			public int calc_total_age()
				
			{
			int sum = 0;
			for (int i = 0; i < passenger.Length; i++)
			{
			
			sum = passenger[i];
			
			
			
			
			}
			}
			}
			
			

daylightkapt, vad är din fråga? Det finns kvar fel i koden. Kompilatorn hittar dem åt dig.

Använd Infoga programmeringskod (knappen {;} i menyn) och skriv din kod med indentering som Laguna föreslog och som Aerius förklarade. Exempel:

    public void add_passenger()
    {
        Console.WriteLine("Hur många passagerare vill du lägga till?");
        int size = Convert.ToInt32(Console.ReadLine());
        for (int i = 0; i < size; i++)
        {
            Console.WriteLine("Skriv åldern på den passagerare du vill lägga till ");
            int pass = Convert.ToInt32(Console.ReadLine());
            passenger[i] = pass;
        }
    }
daylightkapt 18
Postad: 17 nov 2020 Redigerad: 17 nov 2020

Jag får allt utom "public int calc_total_age()" att fungera

Får felkod "Buss.calc_total_age(): alla kodsökvägar returnerar inte ett värde (CS0161)"

Det hjälper om du skriver vad som inte fungerar. Men det är uppenbart att metoden calc_total_age() inte returnerar något heltal.

Aerius 471
Postad: 17 nov 2020
daylightkapt skrev:

Jag får allt utom "public int calc_total_age()" att fungera

Får felkod "Buss.calc_total_age(): alla kodsökvägar returnerar inte ett värde (CS0161)"

Buss.calc_total_age() saknar return statement

daylightkapt 18
Postad: 17 nov 2020 Redigerad: 17 nov 2020

Hur får jag ett mellanrum mellan texten och siffrorna??

 

("Totala ålder på passagerarna är" + sum);

Laguna Online 11626
Postad: 17 nov 2020

Du räknar ut ett medelvärde. Är det det funktionen ska göra? 

daylightkapt 18
Postad: 17 nov 2020

Har fått till det

Svara Avbryt
Close