indtastning af værdier i console bliver ændret (begynder problem)

Tags:    c#

Hej

Et simpelt program jeg ikke kan få til at virke.

I konsollen skal jeg indgive nogle værdier. Programmet laver så selv værdierne om. Fatter ikke hvad der sker.

Her er programmet og dertilhørende klasse:

Fold kodeboks ind/udCSharp kode 


Her er klassen bog:

Fold kodeboks ind/udCSharp kode 








3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 7 karma
Sorter efter stemmer Sorter efter dato
Hejsa

Console.Read() returnerer ikke den numeriske værdi, men der i mod tal-koden for tasten der bliver trykket.

Skal du læse en numerisk værdi fra Console.Read() som en int, så skal du gøre følgende:

Fold kodeboks ind/udCSharp kode 


Jeg ville dog bruge Console.ReadLine() i stedet, for at man kan indtaste tal større end 9:

Fold kodeboks ind/udCSharp kode 


Dog skal du være opmærksom på, at med det her vil dit program gå ned, hvis ikke du validerer inputs. Men det kan jo være dit næste skridt :)



Hej Nicky

Tak for dit svar - det var lige hvad jeg kunne bruge.

Men programmet går altså ikke ned - er det vigtigt at kunne validere inputs (lyder bøvlet)?

Venligst
Gorm


:-) Det er ikke bare vigtigt, men alt afgørende. Så det skal du ALTID gøre. Det værste du kan risikere er, at brugere med onde hensigter, kan taste noget ind der får dit program / en hjemmeside til at gå ned og de derved får adgang til andre ting. Måske risikerer du bare at de får en fejlbesked (exception) som ingen forstår og det er ikke særlig brugervenligt.

Så ja, du skal altid kvalitetssikre dit program.






Hej Nicky

Tak for dit svar - det var lige hvad jeg kunne bruge.

Men programmet går altså ikke ned - er det vigtigt at kunne validere inputs (lyder bøvlet)?

Venligst
Gorm



t