WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 15.11.2003, 14:52   #1
K@sperl
bitte Mailadresse prüfen!
 
Registriert seit: 03.04.2001
Beiträge: 2.387


Standard C switch statement

Wie kann ich beim C switch Statement prüfen, ob die Var. in einem gewissen Bereich ist?
Ich bin grad dabei einen Parser zu schreiben, und möchte, falls das aktuelle Zeichen ein Buchstabe ist, mit den nachfolgenden einen String zusammenbauen.

Bsp:
Code:
char c;

switch (c) {
  case c => 'a' und c <= 'z': do_something;
}
K@sperl ist offline   Mit Zitat antworten
Alt 15.11.2003, 14:55   #2
SNo0py
Inventar
 
Registriert seit: 08.02.2000
Beiträge: 1.696


Standard

Soweit ich weiß geht das mit C nicht. Da musst du geschachtelte if-Anweisungen verwenden:

Code:
if(c <= a and c >= b) { ... }
____________________________________
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you.
SNo0py ist offline   Mit Zitat antworten
Alt 17.11.2003, 12:54   #3
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Standard

Leider ist das nicht möglich.
Code:
switch( expression )
{
[case constant-expression:]
. . . 
[statement]
. . . 
[default:
statement] 
}
Es funktioniert auch nur bei char, byte, short und int.
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten
Alt 17.11.2003, 13:13   #4
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

Es geht sehr wohl, aber nur durch die Zuweisung eines "Aggregat"-Zustandes an eine Variable vor dem Switch Konstrukt.

Code:
if((zeichen>='a' && zeichen<='z') || (zeichen>='A' && zeichen<='Z')) aggregat=1;
else if(zeichen>='0' && zeichen<='9') aggregat=2;
else aggregat=0;

switch(aggregat)
{
 case 1:
  add_alpha_char_to_string(string,zeichen);
  break;

  ...

 case 0:
  ...
  break;
}
mfg
Kikakater
kikakater ist offline   Mit Zitat antworten
Alt 17.11.2003, 14:01   #5
sagi
Elite
 
Registriert seit: 08.11.2001
Alter: 42
Beiträge: 1.285


Standard

vielleicht bringt das: http://www.pronix.de/C/standard_C/c_...ung_11.shtml#7 ein wenig Licht ins Dunkel

mfg

c.
____________________________________
www.sagmueller.net

Freedom - use it or lose it (Lawrence Lessig)

Im übrigen bin ich der Meinung, dass Microsoft zerschlagen werden muss.
sagi ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:17 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag