Bezeichner nicht gefunden?
Bekomme ich immer wieder Fehler in diesem wirklich einfachen Programm und ich kann nicht herausfinden, warum. Hilfe!!!
//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;
}
Und hier sind die Fehler, die ich immer bin:
error C2062: type 'float' unexpected
error C3861: 'getline': identifier not found
error C2065: 'CPRICE' : undeclared identifier
Habe ich die notwendigen Verzeichnisse, kann ich nicht verstehen, warum dieses nicht funktioniert.
- Ich würde vorschlagen, deklarieren Sie nur eine variable pro Erklärung; zum Beispiel
... int aSold; <newline> int bSold; ...
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für Ihren ersten Fehler, ich denke, dass das problem in dieser Erklärung:
In C++ zu deklarieren mehrere Konstanten in einer Zeile, Sie wiederholen Sie nicht den Namen von dem Typ. Stattdessen schreiben Sie einfach
Dies sollte auch fix Ihre letzten Fehler, die ich glaube, ist, verursacht durch den compiler immer verwirrt, dass
CPRICE
ist eine Konstante, weil der Fehler in deiner Erklärung.Für den zweiten Fehler, nutzen
getline
müssen Sienicht nur
Da die
getline
Funktion ist in<string>
(die neue C++ - string-header) und nicht<cstring>
(die old-style-C-string-header).Sagte, ich denke, du wirst immer noch Fehler aus, weil
movieName
ist deklariert als einint
. Versuchen Sie, es zu definieren, wie einstd::string
statt. Sie möchten vielleicht auch zu erklären, Ihre anderen Variablen alsfloat
s, da Sie die Speicherung von reellen zahlen. Generell würde ich vorschlagen, die Definition Ihrer Variablen, wie Sie Sie brauchen, anstatt alle bis auf die Spitze.Hoffe, das hilft!