diff --git a/kommaadd.c b/kommaadd.c index 09a44a9..1986301 100644 --- a/kommaadd.c +++ b/kommaadd.c @@ -1,42 +1,3 @@ -/*#include - -typedef struct -{ - unsigned vorkomma; - unsigned nachkomma; -}Komma; - -void additionVor(Komma p){ - int vor = 0; - - vor+= p.vorkomma; -} - -void printKomma(Komma x) -{ - printf("%u,%u", x.vorkomma,x.nachkomma); -}; - -int main(){ - int vor; - int tmp, nach; - - //printf("Vorkomma: %d\nNachkomma: %f", vorkomma, nachkomma); - - - - printf("Gib Deine Kommazahlen ein (Abschluss mit Leerzeile)"); - scanf("%d", &tmp); - - vor = (int)tmp; - nach = tmp - vor; - - Komma zahl = {vor,nach}; - additionVor(zahl); - printKomma(zahl); - -}*/ - #include #include @@ -85,19 +46,19 @@ int main() { while (1) { fgets(eingabe, MAX, stdin); - eingabe[strcspn(eingabe, "\n")] = '\0'; + eingabe[strcspn(eingabe, "\n")] = '\0'; //Ersetzt "\n"(Abbruchbedingung) mit '\0', damit das Programm nicht abbricht - if (strlen(eingabe) == 0) break; + if (strlen(eingabe) == 0) + break; // Wenn die Eingabe nach dem Entfernen von "\n" leer ist, wird das Programm abgebrochen - char *kommaPos = strchr(eingabe, ','); + char *kommaPos = strchr(eingabe, ','); // Erstellt einen Zeiger auf den Speicher wo das Komma des Strings liegt if (kommaPos != NULL) { - *kommaPos = '\0'; - char *nachkommateil = kommaPos + 1; + *kommaPos = '\0'; // Ersetzt das Komma mit '\0' um den String in zwei Teile zu splitten + char *nachkommateil = kommaPos + 1; // setzt einen Pointer auf den Anfang der Nachkommastellen - zahl.vorkomma = stringZuInt(eingabe); + zahl.vorkomma = stringZuInt(eingabe); //Wandelt den String in einen Int um und speichert den Wert im Struct zahl.nachkomma = nachkommaZuInt(nachkommateil); - } else { - // Nur ganzzahliger Teil + } else { // Damit bei einer ganzzahligen Zahl nicht die nachkomma Zahl als Fehleingabe deklariert wird, wird hier nur die vorkomma Zahl zum Int konvertiert zahl.vorkomma = stringZuInt(eingabe); zahl.nachkomma = 0; } @@ -109,9 +70,11 @@ int main() { summe.vorkomma += zahl.vorkomma; summe.nachkomma += zahl.nachkomma; - vor += zahl.vorkomma; + + vor += zahl.vorkomma; // Für die Ausgabe unten, ohne den addierten Überlauf nach += zahl.nachkomma; - if (summe.nachkomma >= 1000000) { + + if (summe.nachkomma >= 1000000) { // Addiert den überlauf der nachkomma Zahl auf die Vorkommazahl summe.vorkomma += 1; summe.nachkomma -= 1000000; }