Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Suche » Suchergebnis » Hallo Gast [Anmelden|Registrieren]
Zeige Beiträge 1 bis 2 von 2 Treffern
Autor Beitrag
Thema: Wo liegt der Fehler????
CombatWombat

Antworten: 3
Hits: 434
21.04.2020 08:30 Forum: Informatik in der Schule


NixJava hat schon recht. Das liegt an der nicht exakten Darstellung.

Zwei Tipps für die Zukunft.

1. Bei der Fehlersuche debuggen, dabei ist sogenanntes printf debugging das einfachste.
Hierbei gibst du einfach bei jedem Schritt die Werte über printf aus, in diesem fall dann einfach mit printf("%f", restX) und guckst was bei rauskommt. Dabei siehst du, dass auch wenn du 0 erwarten würdest manchmal 0.00000001 oder ähnliches als Ergebnis herauskommt. Die andere Variante ist ein Debugger, bei C der GDB.

2. Du wiederholst hier 3x die gleichen Schritte, das Programm wäre schöner und besser lesbar, wenn du ne Schleife nutzen würdest.

Zur Lösung deines Problems:

#include <stdio.h>
int main(){
double k1, k2, summe, rest, rest1, rest2, rest3, rest4;
printf("Bitte geben Sie eine Zahl ein: ");
scanf("%lf", &k1);
printf("Bitte geben Sie noch eine Zahl ein: ");
scanf("%lf", &k2);
summe = k1 + k2;
rest = summe - (int)summe;

if(rest <= 0.0000001){
printf("Die Summe ist %.0f\n", summe);
}else{
rest1 = rest*10;
rest2 = rest1 - (int)rest1;
if(rest2 <= 0.0000001){
printf("Die Summe ist %.1f\n", summe);
}else{
rest3 = rest2 * 10;
rest4 = rest3 - (int)rest3;
if(rest4 <= 0.0000001){
printf("Die Summe ist %.2f\n", summe);
}else{
printf("Die Summe ist %.3f\n", summe);
}
}
}
return 0;
}
Thema: C Programmierung Hilfe
CombatWombat

Antworten: 1
Hits: 852
RE: C Programmierung Hilfe 25.11.2019 10:51 Forum: Softwaretechnik


Moin,

wo hängste denn fest?
Grundsätzlich ist ja alles in der Aufgabe beschrieben was du brauchst.

Anfangen solltest du damit, dir zu überlegen, wie du denn einen String zerlegst. Vielleicht nicht in Programmcode, sondern einfach mal die Schritte überlegen, die du brauchst, damit die Funktion "split" das gewünschte Ergebnis liefert.
Zeige Beiträge 1 bis 2 von 2 Treffern