kostenloser Webspace werbefrei: lima-city


warum funktioniert dieses proggi und dieses nicht?

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    sgtennis

    sgtennis hat kostenlosen Webspace.

    hier der kleine mehrwertsteuer-rechner:)
    so warum funktioniert jetzt das erste script und das zweite nicht???

    erstes:

    printf("Mehrwertsteuer-Rechner\n\n\n\n");
    printf("Geben Sie einen Betrag ein:\n");
    cin >> fBetrag;
    fNewbetrag=fBetrag*1.16;
    cout << "Betrag inkl. Mehrwertsteuer: " << fNewbetrag << "\n\n";
    printf("Wollen Sie eine weitere Zahl berechnen? (j/n)\n");




    zweites:

    printf("Mehrwertsteuer-Rechner\n\n\n\n");
    printf("Geben Sie einen Betrag ein:\n");
    scanf("%f",fBetrag);
    fNewbetrag=fBetrag*1.16;
    printf("Betrag inkl. Mehrwertsteuer:\n%f",fNewbetrag);
    printf("Wollen Sie eine weitere Zahl berechnen? (j/n)");
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. -.- Gl?ckwunsch! VB is aber ... na ja lassen wir das.

    sgtennis schrieb:
    hier der kleine mehrwertsteuer-rechner:)
    so warum funktioniert jetzt das erste script und das zweite nicht???

    erstes:

    printf('Mehrwertsteuer-Rechner\n\n\n\n');
    printf('Geben Sie einen Betrag ein:\n');
    cin >> fBetrag;
    fNewbetrag=fBetrag*1.16;
    cout << 'Betrag inkl. Mehrwertsteuer: ' << fNewbetrag << '\n\n';
    printf('Wollen Sie eine weitere Zahl berechnen? (j/n)\n');




    zweites:

    printf('Mehrwertsteuer-Rechner\n\n\n\n');
    printf('Geben Sie einen Betrag ein:\n');
    scanf('%f',fBetrag);
    fNewbetrag=fBetrag*1.16;
    printf('Betrag inkl. Mehrwertsteuer:\n%f',fNewbetrag);
    printf('Wollen Sie eine weitere Zahl berechnen? (j/n)');


    Ich glaub das liegt daran das im 2 Beispiel fBetrag ne n C-String ist.
    int scanf(const char *format[, address, ...]);

    Und so was geht net (char */char[]) * (int) also den C-String erst mal in ne Zahl umwandeln.

    Es w?re auch besser wenn nen bissel mehr vom Code Zeigen k?nntest?! Aso und den Fehler den bekommst w?re auch noch hilfreich.

    EDIT: Versuch es mal so

    float fBetrag;

    scanf("%f",&fBetrag);
    fflush(stdin);
    fNewbetrag=fBetrag*1.16;
    printf('Betrag inkl. Mehrwertsteuer:\n%f',fNewbetrag);

    Beitrag ge?ndert am 17.11.2005 17:54 von funkdoobiest
  4. Autor dieses Themas

    sgtennis

    sgtennis hat kostenlosen Webspace.

    also erst ma danke funkdoobiest.

    der code von dem proggi von dem?s nich funktioniert sieht so aus:

    float fBetrag;
    float fNewbetrag;

    printf('Mehrwertsteuer-Rechner\n\n\n\n');
    printf('Geben Sie einen Betrag ein:\n');
    scanf('%f',fBetrag);
    fNewbetrag=fBetrag*1.16;
    printf('Betrag inkl. Mehrwertsteuer:\n%f',fNewbetrag);



    so jetzt zur fehlermeldung. wenn ich auf compilieren gehe wird das programm normal ausgef?hrt, ich kann auch eine zahl eingeben.
    und dann kommt pl?tzlich von windows "Das Programm hat einen Fehler verursacht und muss geschlossen werden". und schwupps, ist die konsolenanwendung geschlossen.
    ich hab den eindruck das da irgendwas mit der speicherzuweisung nicht klappt. wie kann ich das prob noch l?sen? vll. irgendwas anderes als float, wenn ja was? denn im ersten proggi mit cin und cout hat?s ja auch perfekt funktioniert und das war quasi nichts anderes...
    thx, hoffe auf antworten, w?rd mich sehr interessieren..

    Beitrag ge?ndert am 10.10.2005 17:13 von sgtennis
  5. Wie gesagt versuch es mal so:

    float fBetrag;

    printf("Mehrwertsteuer-Rechner\n\n\n\n");
    printf("Geben Sie einen Betrag ein:\n");
    scanf("%f",&fBetrag);
    fflush(stdin);
    fNewbetrag=fBetrag*1.16;
    printf("Betrag inkl. Mehrwertsteuer:\n%f",fNewbetrag);

    Beitrag ge?ndert am 17.11.2005 17:55 von funkdoobiest
  6. Autor dieses Themas

    sgtennis

    sgtennis hat kostenlosen Webspace.

    @funkdoobiest

    jo, also das funktioniert. thx ;-)
    aber jetzt musst du mir nochma erkl?ren
    warum ich dieses fflush(stdin); brauche.
    und noch was. bei dem proggi mit cin und cout wurde irgendwie automatisch gerunden. weisst du was man daf?r bei dem printf programm einbinden muss?? danke!!!
  7. Autor dieses Themas

    sgtennis

    sgtennis hat kostenlosen Webspace.

    @funkdoobiest
    ich hab noch was rausgefunden...
    fflush(stdin); braucht man ?berhaupt nicht. funktioniert auch ohne.
    der unterschied von deinem zu mein proggi war, dass du einen & miteingef?gt hast.
    scanf("%f",&fBetrag); ---> deins
    scanf("%f",fBetrag); ---> meins

    und meins hat aber net funktioniert....
    f?r was brauch ich dann dieses &, was macht das?
    thx. greEtz LUkas
  8. & verweist auf die Adresse der Variable also nen Zeiger.
    Ohne fflush geht?s bei mir net :/. fflush(stdin) leert den Eingabebuffer.
  9. Autor dieses Themas

    sgtennis

    sgtennis hat kostenlosen Webspace.

    jo danke. dann is erst ma alles gekl?rt ;-)
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!