Problem med array
mitt problem är att skulle jag vilja lägga till flera passagerare så överskriver den här koden bara dom gamla talen i vektorn istället för att lägga till utöver dom talen jag redan har skrivit in i vektor
vi säger att jag lägger till 4 personer skriver in siffran 1 2 3 4 sen går jag till metoden igen och nu vill jag lägga till 4 personer till då skriver den bara över dom första 4 istället för att forsätta på vektor plats 5-6-7-8
sen
//code
public void add_passenger()
{
Console.WriteLine(" hur många personer hoppar på bussen? ");
int antal = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < antal; i++)
{
Console.WriteLine(" Skriv in ålder på personen som hoppar på bussen! ");
int platser = Convert.ToInt32(Console.ReadLine());//
passagerare[i] = platser;
//code
Hur många bestämda platser har du i sin Vector??
daylightkapt skrev:Hur många bestämda platser har du i sin Vector??
jag har en vektor på 25 platser alla är obestämda använder ska kunna fylla i alla platser till alla 25 blir ifyllda
När du lägger till passagerare, så spara hur många det är sammanlagt i en ny variabel, t.ex. 'totaltantal'.
Nu börjar du på passagerare[i] där i = 0. Börja på i = totaltantal i stället.
Laguna skrev:När du lägger till passagerare, så spara hur många det är sammanlagt i en ny variabel, t.ex. 'totaltantal'.
Nu börjar du på passagerare[i] där i = 0. Börja på i = totaltantal i stället.
här är hela min code atm har suttit o försökt klurat men får inte till hur jag ska spara de totala värdet. står helt stilla i huvudet.. vilket är väldigt irriterande
//code
class Buss
{
public int[] passagerare = new int[25];
public int antal_passagerare = 0;
int menu = 0;
public void Run()
{
Console.WriteLine("Welcome to the awesome Buss-simulator");
do
{
Console.WriteLine("1 lägg till passagerare");
Console.WriteLine("2 skriv ut alla som sitter på bussen");
Console.WriteLine("3 räkna ut den totala åldern");
Console.WriteLine("0 avsluta program");
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 stängs ner ");
break;
}
} while (menu != 0);
}
public void add_passenger()
{
Console.WriteLine(" hur många personer hoppar på bussen? ");
int antal = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < antal; i++)
{
Console.WriteLine(" Skriv in ålder på personen som hoppar på bussen! ");
int platser = Convert.ToInt32(Console.ReadLine());//gör om inte till string
passagerare[i] = platser; //lägger till värdet till vektoren
if (platser > 25)
Console.WriteLine(" bussen är full ");
}
}
public void print_buss()
{
foreach (int antal_passagerare in passagerare)
{
if (antal_passagerare != 0)
{
Console.WriteLine(antal_passagerare);
}
}
}
public void calc_total_age()
{
int sum = 0;
for(int i=0; i< passagerare.Length;i++)
{
sum += passagerare[i];
}
Console.WriteLine(" den totala åldern på bussen är " + sum);
{
Ett fel just nu: du vill säga att bussen är full när den har 25 passagerare, men värdet du testar är den senast inlästa åldern.
Laguna skrev:Ett fel just nu: du vill säga att bussen är full när den har 25 passagerare, men värdet du testar är den senast inlästa åldern.
aa okej mitt andra problem är fortfarande att den inte sparar i vektorn några mer tips på den delen
Du har redan den variabel som Laguna kallade 'totaltantal'. Du kallar den "antal_passagerare" men du ökar aldrig på den när du lägger till passagerare (det finns inga skrivningar till den variabeln, bara läsningar).
Tack för ditt PM. du får snabbare svar om du fortsätter i tråden istället.
Om variabeln antal_passagerare ska innehålla hur många som sitter på bussen så måste du uppdatera den varje gång du hamnar i add_passenger(). Antingen ökar du på med 1 i varje loopvarv eller ökar du på med variabeln antal som du läser in i add_passenger(). Det gör du som du vill.