Войти Зарегистрироваться Войти через
Главная › Все вопросы › Компьютеры › Программирование › C, C++, C#
Des-Officer 26 июля 2009 года  

Знающим С++

Вопрос в конце.

// Упражнение:
/*Структура CandyBar включает три члена. Первый из них содержит
наименование коробки конфет. Второй - её вес (который может иметь
дробную часть), а третий - число калорий (целое значение). Напишите
программу, которая использует операцию new для динамического размещения
массива структур CandyBar, инициализирует его значениями на ваше
усмотрение, а затем отображает содержимое каждой структуры.*/

#include

struct CandyBar
{
char type[20];
float weight;
int callories;
};

int main()
{
using namespace std;
CandyBar *snack = new CandyBar[3];

snack[3] =
{
{"Mocha Munch", 2.3, 350},
{"Rafaello", 0.2,200},
{"Cote'D'Or", 0.3,400}
};

cout << "The name of the first candy bar: " << snack[0].type;
cout << "\nIts weight: " << snack[0].weight;
cout << "\nAmount of callories: " << snack[0].callories;
cout << endl << endl;

cout << "The name of the second candy bar: " << snack[1].type;
cout << "\nIts weight: " << snack[1].weight;
cout << "\nAmount of callories: " << snack[1].callories;
cout << endl << endl;

cout << "The name of the third candy bar: " << snack[2].type;
cout << "\nIts weight: " << snack[2].weight;
cout << "\nAmount of callories: " << snack[2].callories;

delete snack;
cin.get();
return 0;
}
// Не удаётся создать динамический массив структур
VicVic 27 июля 2009 года
70 50
struct CandyBar
{
public:
//char type[20];
AnsiString type;
float weight;
int callories;
};

int main()
{
//using namespace std;
CandyBar *snack = new CandyBar[3];

snack[0].type = "Mocha Munch";
snack[1].type = "Rafaello";
snack[2].type = "Cote''D''Or";

snack[0].weight = 2.3;
snack[1].weight = 0.2;
snack[2].weight = 0.3;

snack[0].callories = 350;
snack[1].callories = 200;
snack[2].callories = 400;

..................

delete []snack;

}
Написать комментарий
Оценить:
1очень плохой ответ
2плохой ответ
3средний ответ
4хороший ответ
5отличный ответ
[персональный комментарий]
Можно, конечно. Я тоже довольно долго пользовался типом char, однако AnsiString гораздо проще и удобнее, хотя бы потому, что не нужно отслеживать длину строки, концевой ноль, ну и многие другие заморочки, связанные в основном с выделением памяти, а также с Windows-объектами, в состав которых входят строковые переменные типа AnsiString. — VicVic
Загрузка...