Aaron Havenar
Aaron Havenar

Reputation: 5

Using user input to define array

I have a project where I need to create a shopping list with checkout functionality. I am trying to create an array using a users input. They supply how many products they are purchasing and I need to use that to define the size of the array.

#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;
}

Upvotes: 0

Views: 792

Answers (1)

01axel01christian
01axel01christian

Reputation: 970

It's possible , you just have to change your declaration like that;

int items = 0 ; cin >> items;

shopList *shop =  new  shopList [items];

Upvotes: 1

Related Questions