8 svar
135 visningar
matematikergbg är nöjd med hjälpen!
matematikergbg 58
Postad: 28 okt 2020

Kod funkar inte? (Ska fråga efter ålder och räkna antal år kvar till pension)

Hej, så har jag skrivit än så länge men den funkar inte, vad beror det på. 

namespace Kvar_till_pensionen
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Vad heter du i förnam?");
            string förnamn=Console.ReadLine();
            Console.WriteLine("Vad heter du i efternamn");
            string efternamn=Console.ReadLine();
            
            Console.WriteLine("Hur gammal är du");
            string ålder=Console.ReadLine();
            string kvartillpension=60--(ålder);
            
            Console.WriteLine(("Hej")+ förnamn + efternamn ("Du har") + kvartillpension ("år kvar till pensionen"));
            Console.ReadLine();
            
        }
    }
}

Jag har inte programmerat i C#, men är det inte lite konstigt att du säger att ”ålder” och ”kvartillpension” ska vara en sträng? När den då försöker subtrahera de två lär det inte fungera som du tänkt. Prova att deklarera dem som int (dvs heltal)

matematikergbg 58
Postad: 28 okt 2020

Här gjort det, men funkar inte fortfarande.

namespace Kvar_till_pensionen
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Vad heter du i förnam?");
            string förnamn=Console.ReadLine();
            Console.WriteLine("Vad heter du i efternamn");
            string andranamn=Console.ReadLine();
            
            Console.WriteLine("Hur gammal är du");
            int ålder=Console.ReadLine();
            int dinålder=ålder;
            int pension=65-dinålder;
            
            Console.WriteLine(("Hej")+ förnamn + andranamn +  ("Du har") + pension ("år kvar till pensionen"));
            Console.ReadLine();
            
        }
    }
}

Vad är det som inte fungerar? Får du några felmeddelanden? 

matematikergbg 58
Postad: 28 okt 2020

jag får de här felmeddelande

            - 'pension' is a 'variable' but is used like a 'method' (CS0118) 
            - Cannot implicitly convert type 'string' to 'int' (CS0029) 

Lindehaven Online 568 – Leg. Lärare
Postad: 28 okt 2020 Redigerad: 28 okt 2020

Felmeddelanden säger vad felen är så de är bra hjälp om man tar sig tid att läsa och förstå dem.

pension ("år kvar till pensionen") ser ut som ett funktionsanrop och det går inte eftersom pension är en variabel och inte en funktion.

matematikergbg 58
Postad: 28 okt 2020

så jag vill få resultaten av int pension=65-dinålder framför ("år kvar till pensionen") Hur?

sedan vad är felet med det här: 

            Console.WriteLine("Hur gammal är du");
            int ålder=();
            Console.ReadLine();

Tacksam för förklaring

Console.WriteLine("Hej " + förnamn + " " + efternamn + ". Du har " + kvartillpension + " år kvar till pensionen");

Deklarationen tilldelar det otillåtna värdet () till variabeln ålder. Skriv t ex enbart

int ålder;

Laguna 11780
Postad: 28 okt 2020

Nu kan jag ju inte C#, men jag skulle säga att () är odefinierat, och inte representerar något värde. 

Svara Avbryt
Close