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++)
}
}
Hur är det fel? Får du kompileringsfel, eller går programmet att köra men gör inte som det ska?
det saknas } står det
Då gör det nog det. Vilken rad står det att det är fel på?
3:dej från botten men lägger jag till där så får jag syntax fel istället
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.
Indenterat???
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).
{
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;
}
}
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.
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
Hur får jag ett mellanrum mellan texten och siffrorna??
("Totala ålder på passagerarna är" + sum);
Du räknar ut ett medelvärde. Är det det funktionen ska göra?
Har fått till det