Dev-C++ Programm gibt bei z.B. 10/5 = 0 aus - Bitte um Hilfe!



  • Hallo,

    ich bin relativ neu bei C++.

    Ich arbeite mit Dev-C++ und habe folgendes Programm geschrieben:

    #include <stdio.h>
    int main (void)
    {
    int a=10;
    int b=5;
    float fZahl1=1;
    float fZahl2=7;
    
    printf("iZahl1/iZahl2 = %d\n", a/b);
    printf("float: iZahl1/iZahl2 = %f\n", (float) iZahl1/iZahl2);
    printf("fZahl1/fZahl2 = %f\n", fZahl1/fZahl2);
    
    return(0);
    }
    

    Wenn ich das Programm ausführe bekomme ich:

    iZahl/iZahl2 = 0
    float: iZahl1/iZahl2 = 0,000000
    fZahl1/fZahl2 = 0.142857

    [/code]
    Warum bekomme ich in den ersten zwei Zeilen kein Ergebnis?
    Ich denke es handelt sich um Problem in den Einstellungen?

    Ich hoffe mir kann jemand helfen 🙂



  • Hi,

    erstens ist das C und nicht C++ was du da machst. Desweiteren kompiliert das ganze gar nicht wegen der Zeile :

    printf("float: iZahl1/iZahl2 = %f\n", (float) iZahl1/iZahl2);
    

    Hast du den Code abgetippt oder kopiert ? iZahl1 und iZahl2 ist nirgends deklariert.

    Ansonsten wenn man die Zeile weglässt, kommen die "richtigen" Ergebnisse :

    http://ideone.com/VNSjfd



  • Danke wrong_way für deine schnelle Antwort!

    Ich habe es jetzt auch nochmal vernünftig gemacht:

    #include <stdio.h>
    int main (void)
    {
    int iZahl1=10;
    int iZahl2=5;
    float fZahl1=1;
    float fZahl2=7;
    
    printf("iZahl1/iZahl2 = %d\n", iZahl1/iZahl2);
    printf("float: iZahl1/iZahl2 = %f\n", (float) iZahl1/iZahl2);
    printf("fZahl1/fZahl2 = %f\n", fZahl1/fZahl2);
    
    return(0);
    }
    

    Ich hatte etwas rumprobiert dadurch habe ich wohl iZahl1 und iZahl2 vergessen.

    Es geht aber trotzdem noch nicht 😞

    Wenn das nicht C oder C++ ist, was ist es dann?
    Weil so nennt sich das Modul, welches ich im Studium habe? 😮

    Danke



  • Keiner hat weder noch geschrieben, lies die Aussage noch mal durch.

    Was funktioniert denn nicht?

    Und wie heißt dein Kurs?



  • hahaniha schrieb:

    Danke wrong_way für deine schnelle Antwort!

    Ich habe es jetzt auch nochmal vernünftig gemacht:
    #include <stdio.h>
    int main (void)
    {
    int iZahl1=10;
    int iZahl2=5;
    float fZahl1=1;
    float fZahl2=7;

    printf("iZahl1/iZahl2 = %d\n", iZahl1/iZahl2);
    printf("float: iZahl1/iZahl2 = %f\n", (float) iZahl1/iZahl2);
    printf("fZahl1/fZahl2 = %f\n", fZahl1/fZahl2);

    return(0);
    }

    Ich hatte etwas rumprobiert dadurch habe ich wohl iZahl1 und iZahl2 vergessen.

    Es geht aber trotzdem noch nicht 😞

    Wenn das nicht C oder C++ ist, was ist es dann?
    Weil so nennt sich das Modul, welches ich im Studium habe? 😮

    Danke

    Also bei mir kommt da 2 raus, wie gewünscht.

    Das ist C. Es gibt C, und es gibt C++. Wenn sich dein Modul C/C++ nennt, solltest du nicht viel Zeit mit dem Modul verschwenden, Prüfung gut bestehen und fertig... Lieber neu lernen, statt umlernen. Wenn du später nämlich Softwareentwicklung mit einer der beiden Sprachen machen willst, kannst du das vergessen, was dir dein Prof. beibringt.



  • @out Danke für deine Antwort!
    Jetzt geht es komischerweise... Vielleicht weil ich meinen PC neugestartet habe 🙄

    Also im Modul C-Programmieren arbeiten wir ausschließlich mit C++ wurde uns gesagt... 😕

    Ich hätte noch eine Frage:
    Ich möchte beim folgenden Programm die Fakultät berechnen. Aber auch hier gibt mir das Programm immer wieder eine 0 aus, egal was ich eingebe.
    Was mache ich falsch? Ich finde den Fehler einfach nicht...

    #include <stdio.h>
    int main (void)
    {
    	int Zahl;
    	int summe;
    	printf("Geben Sie eine Zahl ein: \n");
    	scanf("%i, &Zahl");
    	do
    	{
    		summe = summe * Zahl--;
    	}
    	while(Zahl >= 1);	
    	{
    	printf("summe = %i \n", summe);
    	}
    	return (0);
    }
    


  • hahaniha schrieb:

    Also im Modul C-Programmieren arbeiten wir ausschließlich mit C++ wurde uns gesagt... 😕

    Das ist auf jeden Fall falsch.

    Welchen Wert hat summe im ersten Schleifendurchlauf?



  • Wenn ich dich richtig verstehe muss ich int summe einen Wert zuweisen, da sonst 0 angenommen wird und dann 0= 0 * Zahl-- gerechnet wird, wenn ich das richtig verstehe oder?

    Also müsste ich int summe = 1; eingeben:

    #include <stdio.h>
    int main (void)
    {
    	int Zahl;
    	int summe = 1;
    	printf("Geben Sie eine Zahl ein: \n");
    	scanf("%i, &Zahl");
    
    	do
    	{
    		summe = summe * Zahl--;
    	}
    	while(Zahl >= 1);	
    	{
    	printf("summe = %i \n", summe);
    	}
    	return (0);
    }
    

    Was aber wohl nicht richtig scheint, da immer noch 0 ausgegeben wird... 😕



  • hahaniha schrieb:

    Wenn ich dich richtig verstehe muss ich int summe einen Wert zuweisen, da sonst 0 angenommen wird und dann 0= 0 * Zahl-- gerechnet wird, wenn ich das richtig verstehe oder?

    Ja da wird zufällig 0 angenommen. Könnte aber auch 52379 sein.

    hahaniha schrieb:

    Also müsste ich int summe = 1; eingeben:

    Ja. Funktioniert aber schon. Hast du die Datei neu kompiliert?



  • Geh mal los und editier Deine Beiträge: Code markieren und den [C] Button unter dem 😡 Smiley drücken. Das fügt die sog. "Code Tags" ein und alles wird direkt lesbarer.

    Danke.



  • @out
    Ja das habe ich gemacht. Es bleibt trotzdem bei 0 ??

    @Furble Wurble
    Okay da werde ich beim nächsten mal drauf achten.



  • hahaniha schrieb:

    @out
    Ja das habe ich gemacht. Es bleibt trotzdem bei 0 ??

    Dann würde ich nun DevC++ deinstallieren und Visual Studio 2015 Community installieren 😃



  • Stell mal die Warnungen Deines Compilers auf die höchste Stufe, da ist ein subtiles(?) Problem in Deinem Code. Der Compiler ist sehr gut im finden solcher Dinge!



  • @out
    Visual Studio wird gerade installiert 😉

    @ Furble Wurble
    Ich hab´s getan und einen Fehler angezeigt bekommen 👍

    scanf("%i, &Zahl");
    

    Nun habe ich:

    scanf("%i", &Zahl);
    

    und es funktioniert! 🙂

    Ich danke euch vielmals! Ich bin echt froh, dass es Leute gibt die mir hierbei helfen 🙂



  • Das müsste aber aber mit Dev C++ auch gehen. Also die neuste Version dieser IDE funktioniert wirklich nicht schlecht, auch wenn es oft ziemlich verschrien ist.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum C (alle ISO-Standards) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Log in to reply