2016-08-02 32 views
1

Ich bin neu in der Programmierung und ich muss den Code schreiben, der den ASCII-Wert eines Eingabezeichens drucken wird. Gibt es eine andere Möglichkeit, die 52 (26 für Kleinbuchstaben und 26 für die oberen) if-else Aussagen oder 52 switch-cases zu reduzieren?C++: Wie bedingte Anweisungen zu reduzieren

+1

Eine Lösung für dieses konkrete Problem sehen [diese Antwort] (http://stackoverflow.com/a/5030086/1051764) bewerten. – TerraPass

+0

Danke @TerraPass es funktioniert :) –

+1

@FirstStep Entschuldigung für die Verwirrung, ich habe meine Frage aktualisiert –

Antwort

2

Da es nicht klar ist, was Sie versuchen zu tun, ist Ihre Frage nicht sehr gut geschrieben. Ich denke jedoch, dass Sie einen Blick auf typecasting werfen müssen.

diese Aussage Versuchen Sie, die Zeichen an den entsprechenden ASCII-Wert zu konvertieren:

int output = (int)inputCharacter; 
1

Ja, schreibe einfach den Wert dieses Zeichens.

(int)ch; 

Beachten Sie, dass Sie benötigen entsprechende Code zu schreiben, je nachdem, ob Sie Unicode verwenden, und auch je nachdem, welche Methode Sie drucken (in der Regel am besten, ein wenig Code enthalten).

0

Sie können einfach ein char als int ausgeben, um den ASCII-Wert zu erhalten, und ein int als char, um das entsprechende Zeichen zu erhalten. Siehe This

+0

Whoops bekam das rückwärts. –

+0

Verwenden Sie nicht nur Links, fassen Sie deren Inhalt zusammen, da sie gelöscht oder beschädigt werden könnten. –

+0

Okay, Sie können nicht wirklich einfacher als das Zeichen als ein Int und umgekehrt –

0

Sie werfen den char als int oder einem anderen numerischen Typ kann. Zum Beispiel
(int) 'A'

werden bis 65.

+0

'65' nur mit Ascii, gibt es andere Zeichencodierung als [EBCDIC] (https://en.wikipedia.org/wiki/ EBCDIC) mit unterschiedlichem Wert. – Jarod42