代码不起作用,我不明白为什么

时间:2019-05-11 15:17:59

标签: c#

我一直在为我的编程课编写这段代码,由于某种原因,它无法正常工作。我对编码还是很陌生,所以我不明白怎么了。

这是一个程序,您可以在汽水箱中输入所需的汽水瓶。然后,您可以要求它打印出板条箱中的物品以及该物品的总费用。

我知道您不应该粘贴您的整个代码,但我不知所措。

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System;

namespace sodacrate
{
    class Flaska
    {
        private string namn
        private int pris

        public Flaska(string _namn, int _pris);
        {
            namn = _namn;
            pris = _pris;
        }
        public string Namn
        {
            get
            {
                return namn;
            }
            set
            {
                namn = value;
            }
        }
        public int Pris
        {
            get
            {
                return pris;
            }
            set
            {
                pris = value;
            }
        }

    }





    class Sodacrate
    {
        private Flaska[] flaskor = 0;
        private int antal_flaskor = 0; //Håller reda på antal flaskor

        public Sodacrate()
        {
            flaskor = new Flaska[24];
        }

        public void Run()
        {
            Console.WriteLine("Välkommen till detta läskbacksprogramm."); //Text som välkommnar användaren

            int input = 0;

            do
            {
                Console.WriteLine("Välj ett alternativ som du vill ska utföras:");
                Console.WriteLine("1. Lägg till flaskor till läskbacken");
                Console.WriteLine("2. Se vilka flaskor som finns i läskbacken");
                Console.WriteLine("3. Räkna ut totalpriset för läskbacken");
                Console.WriteLine("4. Stäng av program");

                input = int.Parse(Console.WriteLine()); //Tar emot input och omvandlar till en integer

                switch (input)
                {
                        case 1: add_soda();
                        case 2: print_crate();
                        case 3: calc_total();
                        case 4: Console.WriteLine("Programmet avslutas");
                        default: Console.WriteLine("Fel inmatning. Var vänlig och välj bland alternativ ovanför.");
                        break;
                }


            } while (input != 0);




        }

        public void add_soda()
        {
            Console.WriteLine("Välj dryck att lägga till i läskbacken:");


            Console.WriteLine("1. Fanta, 10 kr");
            Console.WriteLine("2. Coca-Cola, 15 kr");
            Console.WriteLine("3. Sprite, 9 kr");
            Console.WriteLine("4. Mountain Dew, 17 kr");


            int input = 0; //Skapa variabel för att ta emot input

            for (int i = 0; i < flaskor.Length; i++)
            {
                while (!int.TryParse(Cosole.ReadLine(), out input) || !(input <= 4 && input >= 1))  //Ser till att man bara kan skriva in vad programmet frågar efter.
                {
                    "Fel inmatning. Var vänlig och välj bland alternativ ovanför.";
                }
                switch (input)
                {
                    case 1:
                        Console.WriteLine("Du valde Fanta.");
                        flaskor[antal_flaskor] = new flaskor("Fanta", 10);
                        antal_flaskor++;
                        break;
                    case 2:
                        Console.WriteLine("Du valde Coca-Cola.");
                        flaskor[antal_flaskor] = new flaskor("Coca-Cola", 15);
                        antal_flaskor++;
                        break;
                    case 3:
                        Console.WriteLine("Du valde Sprite.");
                        flaskor[antal_flaskor] = new flaskor("Sprite", 9);
                        antal_flaskor++;
                        break;
                    case 4:
                        Console.WriteLine("Du valde Mountain Dew.");
                        flaskor[antal_flaskor] = new flaskor("Mountain Dew", 17);
                        antal_flaskor++;
                        break;
                    default: Console.WriteLine("Fel inmatning. Var vänlig och välj bland alternativ ovanför.");
                        break;
                }
            }
        }

        public void print_crate()
        {
            for (int i = 0; i < flaskor.Length; i++)
            {
                if (flaskor[i] != null)
                {
                    Console.WriteLine("Index: {0}. Namn: {1}, Pris: {2}", i, flaskor[i].Namn, flaskor[i].Pris);
                }
                else
                {
                    Console.WriteLine("Tom plats.");
                }
            }
        }

        public int calc_total()
        {
            int summa = 0;
            for (int i = 0; i < antal_flaskor, i++)
            {
                summa += flaskor[i].Pris;
            }

            Console.WriteLine("Det totala priset blir {0} kr.");
        }


    }

    class Program
    {
        public static void Main(string[] args)
        {
            //Skapar ett objekt av klassen Sodacrate som heter sodacrate
             Sodacrate Läskback = new Sodacrate();

            var sodacrate = new Sodacrate();

            sodacrate.Run();
            Läskback.print_crate();
            Läskback.calc_total();
            Läskback.add_soda();
            Console.WriteLine();
            Console.ReadKey(true);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

请参阅下面的更正代码。我进入了Visual Studio,并为您更正了它,它可以正常工作。你不远了。只有几个冒号和花括号放在错误的位置,因此它不会建立。下面的代码:

using System;

namespace sodacrate
{
public class Flaska
{
    private string namn;
    private int pris;

    public Flaska(string _namn, int _pris)
    {
        namn = _namn;
        pris = _pris;
    }

    public string Namn
    {
        get { return namn; }
        set { namn = value; }
    }

    public int Pris
    {
        get { return pris; }
        set { pris = value; }
    }
}

class Sodacrate
{
    private Flaska[] flaskor;
    private int antal_flaskor = 0; //Håller reda på antal flaskor

    public Sodacrate()
    {
        flaskor = new Flaska[24];
    }

    public void Run()
    {
        Console.WriteLine("Välkommen till detta läskbacksprogramm."); //Text som välkommnar användaren

        int input = 0;

        do
        {
            Console.WriteLine("Välj ett alternativ som du vill ska utföras:");
            Console.WriteLine("1. Lägg till flaskor till läskbacken");
            Console.WriteLine("2. Se vilka flaskor som finns i läskbacken");
            Console.WriteLine("3. Räkna ut totalpriset för läskbacken");
            Console.WriteLine("4. Stäng av program");

            input = int.Parse(Console.ReadLine()); //Tar emot input och omvandlar till en integer

            switch (input)
            {
                case 1:
                    add_soda();
                    break;
                case 2:
                    print_crate();
                    break;
                case 3:
                    calc_total();
                    break;
                case 4:
                    Console.WriteLine("Programmet avslutas");
                    break;
                default:
                    Console.WriteLine("Fel inmatning. Var vänlig och välj bland alternativ ovanför.");
                    break;
            }


        } while (input != 0);




    }

    public void add_soda()
    {
        Console.WriteLine("Välj dryck att lägga till i läskbacken:");


        Console.WriteLine("1. Fanta, 10 kr");
        Console.WriteLine("2. Coca-Cola, 15 kr");
        Console.WriteLine("3. Sprite, 9 kr");
        Console.WriteLine("4. Mountain Dew, 17 kr");


        int input = 0; //Skapa variabel för att ta emot input

        for (int i = 0; i < flaskor.Length; i++)
        {
            while (!int.TryParse(Console.ReadLine(), out input) || !(input <= 4 && input >= 1))  //Ser till att man bara kan skriva in vad programmet frågar efter.
            {
                Console.WriteLine("Fel inmatning. Var vänlig och välj bland alternativ ovanför.");

            }
            switch (input)
            {
                case 1:
                    Console.WriteLine("Du valde Fanta.");
                    flaskor[antal_flaskor] = new Flaska("Fanta", 10);
                    antal_flaskor++;
                    break;
                case 2:
                    Console.WriteLine("Du valde Coca-Cola.");
                    flaskor[antal_flaskor] = new Flaska("Coca-Cola", 15);
                    antal_flaskor++;
                    break;
                case 3:
                    Console.WriteLine("Du valde Sprite.");
                    flaskor[antal_flaskor] = new Flaska("Sprite", 9);
                    antal_flaskor++;
                    break;
                case 4:
                    Console.WriteLine("Du valde Mountain Dew.");
                    flaskor[antal_flaskor] = new Flaska("Mountain Dew", 17);
                    antal_flaskor++;
                    break;
                default:
                    Console.WriteLine("Fel inmatning. Var vänlig och välj bland alternativ ovanför.");
                    break;
            }
        }
    }

    public void print_crate()
    {
        for (int i = 0; i < flaskor.Length; i++)
        {
            if (flaskor[i] != null)
            {
                Console.WriteLine("Index: {0}. Namn: {1}, Pris: {2}", i, flaskor[i].Namn, flaskor[i].Pris);
            }
            else
            {
                Console.WriteLine("Tom plats.");
            }
        }
    }

    public int calc_total()
    {
        int summa = 0;
        for (int i = 0; i < antal_flaskor; i++)
        {
            summa += flaskor[i].Pris;
        }
        Console.WriteLine($"Det totala priset blir {summa} kr.");

        return summa;
    }


}

class Program
{
    public static void Main(string[] args)
    {
        //Skapar ett objekt av klassen Sodacrate som heter sodacrate
        Sodacrate Läskback = new Sodacrate();

        var sodacrate = new Sodacrate();

        sodacrate.Run();
        Läskback.print_crate();
        Läskback.calc_total();
        Läskback.add_soda();
        Console.WriteLine();
        Console.ReadKey(true);
    }
}
}