Search code examples
c#methodsstaticprogram-entry-pointvoid

Why isnt the Main running?


what have I done wrong to not get this to work? The program is not done but I need to know what im doing wrong with the "static void main" I´ve looked at this for several hours trying to find whats wrong at google and so, but I really cant understand. Probably the whole code is wrong but I just want answer for the main issue the rest I will look at later.

the Main is not running: here is a picture of error

another one for more of the code another one

  static void Main(string[] args)
{
    string[] ämnen = { "Matematik", "Svenska", "Engelska", "Historia", "Fysik" };
    int[] poäng = new int[5];
    char[] betyg = new char[6];
    Laspoang(ämnen, poäng);
    Af(ämnen, poäng, betyg);
    SkrivUtBetyg(ämnen, poäng, betyg);

    
    bool avsluta = false;
    while (!avsluta)

        Console.Write("[A]skriv betyg i A-F\n");
        Console.Write("[B]statistik\n");
        Console.Write("[C]skriv ut betyg\n");
        Console.Write("[D]avsluta\n");
        Console.WriteLine("\nDitt val: ");

        char menyVal;

        menyVal = Console.ReadLine()[0];

    switch (menyVal)

    {

        case 'a':
        case 'A':

            Af(ämnen, poäng, betyg);

            break;



        case 'b':
        case 'B':

            stat(ämnen, poäng, betyg);
            break;

        case 'c':
        case 'C':
            //ej klar

            break;

        case 'd':
        case 'D':

            Console.WriteLine("Hejdå");

            avsluta = true;

            break;

    }   }        
    static void Laspoang(string[] ämnen, int[] poäng)
    {
        int poängen;
        for (int i = 0; i < ämnen.Length; i++)
        {
            Console.WriteLine("Mata in poängen mellan 0-100 för " + ämnen[i] + ": ");
            poängen = Convert.ToInt32(Console.ReadLine());
            poäng[i] = poängen;
        }
    }
    static void Af(string[] ämnen, int[] poäng, char[] betyg)
    {
        for (int i = 0; i < ämnen.Length; i++)
        {
            if (poäng[i] > 90 && poäng[i] <= 100)
                betyg[i] = 'A';
            else if (poäng[i] > 80)
                betyg[i] = 'B';
            else if (poäng[i] > 70)
                betyg[i] = 'C';
            else if (poäng[i] > 60)
                betyg[i] = 'D';
            else if (poäng[i] >= 50)
                betyg[i] = 'E';
            else if (poäng[i] >= 0)
                betyg[i] = 'F';
            else
                betyg[i] = '!';
            Console.WriteLine(ämnen[i] + "= " + betyg[i]);
        }
    }
    static void stat(string[] ämnen, int[] poäng, char[] betyg)
    {
        int betyga = 0;
        int betygb = 0;
        int betygc = 0;
        int betygd = 0;
        int betyge = 0;
        int betygf = 0;
        int poängtot = 0;

        for (int i = 0; i < poäng.Length; i++)
        {
            if (poäng[i] > 90 && poäng[i] <= 100)
                betyga++;
            else if (poäng[i] > 80)
                betygb++;
            else if (poäng[i] > 70)
                betygc++;
            else if (poäng[i] > 60)
                betygd++;
            else if (poäng[i] >= 50)
                betyge++;
            else if (poäng[i] >= 0)
                betygf++;
            else
                betyg[i] = '!';

        }
        Console.WriteLine("antal A: " + betyga);
        Console.WriteLine("antal B: " + betygb);
        Console.WriteLine("antal C: " + betygc);
        Console.WriteLine("antal D: " + betygd);
        Console.WriteLine("antal E: " + betyge);
        Console.WriteLine("antal F: " + betygf);

        for (int i = 0; i < poäng.Length; i++)
        {
            poängtot = poängtot + poäng[i];
        }
        Console.WriteLine("totala poäng: " + poängtot);
    }
    static void SkrivUtBetyg(string[] ämnen, int[] poäng, char[] betyg)
{

}     


    

Solution

  • Short answer: you need to have it inside a Program tag.

    Have this a go

    using System;
    
    class Program
    {
        static void Main(string[] args)
        {
            string[] ämnen = {"Matematik", "Svenska", "Engelska", "Historia", "Fysik"};
            int[] poäng = new int[5];
            char[] betyg = new char[6];
            Laspoang(ämnen, poäng);
            Af(ämnen, poäng, betyg);
            SkrivUtBetyg(ämnen, poäng, betyg);
            bool avsluta = false;
            while (!avsluta)
                Console.Write("[A]skriv betyg i A-F\n");
            Console.Write("[B]statistik\n");
            Console.Write("[C]skriv ut betyg\n");
            Console.Write("[D]avsluta\n");
            Console.WriteLine("\nDitt val: ");
            char menyVal;
            menyVal = Console.ReadLine()[0];
            switch (menyVal)
            {
                case 'a':
                case 'A':
                    Af(ämnen, poäng, betyg);
                    break;
                case 'b':
                case 'B':
                    stat(ämnen, poäng, betyg);
                    break;
                case 'c':
                case 'C':
                    //ej klar
                    break;
                case 'd':
                case 'D':
                    Console.WriteLine("Hejdå");
                    avsluta = true;
                    break;
            }
        }
    
        static void Laspoang(string[] ämnen, int[] poäng)
        {
            int poängen;
            for (int i = 0; i < ämnen.Length; i++)
            {
                Console.WriteLine("Mata in poängen mellan 0-100 för " + ämnen[i] + ": ");
                poängen = Convert.ToInt32(Console.ReadLine());
                poäng[i] = poängen;
            }
        }
    
        static void Af(string[] ämnen, int[] poäng, char[] betyg)
        {
            for (int i = 0; i < ämnen.Length; i++)
            {
                if (poäng[i] > 90 && poäng[i] <= 100)
                    betyg[i] = 'A';
                else if (poäng[i] > 80)
                    betyg[i] = 'B';
                else if (poäng[i] > 70)
                    betyg[i] = 'C';
                else if (poäng[i] > 60)
                    betyg[i] = 'D';
                else if (poäng[i] >= 50)
                    betyg[i] = 'E';
                else if (poäng[i] >= 0)
                    betyg[i] = 'F';
                else
                    betyg[i] = '!';
                Console.WriteLine(ämnen[i] + "= " + betyg[i]);
            }
        }
    
        static void stat(string[] ämnen, int[] poäng, char[] betyg)
        {
            int betyga = 0;
            int betygb = 0;
            int betygc = 0;
            int betygd = 0;
            int betyge = 0;
            int betygf = 0;
            int poängtot = 0;
            for (int i = 0; i < poäng.Length; i++)
            {
                if (poäng[i] > 90 && poäng[i] <= 100)
                    betyga++;
                else if (poäng[i] > 80)
                    betygb++;
                else if (poäng[i] > 70)
                    betygc++;
                else if (poäng[i] > 60)
                    betygd++;
                else if (poäng[i] >= 50)
                    betyge++;
                else if (poäng[i] >= 0)
                    betygf++;
                else
                    betyg[i] = '!';
            }
    
            Console.WriteLine("antal A: " + betyga);
            Console.WriteLine("antal B: " + betygb);
            Console.WriteLine("antal C: " + betygc);
            Console.WriteLine("antal D: " + betygd);
            Console.WriteLine("antal E: " + betyge);
            Console.WriteLine("antal F: " + betygf);
            for (int i = 0; i < poäng.Length; i++)
            {
                poängtot = poängtot + poäng[i];
            }
    
            Console.WriteLine("totala poäng: " + poängtot);
        }
    
        static void SkrivUtBetyg(string[] ämnen, int[] poäng, char[] betyg)
        {
        }
    }