8 svar
766 visningar
matematikergbg behöver inte mer hjälp
matematikergbg 69 – Fd. Medlem
Postad: 28 okt 2020 14:41

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();
            
        }
    }
}

Hondel 1377
Postad: 28 okt 2020 15:01

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 69 – Fd. Medlem
Postad: 28 okt 2020 15:10

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();
            
        }
    }
}

Hondel 1377
Postad: 28 okt 2020 15:14

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

matematikergbg 69 – Fd. Medlem
Postad: 28 okt 2020 15:16

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 820 – Lärare
Postad: 28 okt 2020 15:51 Redigerad: 28 okt 2020 15:52

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 69 – Fd. Medlem
Postad: 28 okt 2020 15:59

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

Lindehaven 820 – Lärare
Postad: 28 okt 2020 19:34

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 Online 30472
Postad: 28 okt 2020 20:44

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

Svara
Close