kostenloser Webspace werbefrei: lima-city


If-schleife in C++?

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    f***************n

    Hallo,

    in der Schule lernen wir grad C++ und schreiben deswegen ein kleines Programm, welches Mit hilfe von einem vordefiniertem Kurs einen Euro-Betrag in Dollar umrechnet. Nun m?chte ich aber am ende unter dem Dollar betrag ne If-Wenn abfrage machen.

    Der soll fragen ob er nochmal umrechnen soll. NBei eingabe j soll der alles nochmal machen. beu n soll der das Fenster schlie?en.

    Soweit bin ich im mom mit dem Prog.
    #include <stdio.h>
    void main (void)

    {
    float Euro, Dollar=0.0;
    printf ("Eingabe Euro:");
    scanf ("%f", &Euro);

    Dollar=Euro*1.2;
    printf("Das entspricht in Dollar: %.2f $\n", Dollar);

    }


    Eine If-Else schleife kann man zwar da einf?gen ich weis aber nicht wie:

    Weis einer wie das geht?

    LG FR
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. j***e

    also ich schreib dir das jetzt mal in ansi c++ hin ich glaube aber du kommst damit zurecht...
    das kommt vor die letzte } au?erdem musst du <string> <stdlib.h> und <windows.h> includen


    string a;
    cout << "Soll der Betrag nochmal in Euro umgerechnet werden? J/N\n";
    cin << a;

    if (a == "J")
    {
    Euro = Dollar * [Kurs];
    cout << "Der Eurobetrag lautet: " << Euro;
    }

    Sleep (2000);
    exit(EXIT_SUCCESS);



    ich habe den code bewusst so gedehnt und einfach gehalten
    sleep bewirkt eine pause von 2 sekunden
    exit bewirkt das schlie?en
    cout kommt printf gleich
  4. 0******a

    Ich habe das jetzt eigentlich so verstanden, das die Eingabe Euro zu Endergebnis Dollar nochmal bzw. immer wieder berechnet werden soll.
    Dann w?rde das so aussehen:
    ---------------------------------
    #include <stdio.h>

    void main (void)
    {
    ???float Euro, Dollar=0.0;
    ???int iResponse;

    ???do
    ???{
    ??????printf ("Eingabe Euro:");
    ??????scanf ("%f", &Euro);
    ??????getc(stdin);

    ??????Dollar=Euro*1.2;
    ??????printf("Das entspricht in Dollar: %.2f $\n", Dollar);
    ??????printf("Weitere Umrechnung?(j/n) ");
    ??????iResponse = getc(stdin);
    ??????printf("\n");
    ???} while ((iResponse == 'j') || (iResponse == 'J'));
    }
    ---------------------------------

    Wenn du das aber unbedingt mit "if" machen musst, hast zwei M?glichkeiten:
    1.:
    ---------------------------------
    #include <stdio.h>

    void main (void)
    {
    ???float Euro, Dollar=0.0;
    ???int iResponse;

    WEITERRECHNEN:
    ???printf ("Eingabe Euro:");
    ???scanf ("%f", &Euro);
    ???getc(stdin);

    ???Dollar=Euro*1.2;
    ???printf("Das entspricht in Dollar: %.2f $\n", Dollar);
    ???printf("Weitere Umrechnung?(j/n) ");
    ???iResponse = getc(stdin);
    ???printf("\n");

    ???if ((iResponse == 'j') || (iResponse == 'J'))
    ??????goto WEITERRECHNEN;
    }
    ---------------------------------
    Der Befehl "goto" wird meist allerdings von Lehrern nicht gern gesehen (Stichwort Spaghetti-Code). Als 2. M?glichkeit mit einem if-Konstrukt k?nntest du das mit einer rekursiven Funktion machen. Ich denke allerdings nicht, das ihr schon bei Funktionen seid. Wenn doch, dann PN.
  5. j***e

    achso...alles nochmal, da hatte ich wohl was falsch verstanden, also wenn man mal das stichwort, spaghetti-code au?er betracht l?sst k?nnte man folgendes machen (vorher #include <string> bzw. <string.h> und loop: in eine eigene Zeile sofort nach der ersten "{" des Programms einsetzen)



    string a;

    cout << "Moechten sie den Vorgang wiederholen so antworten sie jetzt mit J fuer Ja und N fuer Nein: ";
    cin >> a;
    cout << "\n";

    if (a == "J")

    {

    goto loop;

    }

  6. t*****b

    @ttobsen:
    Dazu braucht man keine Endlos-Schleife sondern macht einfach ein "cin", wenn man "n" eingibt passiert dass, ansonsten nichts oder was anderes (if-Verzweigung, nicht Schleife).

    Goto ist von den Anf?nglichen Programmiersprachen, also ziemlich veraltet. Au?erdem kann man ja ne Funkton schreiben und diese dann aufrufen, anstatt goto zu verwenden. Manche meinen sogar, schlechter Qurllcode ist ua daran zu erkennen, dass man goto verwendet, obwohl meiner Meinung nach das kein "Verbrechen" ist.
  7. j***e

    :rolleyes: Kinder h?rt doch auf zu streiten, das bringt doch nichts :biggrin:

    Er soll seinen Lehrer halt Fragen, nicht alle Lehrer "hassen" goto, bei einem derart simplen qt kann man goto durchaus mal benutzen...
    Denkt erst nach bevor ihr so einen Aufstand macht, nur weil goto nicht gern gesehen wird braucht man sich ja nicht mehr Arbeit zu machen als n?tig...

    mfg Judg
  8. g***********r

    Zitat: " nicht alle Lehrer 'hassen' goto"

    Naja ... wieso verwendet Ihr solche "Hausfrauenprogrammiersprache" ... wenn ich "goto" verwenden will, schreib ich nicht in C(pp), sondern in Basic!

    Imho kein sehr "guter" Programmierstil, wenn schon sowas wie goto verwendet werden soll, dann schreib doch wenigstens eine wiederverwendbare Funktion! (muss ja keine ganze Klasse sein) ...

    *g*

    Gruss
    Gucci
  9. 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!