Vinnaren i pepparkakshustävlingen!
  • 4
  • 5
2017-04-03, 22:40
  #49
Medlem
Lelles90s avatar
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!
Citera
  • 4
  • 5

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback