Inlägg

Inlägg som lallas91 har skrivit i forumet
Av lallas91

@Forsgren: Det ska jag tänka på , måste börja tänka på kommentera min kod också. Tack för tipset

Av lallas91

@Alling: Absolut ett bra tips! stirrar mig blint på läroboken ibland! Där det i alla exemplaren på en for-loop används I=0!

Men det ska jag testa lite med. Tack för tipset

Av lallas91

@ToddTheOdd: Det tror jag jag ska lösa med lite tillagda if satser. Men jag vet inte ens om koden får se ut så här rörig. Men jag tror de ska funka iaf. är väldigt tidigt in på denna uppgiften så har många timmar kvar.

public void add_passenger() { int antal = 0; Console.WriteLine("hur många passagerar vill du gå ombord med "); antal = int.Parse(Console.ReadLine()); if (antal <= 25) { for (int i = 0; i < antal; i++) if (antal_passagerare < passagerare.Length) { Console.WriteLine("ålder på passagerana "); int antal_passagerare1 = int.Parse(Console.ReadLine()); passagerare[antal_passagerare] = antal_passagerare1; antal_passagerare++; }else { Console.WriteLine("fullt i bussen"); break; } } else { Console.Write("ge upp"); }

Av lallas91

Tror kanske jag löste det nu! Ser detta bättre ut? eller hade de gått göra på ett bättre sätt?

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace test4 { class buss { int val = 0; public int[] passagerare = new int[20]; public int antal_passagerare; public void Run() { Console.WriteLine("Welcome to the Buss-simulator"); Console.WriteLine("Press any key to continue . . . "); Console.ReadKey(true); do { Console.WriteLine(" Vänligen ange alternativ :"); Console.WriteLine(" Alt 1: Lägg till passagerare :"); Console.WriteLine(" Alt 2 återgå till start :"); while (true) { int nr; if (int.TryParse(Console.ReadLine(), out nr)) { val = nr; break; } else { Console.Write("ange nr"); } } switch (val) { case 1: add_passenger(); break; default: break; } } while (val == 0); } public void add_passenger() { int antal = 0; Console.WriteLine("hur många passagerar vill du gå ombord med "); antal = int.Parse(Console.ReadLine()); for (int i=0 ; i < antal; i++) { Console.WriteLine("antal passagerare : "); int antal_passagerare1 = int.Parse(Console.ReadLine()); passagerare[antal_passagerare] = antal_passagerare1; antal_passagerare++; } Console.WriteLine(passagerare[0]); Console.WriteLine(passagerare[1]); Console.WriteLine(passagerare[2]); Console.WriteLine(passagerare[3]); Console.WriteLine(passagerare[4]); Console.WriteLine(passagerare[5]); Console.WriteLine(passagerare[6]); Console.WriteLine(passagerare[7]); val = 0; } } }

Av lallas91

@Anaii: ändrade storleken till 20 platser nu. Men okey, så i=0; så börjar jag alltid på 0. Det förklarar ju överskriften av redan inatade tal rätt så bra !

men behöver jag bara ändra något i for - loopens vilkor? eller hur hittar jag första lediga plats, den int veriablen som heter antal_passagerare förstår jag inte vart jag ska sätta in.

Av lallas91

Fråga om Array i c# nybörjare.

Har fastnat vid en grej som jag ej hittar verken på tuben eller i min lärobok(säkert missat något) tänkte kolla om någon kan göra en snabb förklaring.

jag gör ett projekt där jag har en huvudmeny, och den ska skicka användaren till addera person i en arrey! jag vet hur man fyller hela..

Men mitt problem är, hur fyller jag bara enstaka positioner i vektorn? alltså jag fyller pos. 1-3 första varvet i loopen, och nästa gång vill jag fylla på från 4 och framåt.. men när jag kommer in i andra varvet så skriver den bara över det gamla.. Kasnske förklarar lite dåligt! men här är koden.. Det är metoden add.passenger() som jag inte får till

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace test4 { class buss { int val = 0; public int[] passagerare = new int[20]; public int antal_passagerare; public void Run() { Console.WriteLine("Welcome to the Buss-simulator"); Console.WriteLine("Press any key to continue . . . "); Console.ReadKey(true); do { Console.WriteLine(" Vänligen ange alternativ :"); Console.WriteLine(" Alt 1: Lägg till passagerare :"); Console.WriteLine(" Alt 2 återgå till start :"); while (true) { int nr; if (int.TryParse(Console.ReadLine(), out nr)) { val = nr; break; } else { Console.Write("ange nr"); } } switch (val) { case 1: add_passenger(); break; default: break; } } while (val == 0); } public void add_passenger() { int antal = 0; Console.WriteLine("hur många passagerar vill du gå ombord med "); antal = int.Parse(Console.ReadLine()); for (int i = 0; i < antal; i++) { Console.WriteLine("Skriv åldern på passageraren : "); int antal_passagerare = int.Parse(Console.ReadLine()); passagerare[i] = antal_passagerare; } Console.WriteLine(passagerare[0]); Console.WriteLine(passagerare[1]); Console.WriteLine(passagerare[2]); val = 0; } } }

Av lallas91

@Forsgren: Idag är du en hjälte! Det fick det att fungera. Tack!

Av lallas91

nybörjar c# uppgift

Precis börjat med programmering, där en uppgift är att skriva av ett aktivitetsdiagram.

Där detta står från läraren.
(En kommentar: Programmet som skapas utifrån diagrammet är inte vidare logiskt. Man kan få rätt underliga svar beroende på ålder. Fundera inte över hur rimligt programmet är i sig, utan uppgiften är en övning i att skriva kod efter ett diagram.)

Så skrev en kod från den bilden, som jag tyvärr inte kan bifoga. koden ser ut så här: Mitt problem är att Loopen avbryts när den når 20000, men jag vill att den ska nå både 20000 kr och 65 i ålder, jag vet att den är kladdig koden, men egentligen är jag mest intresserad varför den går ur loopen när jag använder mig av &&.

Console.WriteLine(" Ange Ålder : "); string age = Console.ReadLine(); int age1 = Convert.ToInt32(age), pengar = 15000; do { if (pengar > 20000 || age1 < 60) { Console.WriteLine(" Du sparar för lite "); pengar = pengar + 500; age1++; } else { Console.WriteLine(" Du sparar mycket "); pengar = pengar + 1000; age1++; } } while (pengar < 20000 && age1 < 65); { Console.WriteLine("du är pensioner " + age1); Console.WriteLine(" och du har sparat : " + pengar); } Console.ReadKey();