C/C++

Структуры не выводятся, что делать?

#include <iostream>;
#include <string>;
#include <cctype>

struct product
{
std::string name;
int category;
std::string date;
std::string date_manufacture;
int shelf_life;
int price;
int count;
};


int main(int argc[])
{
product white_bread = { "White bread", 1, "21.12.2022", "21.12.2022", 11, 100, 18 };
product wheat_bread = { "wheat bread", 3, "21.12.2022", "21.12.2022", 9, 70, 118 };
product rye_bread = { "rye bread", 4, "21.12.2022", "21.12.2022", 16, 60, 161 };
product pretzel = { "pretzel bread", 8, "21.12.2022", "21.12.2022", 18, 71, 111 };
product pite = { " pite bread", 6, "21.12.2022", "21.12.2022", 3, 84, 121 };
product challah = { "challah bread", 7, "21.12.2022", "21.12.2022", 21, 26, 131 };
product french_breath = { "french bread", 10, "21.12.2022", "21.12.2022", 17, 34, 141 };
product croissant_breath = { "croissant bread", 12, "21.12.2022", "21.12.2022", 1, 89, 17 };
product donut_breath = { "donut bread", 11, "21.12.2022", "21.12.2022", 22, 77, 9 };
product sweet_breath = { "sweet bread", 13, "21.12.2022", "21.12.2022", 11, 44, 65 };
product italian_breath = { "italian bread", 14, "21.12.2022", "21.12.2022", 18, 76, 45 };
product russian_breath = { "russian bread", 16, "21.12.2022", "21.12.2022", 14, 82, 42 };
product african_breath = { "african bread", 15, "21.12.2022", "21.12.2022", 13, 45, 93 };
product japan_breath = { "japan bread", 7, "21.12.2022", "21.12.2022", 17, 32, 64 };
product serbian_breath = { "french bread", 9, "21.12.2022", "21.12.2022", 19, 99, 12 };
product belgian_breath = { "belgian bread", 22, "21.12.2022", "21.12.2022", 19, 62, 35 };
product british_breath = { "british bread", 17, "21.12.2022", "21.12.2022", 16, 53, 48 };
product american_breath = { "american bread", 14, "21.12.2022", "21.12.2022", 14, 57, 27 };
product spanish_breath = { "spanish_breath bread", 18, "21.12.2022", "21.12.2022", 12, 61, 86 };
product black_breath = { "black bread", 21, "21.12.2022", "21.12.2022", 24, 34, 43 };

for (int i = 0; i < 20; ++i) {
std::cout << product[i].name;
}
return 0;

}


Надо вывести все элементы name из структур
ШK
Ш@/\@ Kazak
21
 #include ; 
#include ;
#include
#include

struct product
{
std::string name;
int category;
std::string date;
std::string date_manufacture;
int shelf_life;
int price;
int count;
};


int main(int argc[])
{
std::vector products =
{
{ "White bread", 1, "21.12.2022", "21.12.2022", 11, 100, 18 },
{ "wheat bread", 3, "21.12.2022", "21.12.2022", 9, 70, 118 },
{ "rye bread", 4, "21.12.2022", "21.12.2022", 16, 60, 161 },
{ "pretzel bread", 8, "21.12.2022", "21.12.2022", 18, 71, 111 },
{ " pite bread", 6, "21.12.2022", "21.12.2022", 3, 84, 121 },
{ "challah bread", 7, "21.12.2022", "21.12.2022", 21, 26, 131 },
{ "french bread", 10, "21.12.2022", "21.12.2022", 17, 34, 141 },
{ "croissant bread", 12, "21.12.2022", "21.12.2022", 1, 89, 17 },
{ "donut bread", 11, "21.12.2022", "21.12.2022", 22, 77, 9 },
{ "sweet bread", 13, "21.12.2022", "21.12.2022", 11, 44, 65 },
{ "italian bread", 14, "21.12.2022", "21.12.2022", 18, 76, 45 },
{ "russian bread", 16, "21.12.2022", "21.12.2022", 14, 82, 42 },
{ "african bread", 15, "21.12.2022", "21.12.2022", 13, 45, 93 },
{ "japan bread", 7, "21.12.2022", "21.12.2022", 17, 32, 64 },
{ "french bread", 9, "21.12.2022", "21.12.2022", 19, 99, 12 },
{ "belgian bread", 22, "21.12.2022", "21.12.2022", 19, 62, 35 },
{ "british bread", 17, "21.12.2022", "21.12.2022", 16, 53, 48 },
{ "american bread", 14, "21.12.2022", "21.12.2022", 14, 57, 27 },
{ "spanish_breath bread", 18, "21.12.2022", "21.12.2022", 12, 61, 86 },
{ "black bread", 21, "21.12.2022", "21.12.2022", 24, 34, 43 }
};
for (int i = 0; i < 20; ++i) {
std::cout
Пётр Тимофеев
Пётр Тимофеев
51 416
Лучший ответ
Ш@/\@ Kazak Спасибо
Проблема возникает потому, что в вашем коде попытка обращения к элементам структур `product` происходит как к массиву, а не как к полям каждой структуры. Поправьте ваш код таким образом:

```
for (int i = 0; i < 20; ++i) {
std::cout << products[i].name << std::endl;
}
```

Таким образом, вы можете обратиться к полю `name` каждой структуры `product` из массива `products` в цикле. А кроме того, стоит заметить, что в вашем коде вы обращаетесь к несуществующему типу данных `products`, в то время как название переменной - `white_bread`, `wheat_bread` и т.д. Если вам нужно использовать массив структур, то объявите массив и добавьте в него все структуры:

```
product products[] = {
{ "White bread", 1, "21.12.2022", "21.12.2022", 11, 100, 18 },
{ "wheat bread", 3, "21.12.2022", "21.12.2022", 9, 70, 118 },
{ ... },
...
};

for (int i = 0; i < 20; ++i) {
std::cout << products[i].name << std::endl;
}
```
Ш@/\@ Kazak Спасибо
 #include  
#include
//#include

struct product
{
std::string name;
int category;
std::string date;
std::string date_manufacture;
int shelf_life;
int price;
int count;
};


//int main(int argc, char * argv[])
int main()
{
product p[20];
p[0] = { "White bread", 1, "21.12.2022", "21.12.2022", 11, 100, 18 };
p[1] = { "wheat bread", 3, "21.12.2022", "21.12.2022", 9, 70, 118 };
p[2] = { "rye bread", 4, "21.12.2022", "21.12.2022", 16, 60, 161 };
p[3] = { "pretzel bread", 8, "21.12.2022", "21.12.2022", 18, 71, 111 };
p[4] = { " pite bread", 6, "21.12.2022", "21.12.2022", 3, 84, 121 };
p[5] = { "challah bread", 7, "21.12.2022", "21.12.2022", 21, 26, 131 };
p[6] = { "french bread", 10, "21.12.2022", "21.12.2022", 17, 34, 141 };
p[7] = { "croissant bread", 12, "21.12.2022", "21.12.2022", 1, 89, 17 };
p[8] = { "donut bread", 11, "21.12.2022", "21.12.2022", 22, 77, 9 };
p[9] = { "sweet bread", 13, "21.12.2022", "21.12.2022", 11, 44, 65 };
p[10] = { "italian bread", 14, "21.12.2022", "21.12.2022", 18, 76, 45 };
p[11] = { "russian bread", 16, "21.12.2022", "21.12.2022", 14, 82, 42 };
p[12] = { "african bread", 15, "21.12.2022", "21.12.2022", 13, 45, 93 };
p[13] = { "japan bread", 7, "21.12.2022", "21.12.2022", 17, 32, 64 };
p[14] = { "french bread", 9, "21.12.2022", "21.12.2022", 19, 99, 12 };
p[15] = { "belgian bread", 22, "21.12.2022", "21.12.2022", 19, 62, 35 };
p[16] = { "british bread", 17, "21.12.2022", "21.12.2022", 16, 53, 48 };
p[17] = { "american bread", 14, "21.12.2022", "21.12.2022", 14, 57, 27 };
p[18] = { "spanish_breath bread", 18, "21.12.2022", "21.12.2022", 12, 61, 86 };
p[19] = { "black bread", 21, "21.12.2022", "21.12.2022", 24, 34, 43 };

for (int i = 0; i < 20; ++i) {
std::cout
Саша Асадчий
Саша Асадчий
9 833
Ш@/\@ Kazak Спасибо