Здравствуйте, у меня возникли проблемы с созданием класса GroceryItem и использованием функций для принятия и ввода ввода от пользователя.Нужна помощь в реализации функций класса GroceryItem
В настоящее время, когда я запускаю функцию dataEntry, компилятор переходит к следующей функции перед принятием ввода от первой функции.
Я создал объект тестового молока, чтобы проверить свой код, но он не позволяет мне вводить данные, прежде чем переходить к следующему приглашению ввода.
Как только я могу определить функции класса, я также создам массив объектов и входных значений для таких.
Любые советы о том, как я могу это исправить, этот класс и функции будут очень благодарны!
#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;
}
Что вы имеете в виду под этим? Это не допустимая строка кода, поэтому не уверен, что вы имеете в виду. – AddieCaddy
Вы должны инициализировать член 'price' с помощью конструктора. –
Выглядит как хороший кандидат на использование * отладчика *. –