8 svar
429 visningar
jockeborg behöver inte mer hjälp
jockeborg 4 – Fd. Medlem
Postad: 20 nov 2020 12:38

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

daylightkapt 18
Postad: 20 nov 2020 12:44

Hur många bestämda platser har du i sin Vector??

jockeborg 4 – Fd. Medlem
Postad: 20 nov 2020 13:19
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

Laguna Online 30711
Postad: 20 nov 2020 13:34

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.

jockeborg 4 – Fd. Medlem
Postad: 22 nov 2020 13:37
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);

{

Laguna Online 30711
Postad: 22 nov 2020 15:08

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. 

jockeborg 4 – Fd. Medlem
Postad: 22 nov 2020 15:48
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

Peter 1023
Postad: 22 nov 2020 17:14

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).

Peter 1023
Postad: 23 nov 2020 21:56

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.

Svara
Close