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

Nginx als Reverse Proxy für Nextcloud und Emby

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

Verständnisfrage zu RegExps

Funktion nicht gefunden

Probleme mit srand()

Zurück
Oben