#include // 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; }