Info2P5/29.1_laugsaeu.c
2025-05-10 13:48:18 +02:00

37 lines
1.4 KiB
C

#include <stdio.h>
// Definition von Aufzählungstypen (enum) für Laugen und Säuren
typedef enum { NATRIUMLAUGE, KALILAUGE, KALKWASSER, ANZ_LAUGEN } Lauge;
typedef enum { SALZSAEURE, SCHWEFELSAEURE, SALPETERSAEURE, KOHLENSAEURE, ANZ_SAEUREN } Saeure;
// Tabelle der Namen (für Anzeige)
const char* laugen_namen[ANZ_LAUGEN] = {
"Natronlauge", "Kalilauge", "Kalkwasser"
};
const char* saeure_namen[ANZ_SAEUREN] = {
"Salzsäure", "Schwefelsäure", "Salpetersäure", "Kohlensäure"
};
// Produktmatrix: Salze für Kombinationen von Lauge x Säure
const char* produkte[ANZ_LAUGEN][ANZ_SAEUREN] = {
// Natronlauge
{ "Natriumchlorid", "Natriumsulfat", "Natriumnitrat", "Natriumcarbonat" },
// Kalilauge
{ "Kaliumchlorid", "Kaliumsulfat", "Kaliumnitrat", "Kaliumcarbonat" },
// Kalkwasser
{ "Calciumchlorid", "Calciumsulfat", "Calciumnitrat", "Calciumcarbonat" }
};
int main() {
// Überschrift ausgeben
printf(" |");
for (int s = 0; s < ANZ_SAEUREN; s++) {
printf(" %-16s |", saeure_namen[s]); // Spaltenköpfe für Säuren
}
printf("\n");
// Tabelle ausgeben
for (int l = 0; l < ANZ_LAUGEN; l++) {
printf("%-14s |", laugen_namen[l]); // Zeilenköpfe für Laugen
for (int s = 0; s < ANZ_SAEUREN; s++) {
printf(" %-16s |", produkte[l][s]); // Reaktionsprodukte
}
printf("\n");
}
return 0;
}