1 svar
32 visningar
ivana89 8
Postad: 27 mar 17:26

Väderstation del 2

Nu jobbar jag med den andra delen av uppgiften Väderstation. Jag är nästan klar med programmet men får upp ett litet fel.. under case: "S" är temp understrucken med rött på raden  for (int i = 0; i < temp.Length; i++)
Jag får upp felet Use of unassigned local variable 'temp'..
Jag har skapat vektorn temp under case "L": eftersom användaren ska ha möjlighet att välja själv hur många temperaturer hen vill lägga i.
Är det någon som kan hjälpa mig att lösa problemet?

bool minBool = true;
            
            while (minBool)
            {
                
                Console.WriteLine("\t[L]ägg till temperaturmätning" +
                    "\n\t[S]kriv ut alla temperaturer och medeltemperatur" +
                    "\n\t[T]a bort temperaturmätning" +
                    "\n\t[A]vsluta");
                
                Console.Write("Välj: ");
                string menyVal = Console.ReadLine();
                
                switch (menyVal.ToUpper())
                {
                    case "L":
                        Console.Write("Ange antal temperaturer som du har mätt upp: ");
                        string str = Console.ReadLine();
                        int size = Convert.ToInt32(str);
                        double[] temp = new double[size];
                        for (int i = 0; i < temp.Length; i++)
                        {
                            //Läs in värdet
                            Console.Write("Ange temperatur " + i + ": ");

                            double element = double.Parse(Console.ReadLine());
                            //Lägg in värdet i vektorn på index i
                            temp[i] = element;
                        }
                        break;
                    case "S":
                        
                        double summa = 0;
                        for (int i = 0; i < temp.Length; i++)
                        {
                            Console.WriteLine("Temperaturerna är: " + temp[i]);
                            summa = summa + temp[i];


                        }
                        Console.WriteLine("Medans medelsumman för dom är: " + summa / temp.Length);

                        Console.ReadLine();
                        break;
                    case "T":
                        Console.WriteLine("Välj ett index för vilken temperatur du vill ta bort : ");

                        for (int i = 0; i < temp.Length; i++)
                        {
                            Console.WriteLine("Index: {0} Tal: {1}", i, temp[i]);

                        }
                        Int32.TryParse(Console.ReadLine(), out int index);

                        if (index >= 0 && index < temp.Length) // Kollar så att indexvärdet är högre än noll och mindre än längden av vektorn. Felhantering

                        {

                            Console.WriteLine("Du valde index: " + temp[index]);

                        }
                        Console.WriteLine("Vill du skriva en ny temperatur? j/n");
                        string svar =Console.ReadLine();
                        if (svar == "j" || svar == "J")
                        {
                            Console.WriteLine("Skriv in en ny temperatur: ");
                            double nytt = Convert.ToDouble(Console.ReadLine());
                            temp[index] = nytt;
                        }
                        else
                        {

                        }
                        break;
                        
                    case "A":
                        minBool = false;
                        break;
                    default:
                        Console.Clear();
                        Console.WriteLine("\n\tOgiltligt val, välj ett menyval mellan L, S, T eller A!");
                        Console.ReadLine();
                        break;

                }
            }

                
        
emilg 440
Postad: 29 mar 15:23

Du kan inte använda temp som är deklarerad under case "L" under "S". 

Svara Avbryt
Close