svamp Skrevet 4. oktober 2004 Del Skrevet 4. oktober 2004 På denne koden får jeg 5 feilmeldinger. Alle er nesten like; "Kan ikke konvertere typen double til int (CS0029)" bortsett fra at på noen står det "typen int til bool" i stedet for. Får erroren på linje 30,31,45,48 og 50 (merket med piler i koden) using System; class clsAndregrad { static void Main() { int intA; int intB; int intC; int intM1; int intM2; int intM3; int intM4; Console.WriteLine("Andregradslikning: aX^2 + bX + c"); Console.Write("Oppgi a: "); intA = Convert.ToInt32(Console.ReadLine()); Console.Write("Oppgi b: "); intB = Convert.ToInt32(Console.ReadLine()); Console.Write("Oppgi c: "); intC = Convert.ToInt32(Console.ReadLine()); --> intM1 = Math.Pow(intB,2) - (4 * intA * intC); --> if(intM1 << 0) { Console.WriteLine("Likninga har inga løysing."); Console.Write("Klikk for å avslutte."); string strAvslutt = Console.ReadLine(); } else { intM2 = -intB / (2 * intA); if(intM1 == 0) { Console.WriteLine("Løysinga er {0}", intM2); } --> if(intM1 >> 0) { intM3 = (-intB + Math.Sqrt(intM1) / (2 * intA)); /* --> Console.WriteLine("Løysing 1: {0}", intM3); intM4 = (-intB - Math.Sqrt(intM1) / (2 * intA)); --> Console.WriteLine("Løysing 2: {0}", intM4); } } } } Noen som vet hvorfor jeg får disse feilmeldingene? Har prøvd å sette Convert.ToInt32 og prøvd med en del variabeltyper, men det hjelper ikke. Lenke til kommentar
iobas Skrevet 4. oktober 2004 Del Skrevet 4. oktober 2004 nå kan ikke jeg c# så jeg bare gjetter. men Math.Pow tar to argumenter av typen double og du gir den en int. man skulle vel tro at den klarte å implisitt konvertere int til double, men du kan prøve å caste (hvis slikt noe finnes i c#) til double. Lenke til kommentar
svamp Skrevet 5. oktober 2004 Forfatter Del Skrevet 5. oktober 2004 Har nå satt Convert.ToInt32 rundt Math.Pow(intB, 2). Da forsvant erroren på den linja. Men så var det den neste, der jeg sammenligner intM1 og 0 slik: if(intM1 << 0) Får problemer her og, feilmeldingen "Kan ikke konvertere int til bool (CS0029)". Lenke til kommentar
svamp Skrevet 5. oktober 2004 Forfatter Del Skrevet 5. oktober 2004 Jeg tok vekk det ene <-tegnet, og da forsvant feilmeldingen på sammenligningene. Men andregradsligningene blir enda ikke regnet rett ut, så jeg har vel gjort noe mer feil Lenke til kommentar
MagneH Skrevet 6. oktober 2004 Del Skrevet 6. oktober 2004 Det er feil parenteser i utregningene: intM3 = (-intB + Math.Sqrt(intM1)) / (2 * intA); intM4 = (-intB - Math.Sqrt(intM1)) / (2 * intA); Lenke til kommentar
svamp Skrevet 6. oktober 2004 Forfatter Del Skrevet 6. oktober 2004 Hei Jeg oppdagde det samme etter en stund. Programmet fungerer nå. Takk for hjelpen! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå