Ergebnis 1 bis 5 von 5
  1. #1
    ASDFASDF ASDFASDF ist offline

    Frage C "Taschenrechner" porgrammieren

    Hallo!

    Ich soll von meiner Uni aus einen kleinen Taschenrechner in C programmieren. Das hat auch soweit ganz gut geklappt, bloß ich häng jetzt bei der Eingabe von ungültigen Rechenoperationen fest. Laut Aufgabenstellung soll das Programm eine Fehlermeldung auswerfen, wenn man keine Zahl eingibt oder durch 0 teilen will. Das Programm addiert, substrahiert, dividiert und multipliziert automatisch, also man muss wirklich nur die Zahlen eingeben. Hat jemand ne Ahnung wie man das codet?

    Hier nochmal der Code für die Eingabe:
    Code:
    	float a;
    		{
    		printf("Wert 1 eingeben: ");
    		scanf("%f",&a);
    		}
    
    	float b;
    		{
    		printf("Wert 2 eingeben: ");
    		scanf("%f",&b);
    		}
    Gruß,
    ASDFASDF

  2. Anzeige

    Frage C "Taschenrechner" porgrammieren

    Schau dir mal diesen Bereich an. Dort ist für jeden was dabei!
  3. #2
    Selensija Selensija ist offline
    Avatar von Selensija

    AW: C "Taschenrechner" porgrammieren

    Benütz If Bedinungen und schreib einfach die Rechnung hinein...
    In der Zeit wo du 2 Foren Accounts machst, hättest du die C Hilfe durchlesen können und wärst fertig...

    Denn wenn du von deiner Uni ne Aufgabe bekommst, solltest du dich über die Arbeitsschritte informieren und die Aufgabe nicht von anderen erledigen lassen. -.-

  4. #3
    Dagobert Duck Dagobert Duck ist offline
    Avatar von Dagobert Duck

    AW: C "Taschenrechner" porgrammieren

    Code:
    #include <cstdlib>
    #include <iostream>
    #include <string>
    #include <conio.h>
    using namespace std;
    int exit();
    double prozent1 ( double w,double p );
    double prozent2 ( double g,double p );
    double prozent3 ( double w,double g );
    double func ( double *zahl1, double *pzahl2 );
    double potenz( double a,double b );
    int main()
    {   
      system ( "cls" );
      double zahl1,zahl2;
      cout << "-------------------\n";
      cout << "Mein Taschenrechner\n";
      cout << "-------------------\n";
      cout << "\nWaehlen Sie aus : \n";
      cout << "(1) Addition\n";
      cout << "(2) Multiplikation\n";
      cout << "(3) Division\n";
      cout << "(4) Subtraktion\n";
      cout << "(5) Potenzrechnung\n";
      cout << "(6) Prozentrechnung\n";
      cout << "(7) Exit\n";
      switch ( getch() )
        {
        case '1':
          {
          func( &zahl1,&zahl2 );
          cout << zahl1 << " + " << zahl2 << " = " << zahl1 + zahl2 << endl;
          break;
          }      
        case '2':
          {
          func( &zahl1,&zahl2 );
          cout << zahl1 << " * " << zahl2 << " = " << zahl1 * zahl2 << endl;
          break;
          }      
          case '3':
            {
            func( &zahl1,&zahl2 );        
            if( zahl2==0 )
              {
              cout << "Teilen durch 0 unmoeglich!" << endl;
              }
            else
              cout << zahl1 << " / " << zahl2 << " = " << zahl1 / zahl2 << endl;  
            break;
            }      
          case '4':
            {
            func( &zahl1,&zahl2 );
            cout << zahl1 << " - " << zahl2 << " = " << zahl1 - zahl2 << endl;
            break;
            }      
          case '5':
            {
            system( "cls" );
            double a,b;
            cout << "Bitte geben Sie eine Zahl ein :";
            cin >> a;
            cout << "Geben Sie die Potenz an :";
            cin >> b;
            cout << "Das Ergebniss betraegt : " << potenz( a,b ) << endl;
            break;
            }
          case '6':
            {
            system( "cls" );
            cout << "Was moechten Sie Berechnen?\nWaehlen Sie aus:\n";
            cout << "(1) Grundwert [G]\n";
            cout << "(2) Prozentwert [W]\n";
            cout << "(3) Prozentsatz [p]\n";
            switch ( getch() )
              {
              case '1':
                {
                system( "cls" );
                double w,p;
                cout << "bitte geben Sie den Prozentwert W ein: ";
                cin >> w;
                cout << "bitte geben Sie den Prozentsatz p ein: ";
                cin >> p;
                cout << "G = W*100/p = " << prozent1( w,p ) << "\n";
                break;
                }
              case '2':
                {
                system( "cls" );     
                double p,g;
                cout << "bitte geben Sie den Grundwert G ein: ";
                cin >> g;
                cout << "bitte geben Sie den Prozentsatz p ein: ";
                cin >> p;
                cout << "W= G*p/100 = "<<prozent2(p,g)<<"\n";
                break;
                }
              case '3':
                {
                system( "cls" );
                double w,g;
                cout << "bitte geben Sie den Grundwert G ein: ";
                cin >>g;
                cout << "bitte geben Sie den Prozentwert W ein: ";
                cin >> w;
                cout << "p= 100*W/G = "<<prozent3(w,g)<<" %\n";
                break;
                }
              }
     
              break;
            }
          case '7':
          return 0; 
          default:
          cout << "Falsche Eingabe!\n";     
        }
      exit();
     
    }
    //////////////////////////////
    double potenz ( double a,double b )
    {
      if ( b==0 )
        return 1;
      else
        return a * potenz( a,b-1 );
    }
    //////////////////////////////////
    double func ( double *pzahl1,double *pzahl2 )
    {
      system( "cls" );
      cout << "Bitte Geben Sie die erste Zahl ein :";
      cin >> *pzahl1;
      cout << "Bitte Geben Sie die zweite Zahl ein :";
      cin >> *pzahl2;
    }
    ////////////////////////////////////////
    double prozent1 ( double w,double p )
    {
      return W*100/p;
    }
     
     
    ////////////////////////////////////////
    double prozent2 ( double g,double p )
    {
      return g*p/100;
    }
    ////////////////////////////////////////
    double prozent3 ( double w,double g )
    {
      return 100*w/g;
    }
    ////////////////////////////////////////
    int exit()
    {
      cout << "Moechten Sie das Programm Beenden?? j/n :\n";
      switch ( getch() )
        {
        case 'j' :
          return 0;
        case 'n' :
          return main();
        default :
          cout << "!Falsche Eingabe!\n";
          return exit();
        }        
    }
    DAS ist C++, wird C aber wohl nicht sehr unähnlich sein, gelle? Vielleicht kannst du damit was anfangen, hab ich aus dem Internet rausgesucht.


    lg

  5. #4
    ASDFASDF ASDFASDF ist offline

    AW: C "Taschenrechner" porgrammieren

    Danke für den Hinweis Selensija!
    Ich habe mir schon genug C-Hilfen durchgelesen und habs trotzdem nicht hinbekommen, deswegen frage ich hier ja auch. Ich erwarte ja auch von keinem, dass er mir den fertigen Code gibt, sondern hoffe einfach nur, dass ich nen Tip bekomme, wie ich das zu coden habe. Du musst hier nicht den Moralapostel spielen.

    @Limatex: Danke für den Code, werd ihn mir gleich mal durchgucken.^^

  6. #5
    Selensija Selensija ist offline
    Avatar von Selensija

    AW: C "Taschenrechner" porgrammieren

    Code:
    {
      float a,b,c,d,e,f,g,h;
    
      //c,d,e,f = Ergebnisse
    
      printf("Wert1: ");
      g=scanf("%f" ,&a);
    
      printf("Wert2: ");
      h=scanf("%f" ,&b);
      if (g == 1)
      {
         if (h == 1)
         {
    Hier hoffe du kannst dir den Rest vom Programm ausmalen...

Ähnliche Themen


  1. Was wäre, wenn Sony immer noch die Rechte auf die "Crash Bandicoot"- und "Spyro"-Serie hätte?: Meiner Meinung nach haben Naughty Dog und Insomaniac Games einen Riesenfehler begangen, indem sie die Rechte bei Vivendi bzw. heute Activision...

  2. Suche PS2/3 Spiele "Shadow of the Colossus"; "ICO"; "We love Katamari": Wie schon im Titel steht, Suche diese 3 PS2 Titel (und hoffe, dass sie auf der ps3 laufen!) Es gibt sie nicht mehr neu zu kaufen, und bei...

  3. [suche] CRT-TV 21" mit "Real Flat - Bildröhre" und "RGB-Scart": Guten Abend, Ich bin schon sehr lange auf der Suche nach dieser Kombination! Leider wurde ich bei meinen bisherigen Käufen immer enttäuscht. Dabei...

  4. Tausche/verkaufe "Little BIG Planet", "Motorstorm", "Burnout Paradise" und "Skate": hi, hab diese drei Spiele anzubieten, alle OVP und in einwandfreiem Zustand. Ich bräuchte einen original Sony Sixaxis Controller, da ich bis jetz...

  5. Piepen und durchgehendes "drücken" von "1" oder "^": Moin moin, seit gestern habe ich dieses Problem. Es trat auf als ich WordPad benutzte. Der Computer fängt an einfach durchgehend die Taste "1"...