Divisionsrestwert



  • Hallo Leute,

    hoffe Ihr könnt mir helfen.
    ich muss in meinem Info Protikum unter C
    mit int Variabeln eine Divisionsrestwert bestimmen
    Programmieren.

    ixdiy=ix%iy;
    printf("Rest ix:iy: %i ",ixdiy);

    Leider kommt aber immer 0 raus.

    Hofe Ihr könt mir Helfen.

    Euer Studi84



  • Die Formel ist eigentlich richtig, aber eventuell verwendest du die falschen Werte - was steht denn in ix und iy?



  • Hi,

    danke für die schnelle Antwort hier ist mal das ganze Program.

    #include <stdio.h>
    #include <math.h>

    void main ()
    {
    double dx,dy,dxdy;
    int ix,iy,ixiy,ixdiy;
    printf("Bitte geben Sie einen wert für dx ein:");
    scanf("%lf", &dx);
    printf("Bitte geben Sie einen wert für dy ein:");
    scanf("%lf", &dy);
    ix=dx;
    iy=dy;
    dxdy=dxdy;
    ixiy=ix
    iy;
    ixdiy=ix%iy;

    printf("Ergebnis dxdy: %8.2lf ",dxdy);
    printf("Ergebnis ix
    iy: %i ",ixiy);
    printf("Rest ix:iy: %i ",ixdiy);

    }

    In ix und iy können alle möglichen Zahlen eingeben.



  • Und für welche Werte, bei denen nicht 0 herauskommen sollte, erhältst du jetzt 0?



  • Ich soll den Divisionrestwert bstimmen von ix und iy.
    Wenn ich nun die datei aufführe sagt er mir am Endet,
    dass der Rest 0 wäre.

    Hier ist mal die Aufgaben stellung:

    Schreiben Sie ein C-Programm, das zwei int-Variablen ix und iy sowie zwei
    double-Variablen dx und dy enthält und folgende Schritte audführt:

    1. Einlesen zweier Werte für dx und dy von der Tastatur.
    2. Zuweisung des Werte von dy an ix und des Wertes von dy an iy.
    3. Bildschirmausgabe der Operationergebnisse "dx*dy" und "ix*iy"
    4. Bildschirmausgabe des Rests, der bei der Division von ix durch iy bleibt.


  • Studi84 schrieb:

    Wenn ich nun die datei aufführe sagt er mir am Endet,
    dass der Rest 0 wäre.

    So weit waren wir schon. Welche Werte hast du denn nun konkret eingegeben?



  • Ich habe zum beispiel für ix=7 und iy=3 müsste ja eigentlich
    einen Rest von 1 ergeben.

    Ausgegeben würd aber 0.



  • Stimmen eigentlich die übrigen Ausgaben mit deinen Erwartungen überein? (eventuell kannst du ja zusätzlich deine Eingabevariablen ausgeben).

    PS: <math.h> brauchst du für dein Programm übrigens nicht. Und "void main()" ist ebenfalls falsch.



  • Die anderen Ausgaben sind Korrekt.

    CStoll schrieb:

    Stimmen eigentlich die übrigen Ausgaben mit deinen Erwartungen überein? (eventuell kannst du ja zusätzlich deine Eingabevariablen ausgeben).

    PS: <math.h> brauchst du für dein Programm übrigens nicht. Und "void main()" ist ebenfalls falsch.

    Falsch ist nicht Korrekt man braucht es nicht zuschreiben.
    Ich kann das <math.h> weg lassen und statt void main () kann ich auch nur main()
    schreiben. Aber das ist nicht der Fehler.



  • Studi84 schrieb:

    Die anderen Ausgaben sind Korrekt.

    *grübelt* Und was kommt nun heraus, wenn du vor den Rechenergebnissen ein printf("Kontolle: %%8.2f %8.2f - %i %i\n",dx,dy,ix,iy); setzt?

    CStoll schrieb:

    PS: <math.h> brauchst du für dein Programm übrigens nicht. Und "void main()" ist ebenfalls falsch.

    Falsch ist nicht Korrekt man braucht es nicht zuschreiben.
    Ich kann das <math.h> weg lassen und statt void main () kann ich auch nur main()
    schreiben. Aber das ist nicht der Fehler.

    Ich weiß, daß das nicht der Fehler ist - aber solche Fehler solltest du dir gar nicht erst angewöhnen. Die Funktion heißt int main().

    PS: Hast du den Text dort unten abgeschrieben oder per Copy/Paste aus deinem Quelltext übernommen? Möglicherweise hast du ja eine Variable falsch benannt.



  • Hi,

    hatte erst jetzt zeit wieder zurück zuschreiben.
    Mir ist da etwas auf gefallen und zwar erstellt,
    wenn ich bei C++Builder 6 von Borland auf "Compile Unit"
    gehe keine neue EXE-Datei erstellt würd.

    Warscheinlich ein Dummer Anfänger fehler.

    Hoffe Ihr könnt mir helfen.

    Euer Studi84



  • Studi84 schrieb:

    Mir ist da etwas auf gefallen und zwar erstellt,
    wenn ich bei C++Builder 6 von Borland auf "Compile Unit"
    gehe keine neue EXE-Datei erstellt würd.

    Mit der Frage solltest du besser ins Borland-Board gehen (meine Vermutung ist, daß du den falschen Befehl verwendet hast - und "Compile Unit" nur eine LIB anlegt für den Linker).

    PS: Gibt es eigentlich neue Entwicklungen bei deinem Hauptproblem?



  • CStoll schrieb:

    Studi84 schrieb:

    Mir ist da etwas auf gefallen und zwar erstellt,
    wenn ich bei C++Builder 6 von Borland auf "Compile Unit"
    gehe keine neue EXE-Datei erstellt würd.

    Mit der Frage solltest du besser ins Borland-Board gehen (meine Vermutung ist, daß du den falschen Befehl verwendet hast - und "Compile Unit" nur eine LIB anlegt für den Linker).

    Hat er schon gemacht: http://www.c-plusplus.net/forum/viewtopic-var-t-is-164566.html


Log in to reply