Palmy Skrevet 23. mai 2004 Del Skrevet 23. mai 2004 Noen her som kan se hva som er galt med denne koden. Jeg får komplikert kodene men får opp en feilmelding når jeg skal kjøre programmet. using System; class sample { public static void Main() { // Deklarere variabler int radius = 4; const double PI = 3.14159; double area; // Foreta beregning area = PI * radius * radius; // Skriv ut resiltatet Console.WriteLine("Radius = { 0} , PI = { 1} ", radius , PI ); Console.WriteLine("Arealet er { 0} ", area ); } } Lenke til kommentar
Dead_Rabbit Skrevet 23. mai 2004 Del Skrevet 23. mai 2004 Jeg kan engentlig ingenting om C# jeg da, men siden det er en del språk som har forholdsvis lik syntaks så tengte jeg at jeg kunne prøve alike vel. Så her kommer mitt forslag(sikkert feil da men ): Skal ikke class ende med semikolon? slik at koden (tar bare den nederste biten) vil bli sånn: // Foreta beregning area = PI * radius * radius; // Skriv ut resiltatet Console.WriteLine("Radius = { 0} , PI = { 1} ", radius , PI ); Console.WriteLine("Arealet er { 0} ", area ); } }; ? Lenke til kommentar
Gazette Skrevet 23. mai 2004 Del Skrevet 23. mai 2004 Du har noen mellomrom i klammeparantesene i WriteLine-funksjonene, fjern disse. Gjør dem om til koden nedenfor: Console.WriteLine("Radius = {0} , PI = {1} ", radius , PI ); Console.WriteLine("Arealet er {0} ", area ); zirener: i C# skal ikke klassene avsluttes med semikolon. Du tenker vel kanskje på klasse-definisjoner i C++? Lenke til kommentar
Manfred Skrevet 23. mai 2004 Del Skrevet 23. mai 2004 (endret) de mellomrommene har da ingenting å si? zirener: class skal ikke avsluttes med et ; så langt jeg veit, så skal main-funksjonen defineres static void Main() { ... } og ikke public static void Main() { ... } Dette er java-måten å definere det på... Jeg har også alltid en namespace rundt hele filen, men er litt usikker på om dette er påkrevd... edit: kompilere (kom-pi-lere), ikke komplikere Endret 23. mai 2004 av Manfred Lenke til kommentar
j000rn Skrevet 25. mai 2004 Del Skrevet 25. mai 2004 Feilen du fikk var Unhandled Exception: System.FormatException: Input string was not in a correct f ormat. at System.Text.StringBuilder.FormatError() at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String fo rmat, Object[] args) at System.String.Format(IFormatProvider provider, String format, Object[] arg s) at System.IO.TextWriter.WriteLine(String format, Object arg0, Object arg1) at System.IO.SyncTextWriter.WriteLine(String format, Object arg0, Object arg1 ) at System.Console.WriteLine(String format, Object arg0, Object arg1) at sample.Main() in d:\projects\test11\class1.cs:line 19 Dette var på grunn av mellomrom mellom tegnene i {0} , osv... Fjern mellomrommene så får man: Radius = 4 , PI = 3,14159 Arealet er 50,26544 - jørn Lenke til kommentar
Dead_Rabbit Skrevet 26. mai 2004 Del Skrevet 26. mai 2004 (endret) zirener: class skal ikke avsluttes med et ; Nei jeg blanda med struct...(i C++ da) Edit:Litt offtopic da... Endret 26. mai 2004 av zirener Lenke til kommentar
Manfred Skrevet 28. mai 2004 Del Skrevet 28. mai 2004 ja, gå og skam deg, zirener Lenke til kommentar
Palmy Skrevet 4. juni 2004 Forfatter Del Skrevet 4. juni 2004 Takk skal dere ha alle sammen... Lenke til kommentar
Palmy Skrevet 7. juni 2004 Forfatter Del Skrevet 7. juni 2004 Jeg har problemer med en annen kode. Fikk beskjed om: "(47,22): error CS1009: Unrecognized escape sequence" 40: catch (System.IO.FileNotFoundException) 41: { 42: Console.WriteLine ("ListIT could not find the file{0} ", args[0]); 43: } 44: 45: catch (Exceotion e) 46: { 47: Console.WriteLine("Exception: {0} \ n\ n", e); 48: } Lenke til kommentar
Z_IM Skrevet 7. juni 2004 Del Skrevet 7. juni 2004 catch (System.Exception e) { } 45: catch (Exceotion e) //Du bomma litt Exception 46: { 47: Console.WriteLine("Exception: {0} \ n\ n", e); 48: } Lenke til kommentar
Gråskjegg Skrevet 7. juni 2004 Del Skrevet 7. juni 2004 47: Console.WriteLine("Exception: {0} \ n\ n", e); Et mellomrom for mye i linje 47; det skal ikke være mellomrom mellom \ og n. Og det er også det feilmeldingen sier; det er en feil i linje 47 - og det er escape sequence (mao '\') som er synderen. Forøvrig er det bedre å bruke Environment.Newline, men det er en annen sak. - grå - Lenke til kommentar
Palmy Skrevet 3. juli 2004 Forfatter Del Skrevet 3. juli 2004 Tusen takk for hjelpen Lenke til kommentar
Palmy Skrevet 19. juli 2004 Forfatter Del Skrevet 19. juli 2004 Jeg har gjort noe feil igjen i ett lite program. Kan dere forklare meg hva feilen jeg har gjort er så ville det være veldig hyggelig. Jeg har en logisk feil i denne koden, men vet ikke hva det er. Når jeg kjører programmet skal den spørre først etter Watten så skal jeg skrive verdien inn, og når jeg da trykker på enter skal den spørre etter Volten. Men i stede spør den bare etter watten og når jeg trykker enter etter å ha skrevet watt verdien, skriver den bare ut at jeg skal skrive verdien på volten og amp'en. Kan du forklare meg hva som jeg gjør galt? using System; class EasyEffekt { public static void Main() { // opprette variablene int watt; int volt; int amp; // tilføre verdiene til variablene System.Console.WriteLine("\nSkriv Watt verdien her:"); watt = System.Console.Read(); System.Console.WriteLine("\nSkriv Volt verdien her:"); volt = System.Console.Read(); System.Console.WriteLine("\nSkriv Apere verdien her:"); amp = System.Console.Read(); // starte utregning if (watt == 0) { watt = volt * amp; System.Console.WriteLine("\nEffekten er {0}", watt); } else if (volt == 0) { volt = watt / amp; System.Console.WriteLine("\nVolten er {0}", watt); } else if (amp == 0) { amp = watt / volt; System.Console.WriteLine("\nAmperen er {0}", amp); } else { System.Console.WriteLine("Du har skrevet en annen verdi på det alternativet du vil ha svar på enn '0'!"); } } } Lenke til kommentar
j000rn Skrevet 19. juli 2004 Del Skrevet 19. juli 2004 Hmm, hvorfor bruker du fortsatt denne tråden istedenfor å starte en ny? Tilbake til spørsmålet... prøv å bruke ReadLine for å lese verdier isteden... Lenke til kommentar
Palmy Skrevet 20. juli 2004 Forfatter Del Skrevet 20. juli 2004 Grunnen til at jeg fortsatt bruker den tråden er vel at jeg ikke er kommet langt nok i boka til å ha lært å gjøre det annerledes Når jeg bruker ReadLine fikk jeg kompilerings feil. Får i linjene med "ReadLine" at "Cannot implicitly convert type 'string' to 'int'. Vet du hvordan jeg kan løse det? Men hva er egentlig forskjellen på "Read" og "ReadLine". Og hva er forskjellen på "WriteLine" og "Write" Lenke til kommentar
alftore Skrevet 20. juli 2004 Del Skrevet 20. juli 2004 Grunnen til at jeg fortsatt bruker den tråden er vel at jeg ikke er kommet langt nok i boka til å ha lært å gjøre det annerledes Når jeg bruker ReadLine fikk jeg kompilerings feil. Får i linjene med "ReadLine" at "Cannot implicitly convert type 'string' to 'int'. Vet du hvordan jeg kan løse det? Men hva er egentlig forskjellen på "Read" og "ReadLine". Og hva er forskjellen på "WriteLine" og "Write" string str = Console.ReadLine(); Du har antageligvis prøvd med: int i = Console.ReadLine(); Prøv int i = Convert.ToInt32(Console.ReadLine()); Forskjellen på read og readline er at read bare leser et tegn mens readline leser til neste linjeskift. Forskjellen på write og writeline er at writeline legger til en linjeskift. Lenke til kommentar
Palmy Skrevet 22. juli 2004 Forfatter Del Skrevet 22. juli 2004 Takk skal du ha. Må teste dette. Lenke til kommentar
Palmy Skrevet 22. juli 2004 Forfatter Del Skrevet 22. juli 2004 DET FUNKET TUSEN TAKK 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å