Seite 1 von 1

Bräuchte jemand der mir Hilft den Fehler zufinden???

Verfasst: Fr Jan 22, 2010 2:06 pm
von dragonfloez
Hallo Ihr,
habe gestern angefangen C zu programmieren. Ich habe das folgende Taschenrechner- Programm geschrieben. Nun zu meinem Problem. Das Programm läuft prima, nur die Ergebnisse des Diffidierens stimmen nicht. Keine Ahnung warum da nur Schrott rauskommt. Kann mir da jemand weiterhelfen, bitte??
--------------------------------------------------------------------------------------------------------------

Code: Alles auswählen

#include <stdio.h>
int main()
{
int zahl1=0, zahl2=0, zahl3=1, zahl4=1, zahl5=1, zahl6=1;
double zahl7, zahl8;


printf (" Wollen Sie Addieren:");
scanf ("%d", &zahl3);

if (zahl3==1)
{
printf ("Geben Sie die erste zu addierende Zahl ein:");
scanf ("%d", &zahl1);
printf ("Geben Sie die zweite zu addierende Zahl ein:"),
scanf ("%d", &zahl2);
printf ("Das Ergebnis ist: %d\n", zahl1+zahl2);
}



printf ("Wollen Sie subtrahieren:");
scanf ("%d", &zahl4);

if (zahl4==1)
{
printf ("Geben Sie die erste zu Zahl ein:");
scanf ("%d", &zahl1);
printf ("Geben Sie die zweite zu subtrahierende Zahl ein:"),
scanf ("%d", &zahl2);
printf ("Das Ergebnis ist: %d\n", zahl1-zahl2);
}



printf ("Wollen Sie multiplitzieren:");
scanf ("%d", &zahl5);

if (zahl5==1)
{
printf ("Geben Sie die erste zu Zahl ein:");
scanf ("%d", &zahl1);
printf ("Geben Sie die zweite zu multiplitzierende Zahl ein:"),
scanf ("%d", &zahl2);
printf ("Das Ergebnis ist: %d\n", zahl1*zahl2);
}


printf ("Wollen Sie dividieren:");
scanf ("%d", &zahl6);

if (zahl6==1)
{
printf ("Geben Sie die erste zu Zahl ein:");
scanf ("%f", &zahl7);
printf ("Geben Sie die zweite zu dividierende Zahl ein:"),
scanf ("%f", &zahl8);
printf ("Das Ergebnis ist: %f\n", zahl7/zahl8);

}



return 0;
}

Re: Bräuchte jemand der mir Hilft den Fehler zufinden???

Verfasst: Fr Jan 22, 2010 2:27 pm
von hofian
Willkommen im Forum!

Ähm..., gehört eigentlich nicht unter C# und .NET, ist ja C (das nächste mal bitte gleich im richtigen Board schreiben).

Zu dem Programm:
Der Fehler liegt bei scanf. Wenn du mit scanf die Eingabe mit der Genauigkeit eines double erreichen willst, musst du nicht %f, sondern %lf benutzen. Bei printf ist das wieder egal, dort kannst auch mit %f doubles ausgeben. Ansonsten ist %f auch für floats.

Achso: Mit

Code: Alles auswählen

 Tags lässt sich Code auch für übersichtlicher zeigen. :)

Re: Bräuchte jemand der mir Hilft den Fehler zufinden???

Verfasst: Fr Jan 22, 2010 3:00 pm
von dragonfloez
Hallo hofian,
vielen Dank für deine schnelle und kompetente Hilfe. habe den Fehler behoben. Jetzt läuft es so wie es soll. :D . Ich werde das nächste mal den Beitrag im richtigen Board veröffentlichen. Danke noch für den Tipp mit der Code- Veröffentlichung.

Re: Bräuchte jemand der mir Hilft den Fehler zufinden???

Verfasst: Fr Jan 22, 2010 3:41 pm
von Dirty Oerti
Schön, dass es jetzt funktioniert :)
Gestern erst angefangen? Dann finde ich, ist dein Code dafür schon recht gut geworden.
Wie weit bis du denn im Moment mit dem "Lernen" ?
Wenn du schon bei Funktionen bist - btw, wonach/womit lernst du? - kannst du ja versuchen, dein obiges Beispiel etwas auszubauen.
Auch die switch-case Abfrage kannst du dir ansehen... :)

Wenn du möchtest, kannst du dich auch im Brett User-Vorstellung vorstellen.

Willkommen im Forum :)

Re: Bräuchte jemand der mir Hilft den Fehler zufinden???

Verfasst: Fr Jan 22, 2010 6:01 pm
von dragonfloez
Hallo Dirty Oerti,
momentan versuche ich mich bei Tutorials.at durchzubeisen. Bin gerade bei den if- Anweisungen. Ich versuche immer mein Taschenrechner- Programm meinem lernfortschritt anzupassen. Das hilft mir die Übersicht nicht zu verlieren :D .

Re: Bräuchte jemand der mir Hilft den Fehler zufinden???

Verfasst: Fr Jan 22, 2010 6:03 pm
von dragonfloez
Hallo hofian ,
vielen Dank für den Hinweis, werde sogar vielleicht daruf zurückkommen.

Re: Bräuchte jemand der mir Hilft den Fehler zufinden???

Verfasst: Sa Jan 23, 2010 4:46 pm
von Xin
Hallo Dragonfloez!

Willkommen im Forum.
dragonfloez hat geschrieben:momentan versuche ich mich bei Tutorials.at durchzubeisen.
Schön, dass Du Dich entschieden hast, uns in Zukunft häufiger zu besuchen.

Wenn sich die Fragen auf das tut.at-Tutorium beziehen, vermerke dies bitte im Threadtitel, ansonsten gehen wir von lokalen Texten aus.