Kod:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Läskbacken2 { } class Läskbacken { private string[] flaskor = new string[24]; //JObbar ni med struct (ev betyg C) eller klass för soda (betyg A) så är det inte "string" som är datatyp här private int antal_flaskor = 0; //Håller reda på antal flaskor public int dyr = 0; public int billig = 0; public int totalpris = 0; public string dryck; private bool huvudMeny = true; //(Betyg A): En konstruktor kan ni använda för Sodacrate men det är inget krav. //(Betyg A): Däremot ska ni använda en konstruktor för klassen "Soda" public void Run() { Console.WriteLine("Varmt välkommen till läskbacken!"); while (huvudMeny) { Console.WriteLine("Välj något av följande alternativ:"); Console.WriteLine("1. Lägg till dryck."); Console.WriteLine("2. Visa backens innehåll."); Console.WriteLine("3. Visa backens värde."); Console.WriteLine("4. Avsluta programmet."); Console.WriteLine(); switch (Console.ReadLine()) { case "1": add_dricka(); break; case "2": print_flaskor(); break; case "3": summa(); break; case "4": huvudMeny = false; break; default: Console.WriteLine("Felaktig inmatning"); Console.WriteLine(); break; } //Här ska menyn ligga för att göra saker //Jag rekommenderar switch och case här med en loop //I del 1 av filmerna för slutprojektet kodar jag en switch case } } public void add_dricka() { Console.WriteLine("Välj en dryck:"); Console.WriteLine("1. Loka 5kr"); Console.WriteLine("2. Fanta 5kr"); Console.WriteLine("3. Cola 5kr"); Console.WriteLine("4. Lättöl 10kr"); Console.WriteLine("5. Cider 10kr"); for (int i = 0; i < flaskor.Length; i++) { flaskor[i] = dryck; } dryck = Console.ReadLine(); switch (dryck) { case "Loka": Console.WriteLine("Loka"); Console.WriteLine(); billig++; break; case "2": Console.WriteLine("Fanta"); Console.WriteLine(); billig++; break; case "3": Console.WriteLine("Cola"); Console.WriteLine(); billig++; break; case "4": Console.WriteLine("Lättöl"); Console.WriteLine(); dyr++; break; case "5": Console.WriteLine("Cider"); Console.WriteLine(); dyr++; break; default: Console.WriteLine("Felaktig inmatning"); Console.WriteLine(); break; } for (int j = 0; j < flaskor.Length; j++) { if (antal_flaskor == 24) { Console.WriteLine("Din back är full."); Console.WriteLine(); } else { antal_flaskor++; break; /*Metod för att lägga till en läskflaska Om ni har information om både pris, läsktyp och namn kan det vara läge att presentera en meny här där man kan välja på förutbestämda läskflaskor. Då kan man också rätt enkelt göra ett val för att fylla läskbacken med slumpade flaskor */ } } } public void print_flaskor() { Console.WriteLine("Antalet drycker i din back är " + antal_flaskor, flaskor.Length); Console.WriteLine(); for (int i = 0; i < flaskor.Length; i++) { Console.WriteLine(flaskor[i]); } /* { for (int i = 0; i < flaskor.Count(); i++) { if (flaskor[i].Length > 0) //annars != null Console.WriteLine("Dryck i fack {0} är en {1}", i, flaskor[i]); else Console.WriteLine("Dryckfack {0} är tom.", i); } } /*foreach (var dricka in flaskor) { if (dricka != null) Console.WriteLine(dricka); else Console.WriteLine("Tom plats"); } */ //kod här //Missa inte hjälpkoden som finns i projektbeskrivningen //Där beskrivs hur man löser det med tomma positioner i vektorn } public void summa() { int total = 0; for (int k = 0; k < flaskor.Length; k++) totalpris = antal_flaskor * 10; { Console.WriteLine("Din Läskback kostar " + totalpris + " kronor"); Console.WriteLine(); } { total = (billig * 5) + (dyr * 10); Console.WriteLine("Din Läskback kostar " + total + " kronor "); } //kod här //Tänk på att inte räkna med tomma positioner i vektorn } public void find_soda() { //Betyg C //Beskrivs i läroboken på sidan 147 och framåt (kodexempel på sidan 149) //Man ska kunna söka efter ett namn //Man kan använda string-metoderna ToLower() eller ToUpper() } public void sort_sodas() { //Betyg A-C //Beskrivs i läroboken på sidan 147 och framåt (kodexempel på sidan 159) //Man ska kunna sortera vektorn med flaskor och med bubble sort //Det är mycket svårt att sortera efter bokstavsordning - är inte flaskorna egna objekt utan bara strängar... //... går det bra att sortera efter längden på namnet istället. } } class Program { public static void Main(string[] args) { //Skapar ett objekt av klassen Sodacrate som heter sodacrate var sodacrate = new Läskbacken(); sodacrate.Run(); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } }
Det jag inte får att fungera är att jag just nu tror att jag lagrar bara siffror i vektorn?
Jag skulle vilja att för varje val jag gör så ska det t.ex. lagras Loka i vektorn istället för som det gör just nu när jag vill skriva ut vad jag har i backen så blir det bara siffror!
tack på förhand!