Fusescalc 0.4 ;)

cmk

cmk

Benutzertitel:
HIer die neue Fassung ;)

c++ macht irgendwie spass ;) - ist alles noch sehr primitiv ich weiß - aber ich finde ein kleines nützliches platzsparendes tool :)

eine frage: wenn ich 5 / 2 rechne, dann kommt 2 raus weil int keine fließkommazahlen unterstüzt - welcher typ unterstützt das?

/***************************************************************************
main.cpp - description
-------------------
begin : Mon Oct 28 19:35:48 CET 2002
copyright : (C) 2002 by Christian Kienle AND unixboard.de MEMBERS
email : **********
***************************************************************************/

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int a,b,c;
/*
a == ERSTE EINGABE
b == ZWEITE EINGABE
c == ERGEBNIS
*/
int status = 1;
/*
status == EXIT OR NOT
*/
char op;
/*
op == OPERATOR
*/
cout << "##### FuselCalc 0.4 #####\n\n";
cout << "ENTER A NUMBER AND THEN PRESS ENTER: ";
cin >> a;
cout << "OPERATOR EG: (/,*.-,+): ";
cin >> op;
cout << "ENTER ANOTHER NUMBER AND THEN PRESS ENTER: ";
cin >> b;
switch ( op )
{
case '/' : c = a/b; break;
case '*' : c = a*b; break;
case '-' : c = a-b; break;
case '+' : c = a+b; break;
}
/*
HERAUSFINDEN WELCHER OPERATOR VERWENDET WURDE
*/
cout << "\n**************************************************************";
cout << "\nRESULT OF:\n";
cout << a;
cout << " ";
cout << op;
cout << " ";
cout << b;
cout << " = ";
cout << c;
cout << "\n**************************************************************";

while(status != 2)//SOLGANGE WEITERRECHEN WIE status != 2
{
cout << "\n\nGOING ON? PRESS ANY INT FOR YES OR PRESS [2] FOR EXIT: ";
cin >> status;
if(status != 2)//status != 2 ALSO WEITER MACHEN
{
cout << "\n\nOPERATOR EG: (/,*.-,+): ";
cin >> op;
cout << "ENTER A NUMBER AND THEN PRESS ENTER: ";
cin >> b;
switch ( op )
{
case '/' : c = c/b; break;
case '*' : c = c*b; break;
case '-' : c = c-b; break;
case '+' : c = c+b; break;
}
/*
HERAUSFINDEN WELCHER OPERATOR VERWENDET WURDE
*/
cout << "\n**************************************************************";
cout << "\nNEW RESULT: ";
cout << c;
cout << "\n**************************************************************";
}
else //WENN status == 2 DANN EXIT
{
cout << "\n\nTHANK YOU FOR USING FuselCalc 0.4";
}
}


return 0;
}
 
Ich hab's mir nicht genau durchgelesen, aber du musst eine Division durch null noch abfangen.
 
Der Typ der Fliesskommazahlen unterstützt heisst glaub ich Float. :)
 
oke ;) division / 0 werde ich versuchen noch abzufangen.

danke saintjoe für den tipp ;)

0.5 kommt bald ;)
 
tach auch =)
also so als tipps:

nicht alles in eine function schreiben, das ist unuebersichtlich
ausserdem tauchen gleiche codesegmente mehrfach auf, das ist
ueberfluessig, und viel zu viel arbeit =)

die typen, die fliesskomma koennen sind double und float .
alternativ mit a/b und a%b und dann das zusammenbasteln ;) dann bleibst du bei int =)

so long
merlin
 
hehe danke ;)

schöne tipps habt ihr mir da gegeben - danke.

Werde mich mal hinsetzten und rumwerkeln.

ehhhmmm

es gibt doch eine header datei <math.h> heisst die glaub ich. Die hat doch verschiedene mathematische formeln als funktionen abrufbereit - ode?

find ich da n tut über die herader datei?
 
hab leider keinen link :( aber hier mal das wichtigste aus der math.h
Code:
double fabs (double)						//Absolutwert
double ceil (double d)						//kleinster Integer
double floor (double d)						//größter Integer
double sqrt (double d)						//Quadratwurzel
double pow (double d, double d)					//x hoch y
double cos (double d)						//Cosinus
double sin (double d)						//Sinus
double tan (double d)						//Tangens
double acos (double d)						//Arcus-Cosinus
double asin (double d)						//Arcus-Sinus
double atan (double d)						//Argus-Tangens
double exp (double)						//Exponentialfunktion zur Basis e
double log (double d)						//Logarithmus zur Basis e
double log10 (double d)						//Logarithmus zur Basis 10
 

Ähnliche Themen

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

Verständnisfrage zu RegExps

Probleme mit srand()

Prozesskommunikation mit PIPES - wie funktioniert das?

[Perl] Perl OO Methodenaufruf in anderem Objekt

Zurück
Oben