Avatar billede BDV Juniormester
23. september 2018 - 12:28 Der er 5 kommentarer

array i en en case

Er det muligt at få en array i min case 5? Er det også muligt at få array fra case 5 til at kunne beregne gennemsnit fra nogle tal som man indtaster fra console applicationen (cmd)

Her er min kode

namespace ConsoleApp11
{
    class Program
    {
        public static int[] GennemsnitTal;
        static void Main(string[] args)
        {
            int b = new int();
            int a = new int();
            double valg;
            double resultat = 0;
            int tal = 1;
       

            do
            {
                Console.WriteLine("1. Plus ");
                Console.WriteLine("2. Minus ");
                Console.WriteLine("3. Gange ");
                Console.WriteLine("4. Division ");
                Console.WriteLine("5. Gennemsnit ");
                Console.WriteLine("6. Procent ");
                Console.WriteLine("7. Modulus ");
                Console.WriteLine("8. Afslut ");
                Console.WriteLine("9. Lav dit valg (1-8): ");


                if (tal == 5)
                {
                    Console.WriteLine("5. Gennemsnit ");
                }
                else
                {
                    Console.WriteLine("Indtast det første tal ");
                    a = int.Parse(Console.ReadLine());
                    Console.WriteLine("Indtast det andet tal ");
                    b = int.Parse(Console.ReadLine());
                }

                valg = double.Parse(Console.ReadLine());

                switch (valg)
                {
                    case 1:
                        resultat = a + b;
                        break;

                    case 2:
                        resultat = a - b;
                        break;

                    case 3:
                        resultat = a * b;
                        break;

                    case 4:
                        resultat = a / b;
                        break;

                    case 5:                   
                     
                        break;

                    case 6:
                        resultat = (a / b) * 100;
                        break;

                    case 7:
                        resultat = a % b;
                        break;

                    case 8:

                        break;

                    default:
                        Console.WriteLine("Error");
                        break;

                }
                Console.WriteLine(value: a.ToString() + " " + valg + " " + .ToString() + " = " + resultat.ToString());
                Console.ReadKey();

            } while (true);

        }

    }

}
Avatar billede softspot Forsker
23. september 2018 - 12:46 #1
Hvis man får et kommasepareret input, kunne man vel splitte ved komma, konvertere og beregne gennemsnittet...

var a = Console.ReadLine();
var avg = a.Split(',').Select(i => i.ToInt32()).Avg(i => i);

eller noget i den stil.
Avatar billede softspot Forsker
23. september 2018 - 12:52 #2
OK, ToIn32 er vist en af mine egne opfindelser :)

Prøv denne i stedet

var avg = a.Split(',').Select(i => Convert.ToInt32(i)).Average(i => i);
Avatar billede BDV Juniormester
23. september 2018 - 13:32 #3
Nu kommer den med denne error:

CS1061 'int' does not contain a definition for 'Split' and no accessible extension method 'Split' accepting a first argument of type 'int' could be found (are you missing a using directive or an assembly reference?)
Avatar billede arne_v Ekspert
23. september 2018 - 15:37 #4
Samme loesning som softspot:


using System;
using System.Linq;

namespace E
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.Write("Enter numbers separated by space> ");
            String line = Console.ReadLine();
            int[] a = line.Split(' ').Select(s => int.Parse(s)).ToArray();
            double ea = a.Average();
            Console.WriteLine(ea);
            Console.ReadKey();
        }
    }
}
Avatar billede arne_v Ekspert
23. september 2018 - 15:37 #5
Husk at det su skal splitte skal vaere en string ikke en int.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester