mdcalc

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • ja, seit gestern schreib ich an mdcalc, einem taschenrechner, der seine eingaben per kommandozeilen parameter erwartet (damit ich ihn einfach per exec -o per xchat aufrufen kann)

      hier sind die sourcen:

      C-Quellcode

      1. /* mdclac by Martin Dannehl, (c)2005 - 3of5@unimatrix-01.org
      2. Weiterverbreitung und Weiterbearbeitung unter Beibehaltung des Copyrights erlaubt*/
      3. #include <iostream>
      4. #include <iomanip>
      5. #include <cmath>
      6. using namespace std;
      7. int main (int argc,char* argv[])
      8. {
      9. bool pararight = false;
      10. if (argc == 1) //Überprüfen ob Parameteranzahl korrekt, wenn nicht Meldung und Ende
      11. {
      12. cout << "mdcalc (c) 2005 Martin Dannehl" << endl
      13. << "Usage: Wert1 Operand Wert2" << endl
      14. << "Zulässige Operanden: " << endl
      15. << "+ (Summe)" << endl
      16. << "- (Differenz)" << endl
      17. << "x (Produkt)" << endl
      18. << "/ (Quotient)" << endl
      19. << "^ (Potenz)" << endl
      20. << "_ (Wurzel)" << endl;
      21. pararight = true;
      22. }
      23. if (argc == 4)
      24. {
      25. pararight = true;
      26. double Wert1,Wert2; //Einlesen der Parameter in Variablen
      27. char operand;
      28. Wert1 = atof(argv[1]);
      29. Wert2 = atof(argv[3]);
      30. operand = argv[2][0];
      31. switch (operand) //Auswählen und berechnen anhand des Operanden
      32. {
      33. case '+': cout << Wert1 << " + " << Wert2 << " = " << Wert1+Wert2 << endl;break;
      34. case '-': cout << Wert1 << " - " << Wert2 << " = " << Wert1-Wert2 << endl;break;
      35. case 'x': cout << Wert1 << " x " << Wert2 << " = " << Wert1*Wert2 << endl;break;
      36. case '/': cout << Wert1 << " / " << Wert2 << " = " << Wert1/Wert2 << endl;break;
      37. case '^': cout << Wert1 << " ^ " << Wert2 << " = " << pow(Wert1,Wert2) << endl;break;
      38. case '_': cout << Wert1 << " _ " << Wert2 << " = " << pow(Wert1,(1/Wert2)) << endl;break;
      39. default: cout << "Fehlerhafter Operand!" << endl
      40. << "Zulässig: + - x / ^" << endl;
      41. }
      42. }
      43. if (!pararight)
      44. cout << "Fehlerhafte Parameteranzahl!" << endl << "Bitte in angeben: Wert1 Operand Wert2" << endl;
      45. }
      Alles anzeigen

      als nächstes bastel ich wohl eine fakultätsberechnung dazu und vllt das parsen von termen, was stanny schon im irc vorgeschlagen hatte
      da hab ich nur noch net so ne rechte idee wie ich das implementieren soll