Tjekke float'en/char'en

Tags:    c++

Hej...

Jeg har fået lidt lektier for i programmering, og regnede ikke med det var noget problem, men jeg måtte tro om igen...

Jeg skal lave et program hvor man skal skrive 2 tal, som den så kan * / + og -, denne del var intet problem, men så skal vi lave sådan at den udskriver en tekst så som: dette er ikke et tal, hvis man indtaster andet end et tal...

Troede dette kunne klares med switch, men det er alt for besværligt at lave en case for hvert bogstav i alfabetet...

Så troede jeg at jeg kunne bruge isdigit, men så kunne jeg ikke bruge tal over 9... Så kender i en måde jeg kan lave det på?

Fold kodeboks ind/udKode 




6 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Nu koder jeg ikke selv så meget C/C++ endnu, men jeg så et eksempel i en bog på et tidspunkt

Fold kodeboks ind/udKode 




hvis inputet er i ascii form tallene 0-9 har ascii koderne 0x30h - 0x39h (48 - 57)
'/' = 0x2fh (47)
'+' = 0x2bh (43)
'*' = 0x2ah (42)
'-' = 0x2dh (45)
og det er vel i hvirkeligheden alt hvad du har brug for, for at lave dine conditional statements.

Jeg har iøvrigt også problemer med at forstå dit problem. det er tæmmelig vagt formuleret, men jeg håber da at du kan bruge hvad jeg har skrevet alligevel.



Hvad med try catch



øh... kan ikke helt se hvordan det skulle virke?!



Jeg forstår ikke rigtigt spørgsmålet.
Er problemet at det går galt når brugeren skriver noget der ikke er et tal, når han bliver bedt om det eller er problemet at finde ud af hvilken operation der skal bruges?



Det var hvad man skulle bruge af funktion, så den kun tillod tal at komme igennem, og meldte fejl hvis man skrev et bogstav, men jeg har fået det til at virke med en if(isdigit(x)) eller man kan bruge if(cin >> x)



t