C# skoluppgift funderingar mot klasser
Hej.
Jag går en intensiv kurs i programmering 1 och är helt ny med programmering. Jag håller på med ett projekt som heter Bussen och i den ska vi göra en buss som plockar upp passagerare. Den ska även kunna visa upp varje passagerare, beräkna den totala åldern och beräkna medelvärdet på åldern. Jag tänkte ha förbestämda passagerare som finns i en class som heter ThePassangers, sen ska då i classen Buss så ska den under add_passenger kunna dra slumpat ut från classen ThePassangers. Men jag vet inte hur jag ska ta mig dit, jag har gjort en kod och den är lite grötig kanske men jag har utgått till vad jag fått för information av min lärare.
Men smått och gott så är min fråga hur ska jag kunna dra classen ThePassangers metoden add_passangers in till add_passanger i Buss classen? eller borde jag skrota hela idén?
Mina kunskaper är väldigt låga och jag kan inte så mycket andra ord än de jag håller på med så ni får gärna vara så utförliga som möjligt. Jag är ganska säker på att jag tagit mig vattenöverhuvudet men det är kul att försöka iallafall.
using System;
namespace Bussen
{
class ThePassangers
{
public string Name;
public int Age;
public string Sysselsättning;
public ThePassangers[] Passanger;
public ThePassangers(string _name, int _age, string _Jobb)//konstruktor
{
Name = _name;
Age = _age;
Sysselsättning = _Jobb;
Passanger = new ThePassangers[35];
}
public void add_passangers()
{
Passanger[0] = new ThePassangers("Erik", 14, "Student");
Passanger[1] = new ThePassangers("Felicia", 22, "Student");
Passanger[2] = new ThePassangers("Agda", 71, "Pensionär");
Passanger[3] = new ThePassangers("Mike", 43, "Kock");
Passanger[4] = new ThePassangers("Bengt", 52, "Lärare");
Passanger[5] = new ThePassangers("Moa", 16, "Student");
Passanger[6] = new ThePassangers("Niclas", 33, "Programmerare");
Passanger[7] = new ThePassangers("Sofia", 36, "Receptionist");
Passanger[8] = new ThePassangers("Cathrine", 28, "Växeltelefonist");
Passanger[9] = new ThePassangers("Andre", 32, "Fritids Pedagog");
Passanger[10] = new ThePassangers("Mark", 27, "Väktare");
Passanger[11] = new ThePassangers("Lu", 18, "Student");
Passanger[12] = new ThePassangers("Frank", 12, "Student");
Passanger[13] = new ThePassangers("Jacob", 25, "Personalchef");
Passanger[14] = new ThePassangers("Milton", 13, "Student");
Passanger[15] = new ThePassangers("Helena", 36, "Komunikatör");
Passanger[16] = new ThePassangers("Rickard", 26, "Programmerare");
Passanger[17] = new ThePassangers("Fredrik", 29, "Behovsanställd");
Passanger[18] = new ThePassangers("Inger", 55, "Löneadministration");
Passanger[19] = new ThePassangers("Edvin", 73, "Pensionär");
Passanger[20] = new ThePassangers("Urban", 45, "Distriktansvarig");
Passanger[21] = new ThePassangers("Oscar", 39, "Lärare");
Passanger[22] = new ThePassangers("Mikael", 52, "Naturvårdsspecialist");
Passanger[23] = new ThePassangers("Cecilia", 31, "Gruppchef");
Passanger[24] = new ThePassangers("Mikaela", 32, "Student");
Passanger[25] = new ThePassangers("Malin", 43, "Jaktansvarig");
Passanger[26] = new ThePassangers("Malin", 36, "Portvakt");
Passanger[27] = new ThePassangers("Olle", 26, "Jornalist");
Passanger[28] = new ThePassangers("Stefan", 39, "Ekonom");
Passanger[29] = new ThePassangers("Per", 18, "Student");
Passanger[30] = new ThePassangers("Stina", 17, "Student");
Passanger[31] = new ThePassangers("Johan", 22, "Student");
Passanger[32] = new ThePassangers("Elin", 14, "Student");
Passanger[33] = new ThePassangers("Alexandra", 19, "Student");
Passanger[34] = new ThePassangers("Fredric", 16, "Student");
}
public void show_passanger()
{
foreach (var pas in Passanger)
{
Console.WriteLine(pas);
}
}
}
class Buss
{
public int[] passagerare = new int [25];
public int antal_passagerare = 25;
public void Run()
{
Console.WriteLine("Welcome to the awesome Buss-simulator");
int alt = 0;
do
{
Console.WriteLine("Dina alternativ");
Console.WriteLine("1 Hämta nästa passagerare");
Console.WriteLine("2 se hur passagerare sitter");
Console.WriteLine("3 beräkna totala åldern");
Console.WriteLine("4 beräkna medelvärdet på åldern");
/*Console.WriteLine("5 Sortera passagerarna");*/
Console.WriteLine("0 Avsluta simulatorn");
alt = int.Parse(Console.ReadLine());
switch (alt)
{
case 1:add_passenger();
break;
case 2:print_buss();
break;
case 3:Console.WriteLine("Den totala åldern är " + calc_total_age());
break;
case 4:Console.WriteLine("Medelvärdet på den totala åldern i bussen är " + calc_average_age());
break;
/*case 5: sort_buss();
break;*/
case 0:
Console.WriteLine("Programmet avslutas");
break;
default:
Console.WriteLine("Felaktig inmatning");
break;
}
} while (alt != 0 );
}
public void add_passenger()
{
var randomindex = Random.Next(0, ThePassangers.Length);
for (int x = 0; x < passagerare.Length; x++)
{
int Age = randomindex;
passagerare[x] = Age;
}
/*Random slump = new Random();
for (int x = 0; x < passagerare.Length; x++)
{
int Age = slump.Next(10, 75);
passagerare[x] = Age;
}
Console.WriteLine("Passagerare har bordat.");
foreach (int Age in passagerare)
Console.WriteLine(Age);*/
//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()
{
foreach (var passagerarplats in passagerare)
{
Console.WriteLine("Passagerarnas ålder är: " + passagerarplats);
}
//Skriv ut alla värden ur vektorn. Alltså - skriv ut alla passagerare
}
public int calc_total_age()
{
int age = 0;
foreach (int Alt in passagerare)
{
age = age + Alt;
}
return age;
}
public int calc_average_age()
{
int ageM = 0;
foreach (int Alt in passagerare)
{
ageM = ageM + Alt;
}
ageM = ageM / passagerare.Length;
return ageM;
//Beräkna den genomsnittliga åldern. Kanske kan man tänka sig att denna metod ska returnera något annat värde än heltal?
}
/*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
}*/
}
class Bussen
{
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();
ThePassangers Driver = new ThePassangers("Rick", 26, "Chafför");
Driver.add_passangers();
minbuss.Run();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
Mvh Rickard