14 svar
1136 visningar
alex 269 – Fd. Medlem
Postad: 11 nov 2019 09:08

kön med ålder i en vektor?

Hej

Hur kan man deklarera kön med ålder i en vektor ?

Affe Jkpg 6630
Postad: 11 nov 2019 14:01

struct gen_age
{
  public String gender;
  public int age;
}

….

vector[] = new gen_age[10]; // E.g. ten vectors, array of structs)

alex 269 – Fd. Medlem
Postad: 11 nov 2019 14:22

Ska jag skapa en klass för det?

alex 269 – Fd. Medlem
Postad: 11 nov 2019 15:15

Hur ska jag be användare att skriva vilket kön hen har och sedan sin ålder och lägga de info i en vektor 

sedan skriva ut dem?

Jag vet hur man behandlar med ålder men inte med String.

Affe Jkpg 6630
Postad: 11 nov 2019 15:28

Hur menar du nu?

vector[i].gender = Console.ReadLine(); // textsträng
vector[i].age = Int32.Parse(Console.ReadLine()); //heltal

alex 269 – Fd. Medlem
Postad: 11 nov 2019 15:53

Aha man kan inte blanda kön och ålder i en vektor, där man måste skapa två vektorer en till int och till strong eller hur!?

Affe Jkpg 6630
Postad: 11 nov 2019 16:13

Aha man kan inte blanda kön och ålder i en vektor, där man måste skapa två vektorer en till int och till strong eller hur!?

För att hålla "ihop" nomenklaturen:

Man bör inte blanda kön och ålder i samma variabel, men man kan skapa en struktur (struct) som innehåller två variabler, deklarerade som "int" och "String"  :-)

Laguna Online 30472
Postad: 11 nov 2019 17:32

Hur det är i C# vet jag inte, men i C++ är struct nästan samma sak som class. struct finns med av historiska skäl (C har bara struct). 

alex 269 – Fd. Medlem
Postad: 12 nov 2019 11:49

  class passagerare
      {
           public String gender;

           public int passenger_age;
      }

class program

{

              vector[] = new gen_age[10];
                
                for (int i = 0; i < 10; i++)

                vector[i].gender = Console.ReadLine(); // textsträng
vector[i].age = Int32.Parse(Console.ReadLine());

}

 

Det blir fel, varför?

Yngve 40279 – Livehjälpare
Postad: 12 nov 2019 12:06 Redigerad: 12 nov 2019 12:09
alex skrev:

  class passagerare
      {
           public String gender;

           public int passenger_age;
      }

class program

{

              vector[] = new gen_age[10];
                
                for (int i = 0; i < 10; i++)

                vector[i].gender = Console.ReadLine(); // textsträng
vector[i].age = Int32.Parse(Console.ReadLine());

}

 

Det blir fel, varför?

Du använder struct gen_age som du inte har deklarerat någonstans 

alex 269 – Fd. Medlem
Postad: 12 nov 2019 13:24

Snälla kan du hjälpa mig och skriva vad som ska står under class passagerare samt class program?

FreeCodeParty 7 – Fd. Medlem
Postad: 12 nov 2019 23:39

kära alex....

 

här har du koden. Fortsatt lycka till på Fortnite!

using System;
using System.Collections.Generic;

class program
{
public class Passenger
{
public int Age;
public string Gender;
}

static void Main(string[] args)
{
var passengers = new List<Passenger>();

while (true)
{
Console.WriteLine("\nEnter age of passenger (/exit to quit, /print to list current passengers)");
var age = Console.ReadLine();

switch (age)
{
case "/exit":
return;
case "/print":
foreach (var passenger in passengers)
{
Console.Write($"\nAge: {passenger.Age}\nGender: {passenger.Gender}\n\n");
}
continue;
}

Console.WriteLine("Enter gender of passenger (Notice: there are ONLY 2 genders)");
var gender = Console.ReadLine();

try
{
var ageVar = Convert.ToInt32(age);
}
catch
{
Console.WriteLine("You noob! The Age variable needs to be a number!");
continue;
}

passengers.Add(new Passenger
{
Age = Convert.ToInt32(age),
Gender = gender
});
}
}
}

Tegelhus 225
Postad: 13 nov 2019 11:54
alex skrev:

Snälla kan du hjälpa mig och skriva vad som ska står under class passagerare samt class program?

Inte så van vid C#, har mest hållit på med C och Java, så med reservation för att jag inte känner till allt om språket:

Om du vill ha det som en class och inte en struct (gissar att det går med båda) ser passagerare helt rätt ut. Anledningen till att det inte fungerar i ditt program är att det försöker använda en datastruktur som kallas gen_age, fast du inte har en sådan. Istället har du en klass som heter passagerare, så du borde referera till den istället.

Dessutom bör du nog se över loopen. Kom ihåg måsvingar, dvs { och }, för att gruppera allting som du vill köra i loopen.

alex 269 – Fd. Medlem
Postad: 13 nov 2019 12:06

Hej

Här är min uppgift och gjorde hela den men jag fastnar i public void print_sex()

De skriver att jag ska skapa en klass för passagerare. Ok men hur och vad jag ska  göra med public void add_passenger(), där jag kodade allt som gäller med ålder och det funkar bra men inte när det gäller med kön.

några tips??

Tack så mycket 

 

 

namespace Bussen
{
    class Buss
    {
        public int [] passagerare;
        public int antal_passagerare;

        
        public void Run()
        {
            Console.WriteLine("Welcome to the awesome Buss-simulator");
            //Här ska menyn ligga för att göra saker
            //Jag rekommenderar switch och case här
            //I filmen nummer 1 för slutprojektet så skapar jag en meny på detta sätt.
            //Dessutom visar jag hur man anropar metoderna nedan via menyn
            //Börja nu med att köra koden för att se att det fungerar innan ni sätter igång med menyn.
            //Bygg sedan steg-för-steg och testkör koden.
        }

        
        
        public void add_passenger()
        {
            //Lägg till passagerare. Här skriver man då in ålder men eventuell annan information.
            //Om bussen är full kan inte någon passagerare stiga på
        }
        
        public void print_buss()
        {
            //Skriv ut alla värden ur vektorn. Alltså - skriv ut alla passagerare
        }
        
        public int calc_total_age()
        {
            //Beräkna den totala åldern. 
            //För att koden ska fungera att köra så måste denna metod justeras, alternativt att man temporärt sätter metoden med void
        }
        
        
        
        public int calc_average_age()
        {
            
            //Beräkna den genomsnittliga åldern. Kanske kan man tänka sig att denna metod ska returnera något annat värde än heltal?
            //För att koden ska fungera att köra så måste denna metod justeras, alternativt att man temporärt sätter metoden med void
        }
        
        public int max_age()
        {
            
            //ta fram den passagerare med högst ålder. Detta ska ske med egen kod och är rätt klurigt.
            //För att koden ska fungera att köra så måste denna metod justeras, alternativt att man temporärt sätter metoden med void
        }
        
        public void find_age()
        {
            //Visa alla positioner med passagerare med en viss ålder
            //Man kan också söka efter åldersgränser - exempelvis 55 till 67
            
            //Beskrivs i läroboken på sidan 147 och framåt (kodexempel på sidan 149)

        }
        
        public void sort_buss()
        {
            //Sortera bussen efter ålder. Tänk på att du inte kan ha tomma positioner "mitt i" vektorn.
            //Beskrivs i läroboken på sidan 147 och framåt (kodexempel på sidan 159)
            //Man ska kunna sortera vektorn med bubble sort
        }
        
        
        
        
        public void print_sex()
        {
            
            //Denna metod är nödvändigtvis inte svårare än andra metoder men kräver att man skapar en klass för passagerare.
            //Skriv ut vilka positioner som har manliga respektive kvinnliga passagerare.
        }   
        public void poke()
        {
            
            //Vilken passagerare ska vi peta på?
            //Denna metod är valfri om man vill skoja till det lite, men är också bra ur lärosynpunkt.
            //Denna metod ska anropa en passagerares metod för hur de reagerar om man petar på dom (eng: poke)
            //Som ni kan läsa i projektbeskrivningen så får detta beteende baseras på ålder och kön.
        }   
        
        public void getting_off()
        {
            
            //En passagerare kan stiga av
            //Detta gör det svårare vid inmatning av nya passagerare (som sätter sig på första lediga plats)
            //Sortering blir också klurigare
            //Den mest lämpliga lösningen (men kanske inte mest realistisk) är att passagerare bakom den plats..
            //.. som tillhörde den som lämnade bussen, får flytta fram en plats.
            //Då finns aldrig någon tom plats mellan passagerare.
        }   
    }
    
    class Program
    {
        public static void Main(string[] args)
        {
            //Skapar ett objekt av klassen Buss som heter minbuss
            //Denna del av koden kan upplevas väldigt förvirrande. Men i sådana fall är det bara att "skriva av".
            var minbuss = new Buss();
            minbuss.Run();
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}

alex 269 – Fd. Medlem
Postad: 25 nov 2019 21:50

Har någon ett förslag ??

 

public void print_sex()
        {
            
            //Denna metod är nödvändigtvis inte svårare än andra metoder men kräver att man skapar en klass för passagerare.
            //Skriv ut vilka positioner som har manliga respektive kvinnliga passagerare.
        }   

Svara
Close