Projekt programmering 1 c#
Hej Sweclockers
Denna har vart på tapeten tidigare och jag har läst dessa inlägg.
Jag har försökt hittat vad mitt fel är nu de senaste dagarna utan att lyckas.
I objektet minbuss ska det finns en vektor som håller reda på 25 stycken passagerare. Varje element i
vektorn är en ålder.
Observera att det ska vara just en vektor och inte en lista.
I sodacrate ska det finnas en switch-case meny där alternativen kopplas till olika metoder. Dessa
metoder är:
1. Lägga till en passagerare
2. Skriv ut bussen, eller rättare sagt – skriv ut alla åldrar på passagerare.
3. Beräkna den totala åldern av alla passagerare.
4. Avsluta programmet
Under metoden Run() ska alltså kod skrivas som
skriver ut text som välkomnar användaren och
därefter får en lista över vilka saker man kan göra.
Detta val bör ju läggas i en loop så inte programmet
stänger ner efter att man valt något.
Man kan själv välja hur stor vektorn ska vara.
Man ska inte kunna stoppa in fler passagerare än vad
som får plats.
Är backen full ska man få meddelande om detta och passageraren kan inte stiga på.
Jag har problem med metoden Calc_total age SnittAlder samt Print_buss
Jag får alltså till metoden där jag lägger till en passagerare
Jag vet att de är svenska och engelska blandat för tillfället. Jag försöker just nu bara få metoderna att fungera
Ni förstår ju att jag är väldigt ny. Så en förklaring på väldigt basic nivå vore magiskt.
Tack på förhand
class Program
{
public static void Main(string[] args)
{
Console.ForegroundColor = ConsoleColor.Blue;
var covid = new CovidBuss();
covid.Run(); // startar programmet
Console.Write("Tryck på någon tangent för att AVSLUTA. . . ");
Console.ReadKey(true); //
}
class CovidBuss
{
const int MAXPLATSER = 25; //Anger en variabel som visar att max antal platser är 25.
public int[] passagerare = new int[MAXPLATSER]; // skapar en ny vektor(array) namnet passagerare med 25 fält[]-
public int antal_passagerare = 0; // Utgångsvärdet för antal_passagerar är 0
public void Run()
{
int val = 0;
do // skapar en do-loop
{
// MENY på konsollen med 4 olika val användaren kan göra
Console.WriteLine(" [M] [E] [N] [Y] ");
Console.WriteLine("_________________________________________________________________\n");
Console.WriteLine(" ------ Välj något av dessa 5 alternativ ------\n");
Console.WriteLine("[1]----> Låt en passagerare kliva ombord bussen");
Console.WriteLine("[2]----> Presentera den totala åldern på samtliga ombord bussen");
Console.WriteLine("[3]----> Räkna ut samtliga psassagerares snittålder");
Console.WriteLine("[4]----> Skriv ut antal passagerare ombord och deras ålder");
Console.WriteLine("[0]----> Avsluta / stäng denna M E N Y ");
Console.WriteLine("_________________________________________________________________");
val = int.Parse(Console.ReadLine()); //tar emot inmatningen i string och gör om den till typen int
switch (val) // skapar ett switch-statement som körs mot de inmatade värdet som använder knappar in
{
case 1:// hör i hop med knappval 1 vilket lägger till en passagerare
Add_passenger(); // anropar metoden add-passenger
break;// stopp på case 1
case 2: // hör ihop med knappval 2 vilket räknar ut totala åldern på samtliga ombord
Calc_total_age(); // anropar metoden calc totalt age
break;// Stopp på case 2
case 3:// hör ihop med knappval 3 vilket är att räkna ut snittåldern på samtliga ombord
SnittAlder();// anropar metoden calc_average_age
break; // Stopp på case 3
case 4:// hör ihop med knappval 4 vilket är att skriva ut antal passagerare och deras ålder
Print_buss();// anropar metoden print_buss
break; // Stopp på case 4
case 0:// Hör till knappval 0 vilket stänger/avslutar menyn
break; // Stopp på case 0
default:
Console.WriteLine("Något blev fel, knappa in alternativ 1-4 eller 0 om du vill stänga MENYN)");
break;
}
} while (val != 0); //
}
public void Add_passenger()
{
Console.WriteLine("Vi lägger nu till passagerare ombord bussen\n");
Console.Clear(); // Rensar konsollen
Console.Write("Hur många ska få kliva ombord bussen? Ange antal: ");
int antal = Convert.ToInt32(Console.ReadLine()); // konverterar svaret från användaren från string to int
for (int i = 0; i < antal; i++) // skapar en for-loop som körs igenom samma antal som användaren knappade in
{
Console.Write("Hur gammal är personen som kliver ombord? Ange ålder: ");
int nyOmbord = Convert.ToInt32(Console.ReadLine());//Konvertera string till int
passagerare[i] = nyOmbord; //Adderar värdet till vektoren
}
}
public void Print_buss()
{
Console.WriteLine("Här presenteras åldern och antal passagerare ombord ");
for (int i = 0; i < passagerare.Length; i++) // kör en for-loop
{
Console.WriteLine(passagerare[i] + "är år gammal");
}
}
public int Calc_total_age()
{
int summaTotal = 0; // skapar en int-variabel där värdet från början är noll
for (int i = 0; i < passagerare.Length; i++) // skapar en for-loop
{
summaTotal += passagerare[i];
}
Console.WriteLine("Den totalla summan i ålder hos passagerarna är {0}, ", summaTotal);
return summaTotal; // tar emot värdet
}
public int SnittAlder()
{
Console.Clear(); // Rensar konsollen
Console.WriteLine(" Nu ska vi räkna ut snittåldern på de personer som klivit om bord bussen \n");
int hurGammal = 0; // skapar en varibael och visar att värdet är 0 innan for-loopen körs
for (int i = 0; i < passagerare.Length; i++) // skapar en forloop
{
hurGammal += passagerare[i];
}
Console.WriteLine("Snittåldern ombord bussen är" + hurGammal);
return snittGammal; // retunerar variabeln/värdet snittGammal
}
}
}
}