2012-02-16 7 views
0

このシンプルなプログラムではエラーが発生し続けていますが、その理由を理解することはできません。助けて!これが動作しない理由を私は理解できない、私は必要なディレクトリを含めました識別子が見つかりませんか?

error C2062: type 'float' unexpected 
error C3861: 'getline': identifier not found 
error C2065: 'CPRICE' : undeclared identifier 

//This program will calculate a theater's revenue from a specific movie. 
#include<iostream> 
#include<iomanip> 
#include<cstring> 
using namespace std; 

int main() 
{ 
    const float APRICE = 6.00, 
      float CPRICE = 3.00; 

    int movieName, 
     aSold, 
     cSold, 
     gRev, 
     nRev, 
     dFee; 

    cout << "Movie title: "; 
    getline(cin, movieName); 
    cout << "Adult tickets sold: "; 
    cin.ignore(); 
    cin >> aSold; 
    cout << "Child tickets sold: "; 
    cin >> cSold; 

    gRev = (aSold * APRICE) + (cSold * CPRICE); 
    nRev = gRev/5.0; 
    dFee = gRev - nRev; 

    cout << fixed << showpoint << setprecision(2); 
    cout << "Movie title:" << setw(48) << movieName << endl; 
    cout << "Number of adult tickets sold:" << setw(31) << aSold << endl; 
    cout << "Number of child tickets sold:" <<setw(31) << cSold << endl; 
    cout << "Gross revenue:" << setw(36) << "$" << setw(10) << gRev << endl; 
    cout << "Distributor fee:" << setw(34) << "$" << setw(10) << dFee << endl; 
    cout << "Net revenue:" << setw(38) << "$" << setw(10) << nRev << endl; 

    return 0; 
} 

そして、ここでは、私が取得していますエラーです。あなたの最初のエラーのために

+0

私は宣言ごとに1つの変数だけを宣言することをお勧めします。たとえば、 '... int aSold; int bSold; ... '。 –

答えて

6

、私は問題は、この宣言であることを考える:C++で

const float APRICE = 6.00, 
     float CPRICE = 3.00; 

、行に複数の定数を宣言するために、あなたはタイプの名前を繰り返さないでください。代わりに、ちょうどまた、私はCPRICEが原因であなたの宣言でのエラーのために一定であることを混乱コンパイラによって引き起こされると考えているあなたの最後のエラーを修正する必要があり

const float APRICE = 6.00, 
      CPRICE = 3.00; 

これを書きます。 getline機能が<string>(新しいC++文字列ヘッダ)とない<cstring>(であるので

2番目のエラーの場合は、getlineを使用するには、

#include <string> 

だけでなく

#include <cstring> 

に必要古いスタイルのC文字列ヘッダー)。

つまり、movieNameintと宣言されているので、これからもエラーが発生すると思います。代わりにstd::stringと定義してみてください。実数を格納しているので、他の変数をfloatと宣言することもできます。より一般的に言えば、変数を定義することをお勧めします。

希望すると便利です。

+0

+1必要に応じて宣言します。変数は常に可能な限り厳密なスコープを持ち、宣言の直後に初期化されます。 –

関連する問題