2016-12-15 1 views
-1

私はルピーとpaisaを追加するためのプログラムをC++で書いています。ルピーとパイズをC++で追加する

#ifndef CURRENTY_H 
#define CURRENT_H 
class current 
{ 
long Rs; 
int paise; 
public: 
    current() 
     { 
     Rs=0; 
     paise=0; 
     } 
    void get(); 
    void operator+=(current &t); 
    void put(); 

}; 

と私のcurrent.cppファイルが

#include<iostream> 
#include"current.h" 
void current::get() 
{ 
    std::cout<<"\nEnter currency in Rs:"; 
    std::cin>>Rs; 
    std::cout<<"\nEnter currency in Paise:"; 
    std::cin>>paise; 
} 
void current::operator+=(current &t) 
{ 
    Rs+=t.Rs; 
    paise+=t.paise; 
    std::cout<<"\n\nThe added currncy Rs: "<<Rs<<"."<<paise; 
} 

void current:: put() 
{ 
std::cout<<Rs<<""<<paise; 
} 

で、私のmain.cppには

#include <QCoreApplication> 
    #include "current.h" 
    #include<iostream> 
    int main(int argc, char *argv[]) 
    { 
    QCoreApplication a(argc, argv); 
    current c1,c2; 
    c1.get(); 
    c2.get(); 
    std::cout<<"\n\tFirst currency Rs:"; 
    c1.put(); 
    std::cout<<"\n\tSecond currncy Rs:"; 
    c2.put(); 
    c1+=c2; 
    return a.exec(); 
    } 

であり、私が得る出力は

です: 私のヘッダファイルは以下の通りです。
Enter currency in rs: 40 
Enter currency in paisa : 90 
Enter currency in rs : 50 
Enter currency in paisa: 90 

first currency is : 40.90 
second currency is 50.90 

Added currency is : 90.180 

今問題直面しているのは出力を変換したい、つまり追加された通貨は90.180です。 100以上の数字を変換する(paisa)ルピーに変換する

Expected output shoud be :Added currency is : 91.8 

これを達成するには?

答えて

-1

パイズをそれぞれのルピーに変換し、残りのパイズをそのまま変換します。

void current::operator+=(current &t) 
{ 
    Rs+=t.Rs; 
    paise+=t.paise; 
    Rs+= paise/100; 
    paise = paise % 100; 
    std::cout<<"\n\nThe added currncy Rs: "<<Rs<<"."<<paise; 
} 
+0

答えは受け入れられないため、これは他の問題を作成しましたか?それは私のために働く。 – Swapnil

+0

'operator + =()'は 'const'リファレンスを取るべきです。 – IInspectable

-1

簡単な方法は、通貨RSを考慮し、ルピーにpaiseを変換するために、単一の値として、その値を丸めるpaiseすることで、あなたは次のコードpaise利用を分離する必要がある場合。

int result = static_cast<int>(number*10)%10;