Задача с использованием массива в С++
Подскажите пожалуйста, почему у меня не работает код должный образом. Задание такое:(Учет товаров)
Вводишь № магазина, сколько позиций будет вводиться, вводишь название товара, количество данного товара и его цену. И по завершении спрашивает "Продолжить или нет y/n?" Если да, то продолжаем набивать базу в массив, а если нет, то выводим отчет ПО УКАЗАНОМУ МАГАЗИНУ [1..50].
Что-то не то я с массивами делаю. Откликнитесь пожалуйста кто ни будь.
#include <iostream>
#include <string>
using namespace std;
std::string user_input;
int main() {
cout << "Добро пожаловать в магазин." << endl;
cout << "Регистрация товара1" << endl;
tryAgain:
int numMagaz;
cout << "Введите номер магазина, в которых вы хотите записать товар: ";
cin >>numMagaz;
char NamesProduct[numMagaz][50];
char pcs[numMagaz][50];
float price[numMagaz];
for (int i = 0; i < numMagaz; i++) {
cout << "введите название товара: " << "№"<< i+1 << ": ";
cin >> NamesProduct[numMagaz];
cout << "введите кол-во штук: " ;//<< i+1 << ": "
cin >> pcs[numMagaz];
cout << "введите цену товара: " ;//<< i+1 << ": "
cin >> price[numMagaz];
}
cout << "Продолжить ввод данных: Y/N? " << endl;
cin >>user_input;
if(user_input[0] == 'Y' || user_input[0] == 'y')
{
goto tryAgain;
cout << "Отчет: " << endl;
cout << "Выберите № магазина: " << endl;
cin >>numMagaz;
numMagaz=numMagaz-1;
cout << "Название товара: "<< NamesProduct[numMagaz] <<"\t"<< "Кол-во штук: " << pcs[numMagaz] <<"\t" <<" Цена товара: "<< price[numMagaz] << endl;
}
return 0;
}
Пришел к выводу, что мне нужно использовать трех мерный массив, только как правильно записывать в конкретную ячейку массива не знаю. подскажите пожалуйста.
Надо как-то так:
Вот код, только есть проблемы с синтаксисом((
#include <iostream>
#include <string>
using namespace std;
std::string user_input;
int main() {
int numMagaz=0;
int inputPCS=0;
char Names;
char pcs;
cout << "Добро пожаловать в магазин." << endl;
cout << "Регистрация товара1" << endl;
tryAgain:
cout << "Введите номер магазина, в которых вы хотите записать товар: ";
cin >>numMagaz;
cout << "Сколько позиций вы хотите записать? : ";
cin >>inputPCS;
char Product[numMagaz][50][50];
//char pcs[numMagaz][50][50];
float atribute[numMagaz][50];
for (int i = 0; i < inputPCS; i++) {
cout << "введите название товара: " << i+1 << ": ";
cin >> Product[numMagaz][inputPCS][i];
cout << "введите кол-во штук: " << i+1 << ": ";
cin >> pcs[numMagaz][inputPCS][i];
cout << "введите цену товара: " << i+1 << ": ";
cin >> atribute[numMagaz][i];
inputPCS=+1;
}
cout << "Продолжить ввод данных: Y/N? " << endl;
cin >>user_input;
if(user_input[0] == 'Y' || user_input[0] == 'y') {
goto tryAgain;
}
else {
}
cout << "Отчет: " << endl;
cout << "Выберите № магазина: " << endl;
cin >>numMagaz;
numMagaz=numMagaz-1;
cout << "Название товара: "<< Product[numMagaz] <<"\t"<< "Кол-во штук: " << pcs[numMagaz] <<"\t" <<" Цена товара: "<< atribute[numMagaz] << endl;
return 0;
}