WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   C switch statement (http://www.wcm.at/forum/showthread.php?t=115556)

K@sperl 15.11.2003 14:52

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;
}


SNo0py 15.11.2003 14:55

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

Code:

if(c <= a and c >= b) { ... }

Flink 17.11.2003 12:54

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.

kikakater 17.11.2003 13:13

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

sagi 17.11.2003 14:01

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

mfg

c.


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:30 Uhr.

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