37 lines
1.4 KiB
C
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;
|
|
} |