У меня есть проект, где мне нужно создать список покупок с функциональностью проверки. Я пытаюсь создать массив, используя вход пользователя. Они поставляют, сколько продуктов они покупают, и мне нужно использовать это, чтобы определить размер массива.Использование пользовательского ввода для определения массива
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
struct shopList {
double pluCode;
string product;
int saleType; // 0 = per unit, 1 = per pound
double price;
double inventory;
};
int main(){
char line[255];
const int items = 0;
int n;
ofstream outfile;
outfile.open("products.txt");
cout << "How many items in your checkout: ";
cin >> items;
shopList shop[items];
for (n = 0; n < items; n++) {
cout << "Enter the PLU code: ";
cin >> shop.pluCode;
outfile << shop.pluCode << " ";
cout << "Enter product name: ";
cin >> shop.product;
outfile << shop.product << " ";
cout << "Enter the price type (0 for per unit, 1 for per pound): ";
cin >> shop.saleType;
outfile << shop.saleType << " ";
cout << "Enter the price of the product: ";
cin >> shop.price;
outfile << shop.price << " ";
cout << "How much will you purchase: ";
cin >> shop.inventory;
outfile << shop.inventory << " " << "\n";
}
outfile.close();
ifstream infile;
infile.open("products.txt");
infile.getline(line, 255);
cout << line << endl;
}
Вы не можете сделать это в стандартном C++. Используйте 'std :: vector' (или, возможно, выделите с помощью' new') –
Не используйте 'char [255]'. Вместо этого используйте 'std :: string'. –
@MatsPetersson Я совершенно уверен, что «невозможно сделать это в стандартном C++» _ false. Вы сказали, почему в своем собственном комментарии. –