Zadanie 4.9
Wykonaj ponownie ćwiczenie 6, ale zamiast deklarować trzy struktury Batonik, zaalokuj tablicę dynamicznie za pomocą operatora new. ( Treść 6 to Napisz program tworzący trzyelementową tablicę struktur Batonik, inicjalizujący ją wybranymi wartościami oraz wyświetlający zawartość wszystkich struktur )
Poniższy kod z zadania 6 mam przerobić na tablicę dynamiczną:
#include <iostream>
struct batonik
{
std::string marka;
float waga;
int kcal;
};
int main() {
batonik snack[3] =
{
{ "Pierwszy", 0.5 , 200 },
{ "Drugi" , 0.7 , 50 },
{ "Trzeci" , 0.2 , 20 }
};
std::cout << "Dwa pierwsze batoniki to " << snack[0].marka << " i " << snack[1].marka << "\n";
std::cout << "Ich laczna waga to " << snack[0].waga + snack[1].waga << "\n";
std::cout << snack[0].marka << "\n";
return 0;
}
Przerobiony :
#include <iostream>
struct Batonik
{
std::string marka;
float waga;
int kcal;
};
int main() {
Batonik * pt = new Batonik[5];
Batonik[5] =
{
{ "pierwszy" , 0.1 , 10 },
{ "drugi" , 0.2 , 20 },
{ "trzeci" , 0.3 , 30 },
{ "czwarty" , 0.4 , 40 },
{ "piaty" , 0.5 , 50 }
};
return 0;
}
Domyślam się, że zamiast Batonik * pt = new Batonik[5]; powinienem w jakiś sposób zainicjować strukturę snack jak to było w zadaniu szóstym . Tylko że nie mam pojęcia jak to zrobić.
Z kolei jeśli chodzi o Batonik * pt = new Batonik[5]; , to nie wiem w jaki sposób zainicjować struktury wartościami .