c# bussen
Hej,
Jag är nybörjare på programmering och har lite problem med min kod nedan.
När jag ska räkna ut totala åldern t.ex. så kommer bara sista talet med, om man väljer alternativ 1 och matar in ålder 20 t.ex. och sen väljer man alternativ 1 igen och skriver in 35 så kommer bara 35 med när man väljer alternativ 3.
Hoppas det går att förstå vad jag menar.
class buss
{
public int[] passagerare = new int[25]; // Antal platser i vektorn
public int antal_passagerare; // maxantal
public void Run () // meny
{
int val = 0;
do
{
Console.WriteLine("Välkommen till bussen. Gör ett val");
Console.WriteLine("1. Lägg till passagerare");
Console.WriteLine("2. Skriv ut åldern på passagerarna");
Console.WriteLine("3. Räkna ut den totala åldern på passagerarna");
Console.WriteLine("4. Avsluta programmet");
val = int.Parse(Console.ReadLine());
switch (val)
{
case 1: läggatill();
break;
case 2: SkrivUt();
break;
case 3: Totålder();
break;
case 4: avsluta();
break;
default:
Console.WriteLine("Du har tryckt på en knapp som inte finns att välja.");
break;
}
} while (val != 4); // Trycker man 4 så avslutar man programmet
}
public void avsluta() // avslutar programmet
{
Console.WriteLine("Nu avslutas programmet.");
}
public void läggatill () // lägger till passagerare
{
Console.WriteLine("Du vill lägga till en passagerare. Välj antal. ");
string antal = Console.ReadLine();
antal_passagerare = Convert.ToInt32(antal);
for (int a = 0; a < antal_passagerare; a++)
{
Console.WriteLine("Lägg till en ny passagerare genom att skriva in passagerarens ålder : ");
passagerare[a] = int.Parse(Console.ReadLine());
if (a + antal_passagerare == passagerare.Length)
{
a = passagerare.Length;
antal += antal_passagerare;
Console.WriteLine("Nu är bussen full");
}
else
{
a++;
}
}
}
public void SkrivUt () // skriver ut alla passagerare som lagras i vektorn
{
for (int a = 0; a < passagerare.Length; a++ )
Console.WriteLine("Plats {0} på bussen är {1} år gammal",a , passagerare[a]);
}
public int Totålder() // räknar ut totala åldern på bussen
{
int summa = 0;
Console.WriteLine("Du har valt att beräkna den totala åldern på bussen.");
for (int a = 0; a < passagerare.Length; a++)
{
summa += passagerare[a];
}
int ålder = summa;
Console.WriteLine("Den totala åldern på bussen är {0}", ålder);
return summa;
}
}