Привет. Вопрос вот в чем:
Задание: "Создать массив структур, содержащий информацию."
Различные цеха завода выпускают продукцию нескольких наименований. Сведения о выпущенной продукции включают наименование, количество и номер цеха. Для заданного цеха вывести количество выпущенных изделий. Код:
Code
#include <iomanip>
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{
locale::global(locale("rus"));
struct RECORD{
string header; // Название детали
int quantity; // Коллчичество деталей
int shop; // Номер цеха
};
cout << "Введите колличество записей о выпущенных деталях: ";
int N;
cin >> N;
RECORD* details;
details = new RECORD[N];
for(int i = 0; i < N; ++i)
{
cout << "Введите номер цеха: "; cin >> details[i].shop;
cout << "Введите название детали: ";
cin >> details[i].header;
cout << "Введите кол-во деталей выпущенных данным цехом: ";
cin >> details[i].quantity;
}
for(int i = 0; i < N; ++i)
{
cout << details[i].header << '\t' << details[i].shop << '\t' << details[i].quantity << endl;
}
cout << "Введите номер цеха, для которого высчитывается общее колличество выпущенных изделий: ";
int shop;
cin >> shop;
int count = 0;
for(int i = 0; i < N; ++i)
{
if(details[i].shop == shop)
count += details[i].quantity;
}
cout << "Цех номер " << shop << " выпустил " << count << " дуталей" << endl;
getch();
return 0;
}
Проблема в том что строки так не вводятся: cin >> N; Они должны вводится через getline:
Code
istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );
Как теперь переделать не могу понять....