Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2009, 22:07   #1
-ushёl-
Форумчанин
 
Аватар для -ushёl-
 
Регистрация: 04.02.2009
Сообщений: 141
Вопрос C++,структуры,NEW,массивы из структур

Подскажите,пожалуйста!Можно ли в следующем коде упростить процесс ввода??
#include <iostream>
#include<string>
using namespace std;
struct candybar
{
string name;
double weight;
int kkal;
};
int main(int argc, char *argv[])
{
candybar* snack = new candybar[3];
/*snack[0] = {"mochaMunch",2.3,350};
snack[1] = {"bulocka",3.4,400};
snack[2] = {"ponchik",4.3,500};*/
//pochemu nelzya sdelat tak???
getline(cin,snack[0].name);
cin>>snack[0].weight;
cin>>snack[0].kkal;
cin.ignore();
getline(cin,snack[1].name);
cin>>snack[1].weight;
cin>>snack[1].kkal;
cin.ignore();
getline(cin,snack[2].name);
cin>>snack[2].weight;
cin>>snack[2].kkal;
cout<<"vvedeni sleduushie parametri vipechki: "<<snack[0].name<<endl<<snack[0].weight<<endl<<snack[0].kkal<<endl;
cout<<snack[1].name<<endl<<snack[1].weight<<endl<<snack[1].kkal<<endl;
cout<<snack[2].name<<endl<<snack[2].weight<<endl<<snack[2].kkal<<endl;
delete [] snack;


system("PAUSE");
return EXIT_SUCCESS;
}


Почему нельзя использовать инициированный изначально массив структур candybar?Не могу решить задачу одну:вобщем нужно создать структуру из 3х членов структуры и создать массив из 3х структур candybar(инициализированный любыми значениями).Но есть одно но:вместо массива структур использовать операцию new для динамического размещения массива!
-ushёl- вне форума Ответить с цитированием
Старый 15.11.2009, 00:08   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

можно вводить данные в цикле

Код:
for(int i=0;i<n;i++)
{
  getline(cin,snack[i].name);
  cin>>snack[i].weight;
  cin>>snack[i].kkal;
}
n - количество элементов массива, в вашем случае n=3

Цитата:
Почему нельзя использовать инициированный изначально массив структур candybar?
можно и так, только нужно написать конструктор структуры, который будет инициировать данные по умолчанию

Последний раз редактировалось counter; 15.11.2009 в 00:12.
counter вне форума Ответить с цитированием
Старый 15.11.2009, 20:18   #3
-ushёl-
Форумчанин
 
Аватар для -ushёl-
 
Регистрация: 04.02.2009
Сообщений: 141
По умолчанию

благодарю вас!
-ushёl- вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структуры,запись в бинарные файлы,массивы(С++) TOSHH Общие вопросы C/C++ 1 10.10.2009 02:01
Массив структур velvetdust Общие вопросы C/C++ 0 21.03.2009 13:18
массивы структур vasek123 Общие вопросы C/C++ 25 07.03.2009 20:13
Массивы структур.СИ под ДОС. Zid@ne Общие вопросы C/C++ 2 12.12.2008 18:16
Массивы и структуры в структурах (Задача в С++) bel_ka Общие вопросы C/C++ 4 16.12.2007 15:31