Hallo Ich habe einige Probleme bei der Erstellung einer GroceryItem-Klasse und Funktionen zum Akzeptieren und Festlegen der Eingabe von einem Benutzer ausgeführt.Brauchen Sie Hilfe beim Implementieren von Funktionen in GroceryItem-Klasse
Derzeit, wenn ich die DataEntry-Funktion ausführen, geht der Compiler auf die nächste Funktion vor Annahme der Eingabe von der ersten Funktion.
Ich habe ein Test-Milchobjekt erstellt, um meinen Code zu testen, aber es erlaubt mir nicht, Daten einzugeben, bevor ich zur nächsten Eingabeaufforderung gehe.
Sobald ich die Klassenfunktionen herausfinden kann, werde ich auch ein Array von Objekten und Eingabewerte für solche erstellen.
Irgendein Rat, wie ich über das Reparieren dieser Klasse und Funktionen gehen kann, würde sehr geschätzt werden!
#include <iostream>
using namespace std;
class GroceryItem{
private: int stockNumber;
double price = 0.0;
int quantity;
double totalValue;
double setPrice();
int setStockNum();
int setQuantity();
void setTotalValue();
public:
void dataEntry();
void displayValues();
};
int GroceryItem::setStockNum(){
int stock = 0;
cout << "Enter the stock number for the grocery item: ";
do {
cout << "Stock Number(1000-9999): ";
cin >> stock;
} while (!(stock >= 1000 && stock <= 9999));
stockNumber = stock;
return stockNumber;
}
double GroceryItem::setPrice(){
double x = 0.0;
cout << "Enter the price of the item: ";
while (!(x > 0)) {
cout << "Please enter a positive number for price!";
cin >> x;
}
price = x;
return price;
}
int GroceryItem::setQuantity(){
int x = 0;
cout << "Enter the quantity in stock: ";
while (!(x > 0)){
cout << "Please enter a positive number for quantity!";
cin >> x;
}
quantity = x;
return quantity;
}
void GroceryItem::setTotalValue(){
totalValue = (quantity * price);
}
void GroceryItem::dataEntry(){
setStockNum();
system("pause");
setPrice();
system("pause");
setQuantity();
system("pause");
setTotalValue();
}
void GroceryItem::displayValues(){
cout << "Stock number: " << stockNumber;
cout << "\nItem price: " << price;
cout << "\nQuantity on hand: " << quantity;
cout << "\nTotal value of item: " << totalValue;
}
int main(){
GroceryItem Milk;
Milk.dataEntry();
Milk.displayValues();
system("pause");
return 0;
}
Was meinen Sie damit? Es ist keine gültige Codezeile, also nicht sicher, was Sie meinen – AddieCaddy
Sie sollten das 'price'-Element mit einem Konstruktor initialisieren. –
Sieht aus wie ein guter Kandidat für die Verwendung eines * Debuggers *. –