switch ... case

Lese­zeit: 3 Minu­ten

Genau wie ➨if .. else kann switch – case Abfra­gen durch­füh­ren.

Bei­spiel Abfra­ge einer Zahl:

void setup()
{
  Serial.begin(9600);
 
  // Zufallsgenerator starten
  randomSeed(analogRead(0));
 
  // Zufallszahl bestimmen
  int zahl = random(1, 3);
  
  Serial.print("Zufallszahl: ");
 
  // Zufallszahl anzeigen
  switch (zahl)
  {
    case 1:
      Serial.print("1"); 
      break;
    case 2:
      Serial.print("2");
      break; 
    case 3:    
      Serial.print("3");   
      break;
  } 
}

void loop()
{ 
  // nichts zu tun, Programm läuft nur einmal
}

Bei­spiel Abfra­ge eines Zei­chens (char)

Array

// Array erstellen
char Buchstaben[] = {"aeiou"};

void setup()
{
  Serial.begin(9600);

  // Zufallsgenerator starten
  randomSeed(analogRead(0));

  // Zählung des Arrays beginnt mit 0  
  int Minimum = 0; 

  // Maximum ist die Länge des Arrays (sizeof)
  int Maximum = sizeof(Buchstaben); 

  // Zufallselement bestimmen 
  int Element =  random(Minimum, Maximum);

  // Buchstabe anzeigen 
  switch (Buchstaben[Element])
  {
    case 'a':     
      Serial.print("a");   
      break; 
    case 'e':
      Serial.print("e");    
      break;  
    case 'i':   
      Serial.print("i"); 
      break; 
    case 'o': 
      Serial.print("o");
      break;  
    case 'u': 
      Serial.print("u"); 
      break; 
  } 
} 

void loop() 
{ 
  // nichts zu tun, Programm läuft nur einmal
} 

Bei­spiel Abfra­ge eines Wer­te­be­reichs:

// wird für switch ... case bei der Abfrage von Wertebereichen benötigt 
# include <stdio.h> 
int Minimum = 1; 
int Maximum = 100; 

void setup() 
{ 
  Serial.begin(9600); 

  // Zufallsgenerator starten 
  randomSeed(analogRead(0));
}

void loop() 
{ 
  int Zahl =  random(Minimum, Maximum); 
  switch (Zahl) 
  { 
    case 1 ... 20: 
      Serial.println("Die Zahl liegt zwischen 1 und 20!"); 
      break; 
    case 21 ... 40: 
      Serial.println("Die Zahl liegt zwischen 21 und 40!"); 
      break; 
    case  41 ... 60: 
      Serial.println("Die Zahl liegt zwischen 41 und 60!"); 
      break; 
    case 61 ... 80:
      Serial.println("Die Zahl liegt zwischen 61 und 80!"); 
      break; 
    case 81 ... 100: 
      Serial.println("Die Zahl liegt zwischen 81 und 100!"); 
      break; 
  } 
  delay(2000);
}

if ... else Ope­ra­to­ren Varia­ble

Letzte Aktualisierung: 27. Sep 2020 @ 22:40