erkenung - + * /

Tutorials.at
Verfügbare Informationen zu "erkenung - + * /"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: AQE89 - DrPhil_Guth - Cent - progger - matze(2)
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 17
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: erkenung - + * /
  • Letzte Antwort: vor 17 Jahren, 9 Monaten, 4 Tagen, 15 Stunden, 36 Minuten
  • Alle Beiträge und Antworten zu "erkenung - + * /"

    Re: erkenung - + * /

    AQE89 - 16.07.2006, 22:24

    erkenung - + * /
    hi

    ich habe mir mal gedacht ich schaue wie gut ich alles verstanden habe, da kamm mir die idee einen rechner zu programmieren.

    aber es gibt da ein problem, wie könnte ich es machen das der PC erkent das wen ich - drücke das dan auch - gerechnet wird!!


    habe mir gedacht das mache ich so:

    ich habe eine Variabe in der wird dan 1,2,3,4 abgespeichert,
    die bedeutung ist so, 1=- , 2=+ , 3=* , 4=/

    aber leider gibt es immer wieder fehler, das program leuft aber es gibt ein falsches resultat.

    hätte jjemand für dieses Problem eine andere Lösung?



    Re: erkenung - + * /

    DrPhil_Guth - 17.07.2006, 08:39


    Ich versteh nicht ganz was du meinst.
    Kannst du mal deinen Quellcode posten?
    Und vorher noch etwas: Bevor du das tust, bitte kram ein bisschen in den Einstellungen deiner IDE. Dort müsste es irgendwo eine Option geben, die statt einem Tab z.B. 4 Leerzeichen macht. Dann werden Absätze nämlich auch hier im Forum angezeigt.



    Re: erkenung - + * /

    Cent - 17.07.2006, 11:34


    schreibe bitte die Sprache in der du das meinst



    Re: erkenung - + * /

    AQE89 - 17.07.2006, 15:02


    in C, bin leider nicht zu hause, komme erst an do oder fr nach hause.



    Re: erkenung - + * /

    AQE89 - 22.07.2006, 17:16


    Zitat:
    #include <stdio.h>
    #include <conio.h>

    void main()
    {
    int eingabe1, eingabe2, ausgabe, operator;

    printf("geben sie eine Zahl ein: ");
    scanf("%d", &eingabe1);
    printf("drücken sie 1 für - ,2 für +, 3 für * oder 4 für / : ");
    scanf("%d", &operator);
    while(operator>4);
    {
    printf("drücken sie 1 für - ,2 für +, 3 für * oder 4 für / : ");
    scanf("%d", &operator);
    }
    printf("geben sie die 2 Zahl ein: ");
    scanf("%d", &eingabe2);

    if operator=1;
    {
    printf("%d-%d=%d", eingabe1, eingabe2, ausgabe);
    }
    if else operator=2;
    {
    printf("%d+%d=%d", eingabe1, eingabe2, ausgabe);
    }
    if else operator=3;
    {
    printf("%d*%d=%d", eingabe1, eingabe2, ausgabe);
    }
    if else operator=4;
    {
    printf("%d/%d=%d", eingabe1, eingabe2, ausgabe);
    }
    return 0;
    }

    dann habe ich es noch mit direkt - und so( das heisst stat das 1 ein - etc.)
    ging nicht.und mit dem if else get es nicht aber nur mit if da kann ich alles compiliren, aber wen ich irgend etwas ausrechne kommt ein folkommen falsches resultat[/code]



    Re: erkenung - + * /

    progger - 22.07.2006, 17:35


    Hi,
    Schonmal daran gedacht das du statt int eingabe1, eingabe2, ausgabe mit float oder double versuchst?
    Int kennt keine fließekommerdarstellung.



    Re: erkenung - + * /

    AQE89 - 22.07.2006, 19:19


    ja das wäre sicher noch was das ich verbessern könnte, aber der fehler liegt anders wo.

    da wäre noch was, als resultat hat es irgend etwas mit 1.635.... gegeben, das kommische das geht nicht den es ist ja eine int variable und keine float!!

    irgend etwas stimmt mit dem if else nicht.

    und ich suche noch ne lösung zum direkt - einzegeben und er dan - rechnet**



    Re: erkenung - + * /

    progger - 22.07.2006, 20:28


    Naja versuchs mal mit ner SWITCH - CASE anweisung. Das dürfte für dieses Problem besser geeignet sein.

    mfg



    Re: erkenung - + * /

    matze(2) - 23.07.2006, 12:02


    geht das mit dem if nicht so:

    if (operator == 1)

    ?



    Re: erkenung - + * /

    progger - 23.07.2006, 12:33


    matze(2) hat folgendes geschrieben: geht das mit dem if nicht so:

    if (operator == 1)

    ?

    Jap stimmt mit einem Gleich(=) ist es eine Zuweisung, also du weist der Variable operator eins zu. Mit zwei Gleich (==) überprüft das Programm ob die Variable den zugewiesenen Wert besitzt.



    Re: erkenung - + * /

    AQE89 - 23.07.2006, 21:55


    ah ok, dan wird mein programm warscheinlich schon mal laufen.

    ABER gibt es noch ne möglichkeit abzufragen welche taste das gedrückt wurde, so das das programm siht das - eingegeben wurde und dann minus rechnen kann!



    Re: erkenung - + * /

    progger - 23.07.2006, 22:05


    getchar, getch, getche.
    Bin aber schon zu müde um dir das alles zu erklären am besten du schaust dir das selbst an :P



    Re: erkenung - + * /

    AQE89 - 23.07.2006, 22:08


    kennst du ein tut dafür?

    oder unter was ist es bei den tuts?

    ich suche mal



    Re: erkenung - + * /

    AQE89 - 24.07.2006, 18:49


    habe es überarbeitet, aber es gibt jetzt ein problem.

    ich frage ja den operator ab, wen der zu gross ist sollte eigentlich so lange gefragt werden bis man eine zahl zwischen 1 und 4 eingibt. jetzt ist es aber so das wen man 2 mal hintereinander eine falsche zahl angibt, das dann das programm weiter leuft.

    und wen man die richtige angibt, geht nacher nichts mehr, das programm leuft nicht weiter.

    was kann ich da machen?

    Zitat: #include <stdio.h>
    #include <conio.h>

    int main(void)
    {
    float eingabe1, eingabe2, ausgabe, op; /*Variablen deklarieren*/

    ausgabe=0;

    printf ("geben sie eine Zahl ein: ");
    do {scanf("%f",&eingabe1);} while ( getchar() != '\n' );

    printf ("druecken sie 1 fuer - ,2 fuer +, 3 fuer * oder 4 fuer / : ");
    do {scanf("%f",&op);} while ( getchar() != '\n' );

    while(op<=4);
    {
    printf("drücken sie 1 für - ,2 für +, 3 für * oder 4 für / : ");
    do {scanf("%f",&op);} while ( getchar() != '\n' );
    }
    printf("geben sie die 2 Zahl ein: ");
    do {scanf("%f",&eingabe2);} while ( getchar() != '\n' );

    if (op==1);
    {
    printf("%f-%f=%f", eingabe1, eingabe2, ausgabe);
    }
    if (op==2);
    {
    printf("%f+%f=%f", eingabe1, eingabe2, ausgabe);
    }
    if (op==3);
    {
    printf("%f*%f=%f", eingabe1, eingabe2, ausgabe);
    }
    if (op==4);
    {
    printf("%f/%f=%f", eingabe1, eingabe2, ausgabe);
    }
    getch();
    return 0;
    }




    ich habe es noch mit dem versucht, ging aber nicht mal zum compiliren.(das ist anstelle von den if anweissungen)

    Zitat: switch (op);
    {
    case 1: printf("%f-%f=%f", eingabe1, eingabe2, ausgabe);
    case 2: printf("%f+%f=%f", eingabe1, eingabe2, ausgabe);
    case 3: printf("%f*%f=%f", eingabe1, eingabe2, ausgabe);
    case 4: printf("%f/%f=%f", eingabe1, eingabe2, ausgabe);
    }



    Re: erkenung - + * /

    matze(2) - 24.07.2006, 19:40


    Code:
    #include <stdio.h>
    #include <conio.h>

    int main(void)
    {
        float eingabe1, eingabe2, ausgabe, op; /*Variablen deklarieren*/
        ausgabe = 0;

        printf ("geben sie eine Zahl ein: ");
        do
        {
            scanf("%f",&eingabe1);
        }
        while ( getchar() != '\n' );

        printf ("druecken sie 1 fuer - ,2 fuer +, 3 fuer * oder 4 fuer / : ");
        do
        {
            scanf("%f",&op);
        }
        while ( getchar() != '\n' );

        while ( (op != 1) && (op != 2) && (op != 3) && (op != 4) ) 
        {
            printf("drücken sie 1 für - ,2 für +, 3 für * oder 4 für / : ");
            do
            {
                scanf("%f",&op);
            }
            while ( getchar() != '\n' );
        }
        printf("geben sie die 2 Zahl ein: ");
        do
        {
            scanf("%f",&eingabe2);
        }
        while ( getchar() != '\n' );

        if (op == 1)
        {
            /*"ausgabe = eingabe1 - eingabe2" müsste auch gehen */
            printf("%f-%f=%f", eingabe1, eingabe2, eingabe1 - eingabe2); //%g wäre glaub ich besser
        }
        if (op == 2)
        {
            printf("%f+%f=%f", eingabe1, eingabe2, eingabe1 + eingabe2);
        }
        if (op == 3)
        {
            printf("%f*%f=%f", eingabe1, eingabe2, eingabe1 * eingabe2);
        }
        if (op == 4)
        {
            printf("%f/%f=%f", eingabe1, eingabe2, eingabe1 / eingabe2);
        }
        getch();
        return 0;
    }

    probier das mal aus :wink:



    Re: erkenung - + * /

    matze(2) - 24.07.2006, 19:45


    aso, und bei dem switch - case fehlen die "break;"



    Re: erkenung - + * /

    AQE89 - 24.07.2006, 19:47


    danke!

    ok das ging, werde es mal studieren.

    nachdem ich das gemacht habe gab es jetzt 7 fehler anbstat nur 4!!


    also ich werde mal wieder in den tuts nach switch und if und while etc schauen!!



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    ascII-code anzeigen - gepostet von Moritz am Dienstag 09.10.2007
    Pascal - gepostet von Kakashi am Donnerstag 22.02.2007
    Umstieg von DevCpp zu Visual C++ 6.0 - gepostet von DrPhil_Guth am Mittwoch 28.03.2007
    Umrechner Arabische in Römische Zahlen - gepostet von Walgo am Donnerstag 19.07.2007
    Moderator - gepostet von matze(2) am Montag 21.08.2006
    Hello World - gepostet von icewulf24 am Mittwoch 03.10.2007
    Fragen/Kritik zum C++ Tutorial - gepostet von progger am Freitag 25.08.2006
    compiler gesucht!!! - gepostet von the gangster am Donnerstag 07.06.2007



    Ähnliche Beiträge wie "erkenung - + * /"

    Aktivitäts Erkenung - silver (Freitag 25.05.2007)