2017-12-04 19 views
-2

皆さん、受信した情報を計算するだけでなく、テキストファイルにユーザー入力を書き込むための簡単なC++プログラムを作成しています。これまでのところ、私はドルを円に換算しようとしていますが、何らかの理由で私はプログラムが情報を集めるのを妨げるものが何かを突き止めることができませんでした。ユーザー入力に基づく計算(C++学校プロジェクト)

//Dollars to Yen Project 

#include <cstring> 
#include <climits> 
#include <iostream> 
#include <sstream> 
#include <fstream> 

using namespace std; 

class A 
{ 
private: 
    float dollars, yen; 

public: 
    void store(float); 
    float convert(); 
}; 

void A::store(float dollars1) 

{ 
    dollars = dollars1; 
} 

float A::convert() //mutators used 

{ 
    yen = dollars*0.0089; 
    return yen; 
} 

int main() 

{ 

    float dollars; 
    float yen; 
    cout << "Welcome to Japan, you will need to convert Dollars into Yen to spend money here\n" << endl; 
    string b; 
    while (1) 

    { 

     cout << "Enter the amount in dollars to be converted\n"; 
     cin >> b; 
     system("pause"); 
     if (b.find_first_not_of("1234567890.-") != string::npos) //input check validity 
     { 

      cout << "invalid number:" << b << endl; 

     } 

     else 

     { 

      break; 

     } 
    } 

    float r = atof(b.c_str()); 
    A a; 
    a.store(r); 
    float c = a.convert(); 

    stringstream ss; 
    ss << c; 

    string s1 = ss.str(); 
    ofstream prog; 

    prog.open("money.txt"); 
    prog << "The required amount of Yen is " + s1; 
    prog.close(); 
    return 0; 

} 

助けてください。ありがとう!!

+3

プログラムの計算を妨げる何かが意味しますか?コンパイルエラー?ランタイムエラー?無効な結果ですか? – Lasoloz

+3

[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)に時間を割いてください。次に、あなたの質問を編集して、いくつかの入力例と、その入力からの期待された実際の出力のような詳細を私たちに教えてください。また、[あなたのプログラムをデバッグする方法を学ぶ]ことをお勧めします(https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。ビルドエラーが発生した場合は、それらを完全にテキストとしてコピーして、変更なしで質問に貼り付けてください。 –

+0

あなたのコンピュータに座っている真実があります。 –

答えて

0

まずクラス 'A'のオブジェクトを作成し、メソッドを呼び出します。

A a; // object declaration 
a=new A(); // object Creation 

    or 
A a=new A(); 

、次いで、 a.store(R)のようなメソッドを呼び出します。 a.convert();

関連する問題