Informatik2_Pr/laugsaeu.c
2025-05-08 17:07:09 +02:00

80 lines
2.1 KiB
C

#include <stdio.h>
typedef enum {NATRONLAUGE, KALILAUGE, KALKWASSER} Zeile;
typedef enum {SALZSAEURE, SCHWEFELSAEURE, SALPETERSAEURE, KOHLENSAEURE} Spalte;
void zeilenBezeichnung(Zeile bez, int kombi){
switch (bez) {
case NATRONLAUGE:
if(kombi == 0)
printf("%11s ||", "Natronlauge");
else
printf("%8s", "Natrium");
break;
case KALILAUGE:
if(kombi == 0)
printf("%11s ||", "Kalilauge");
else
printf("%8s", "Kalium");
break;
case KALKWASSER:
if(kombi == 0)
printf("%11s ||", "Kalkwasser");
else
printf("%8s", "Calcium");
break;
}
}
void spaltenBezeichnung(Spalte bez, int kombi){
switch (bez) {
case SALZSAEURE:
if(kombi == 0) {
printf(" ||");
printf("%14s ", "Salzs\x84ure");
}
else
printf("clorid |");
break;
case SCHWEFELSAEURE:
if(kombi == 0)
printf("|%14s ", "Schwefels\x84ure");
else
printf("sulfat |");
break;
case SALPETERSAEURE:
if(kombi == 0)
printf("|%14s ", "Salpeters\x84ure");
else
printf("nitrat |");
break;
case KOHLENSAEURE:
if(kombi == 0)
printf("|%16s |\n", "Kohlens\x84ure");
else
printf("carbonat |\n");
break;
}
}
int main(){
Zeile z;
Spalte s;
int kombi = 0;
for (s = SALZSAEURE; s <= KOHLENSAEURE; ++s) {
spaltenBezeichnung(s, kombi);
}
printf("------------||---------------|---------------|---------------|-----------------|\n");
for (z = NATRONLAUGE; z <= KALKWASSER; ++z) {
zeilenBezeichnung(z, kombi);
kombi++;
for (s = SALZSAEURE; s <= KOHLENSAEURE; ++s) {
zeilenBezeichnung(z, kombi);
spaltenBezeichnung(s, kombi);
}
kombi--;
}
}