2017-09-15 8 views
-1

私はインターネット上でYouTubeとさまざまなガイドを見ていて、多くのことを見ているので電卓を作るのが楽しいと思っていました。それはうまく動作しますが、私はそれも小数を表示できるようにしたい。すべての答えは高く評価されます。したがって、関与なし小数は、(すべての値は切り捨てられます)が存在しない、あなたのすべての計算は整数の数学で行われ私は小数点を表示するにはどうすればいいですか

#include <iostream> 
#include <limits> 
#include <cstdio> 
#include <tchar.h> 
#include <conio.h> 

using namespace std; 

int main() 

{ 

    std::cout << "My first caclulator\nPlease enter your first number: "; 
    int x, y; 
    std::cin >> x; 
    std::cout << "Please enter the other number: "; 
    std::cin >> y; 
    int w = x*y; 
    int c = x + y; 
    int v = x - y; 
    int q = x/y; 
    std::cout << "\nNumbers multiplied: " << w << endl; 
    std::cout << "\nNumbers added together: " << c << endl; 
    std::cout << "\nNumbers subtracted: " << v << endl; 
    std::cout << "\nNumbers divided: " << q << endl; 
    _tprintf(_T("Press any key to exit ")); 
    while (_kbhit()) _gettch(); 

    _gettch(); 

    return 0; 
} 
+5

「int」と「float」または「double」型の違いについて読んでください。 – DevilaN

+0

あなたのコードは、標準C++の[realmに住んでいません](http://coliru.stacked-crooked.com/a/4ad8de13d5963f13)です。 – user0042

答えて

0

(Iは、#includeの束を持っていますが、それらを無視します)。例えば、setprecisionを使用して丸めるあなたはdoubleを使用するコードを変更することができますが、あなたはそう最高の、小数点以下の桁数が多いことになります:あなたは小数点以下を表示したい場合は

double w = x*y; 
double c = x + y; 
double v = x - y; 
double q = x/y; 
std::cout << "\nNumbers multiplied: " << setprecision(2) << w << endl; 
std::cout << "\nNumbers divided: " << setprecision(2) << q << endl; 
+0

'setprecision'は' std :: '接頭辞(または' using'文)と追加の '#include 'を必要とします。 http://en.cppreference.com/w/cpp/io/manip/setprecision – Melebius

0

、あなたがする必要があります別のデータ型を使用します。
doubleまたはfloatのようなものを試してみてください。

例:

double w = x*y; 
double c = x + y; 
double v = x - y; 
double q = x/y; 

これは正常に動作する必要があります。
他のデータ型に関する詳細情報が必要な場合は、次を参照してください。link

関連する問題