28.2.2
This commit is contained in:
parent
c1f18f8639
commit
311f3b6c24
61
kommaadd.c
61
kommaadd.c
@ -1,42 +1,3 @@
|
||||
/*#include <stdio.h>
|
||||
|
||||
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 <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user