Seite 1 von 1
char als immer groß definieren
Verfasst: Sonntag 18. November 2007, 12:50
von BlackDevil
Servus
ich hab folgendes stehen
Mein Code is nur etwas größer deshalb hier mal die Kurzversion!
ich möchte nun folgendes erreichen:
möchte also erreichen das egal was ich eingeb das ganze in der Variable als groß gespeichert wird. Das machts einfach als zu Prüfen ob der Deppe Benutzer das jetz groß oder klein geschrieben hat und egalisiert das ganze zusätzlich (is eleganter).
Uppercase soll das wohl machen aber mein MS Visual C++ meckert das das mit einem Char nich geht ^^
Hat jemand eine idee?
Verfasst: Sonntag 18. November 2007, 13:00
von Wanderer
Naja, CHAR und BYTE unterscheiden sich normal nicht. Schau dir die ASCII-Tabelle an und addiere einfach einen negativen Offset darauf (32) wenn der Wert zwischen 0x61 und 0x7a liegt.
EDIT: Brauchst du das fürs Studium/Ausbildung? Ansonsten würde ich dir empfehlen nimm 'ne Skriptsprache und mach dir das Leben leichter!
Verfasst: Sonntag 18. November 2007, 13:11
von BlackDevil
gibts da keinen befehl? Wollte nich schon wieder ne if anweisung ^^ weil sonst kann ich auch sagen
und so weiter
das wär totale arbeit und nich grad schöner Stil. Ein Befehl wäre mir ganz lieb das ich sowas wie uppercase verwende (das funzt nur nich ...)
Ja ich brauch das fürs Studium. Im Hobby würde ich Atmels Programmieren, da komm ich auch um C nich drum rum ^^ aber wir lernen in Sem.1 erstma C++
Verfasst: Sonntag 18. November 2007, 13:35
von BlackDevil
ah ch hab ne lösung gefunden
Geht ja im späteren Verlauf um die Auswertung als Switch Case
Code: Alles auswählen
switch(op){
case 'x':
case 'X':
STATEMENT
case 'o':
case 'O':
STATEMENT
}
usw
wunderbar. Danke
Verfasst: Sonntag 18. November 2007, 23:14
von Funkenschlosser
Schreib doch einfach:
char op;
cin >> op;
if('a' <= op && op <= 'z') // Ist es ein Kleinbuchstabe?
op -= ('a' - 'A'); // ja, dann ändern!
cout << op;
---
Warum immer so kompliziert.....
Funky
Verfasst: Montag 19. November 2007, 06:08
von jf27el
Gibt es das bei C nicht einfach den 2hoch7 Bit zu setzen?
Oder bin ich auf der komplett falschen Baustelle?
Gruß
jf27el
ctype
Verfasst: Montag 19. November 2007, 09:15
von Timo-23
Hallo,
in der "ctype" Bibliothek gibt es die Funktionen tolower() und toupper()
sie wandeln einen String in Klein- bzw. Großbuchstaben um.
Weitere Informationen findest du im OpenBook vom Galileo Verlag:
http://www.galileo-press.de/openbook/c_ ... 731F03618C
Gruß Timo
Verfasst: Dienstag 20. November 2007, 20:09
von BlackDevil
Wenn ich ne riesiege if schleife und nen switch case kram mach ... das is käse mach ich glei switch case
weniger fehler anfällig weil keine Logik
mit toupper hab ich probiert das löft nich
aber hab ja ne lösung