Struktury, odwołania do pól struktury, inicjalizacja zmiennej strukturalnej. Pola bitowe i unie.
#include "stdafx.h"
#include <string>
#include <iostream>
// Wielkosc ustalona tablicy do przechowywania snakow
const int snackCount = 3;
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Program prezentujacy zastosowania struktur w programowaniu
*
* @author Marcin Mirończuk
*
*/
int main()
{
using namespace std;
struct Batonik {
std::string marka;
float waga;
int iloscKalori;
};
// Deklaracja tablicy przechowujacej struktury Batonik
Batonik batoniki[snackCount];
// Deklaracja i inicjalizacja wybranych struktur
Batonik snack = {"Super chrupek" , 2.3, 350};
Batonik superSnack = {"Super mega chrupek" , 4.6, 700};
Batonik megaSnack;
megaSnack.marka = snack.marka + " " + superSnack.marka;
megaSnack.waga = snack.waga + superSnack.waga;
megaSnack.iloscKalori = snack.iloscKalori + superSnack.iloscKalori;
// Dodanie batonikow do tablicy
batoniki[0] = snack;
batoniki[1] = superSnack;
batoniki[2] = megaSnack;
for(int i = 0; i < snackCount; i++) {
std::cout << "Parametry batonika nr " << i+1 << " to: " << std::endl;
std::cout << "- marka - " << batoniki[i].marka << std::endl;
std::cout << "- waga - " << batoniki[i].waga << std::endl;
std::cout << "- ilosc kalorii - " << batoniki[i].iloscKalori << std::endl;
}
/** Wersja z dynamiczna alokacja pamiei na struktur */
// Zalokowanie pamieci na nowa strukture wypadkowa
Batonik *dmegaSnack = new Batonik;
dmegaSnack->marka = snack.marka + superSnack.marka;
dmegaSnack->waga = snack.waga + superSnack.waga;
dmegaSnack->iloscKalori = snack.iloscKalori + superSnack.iloscKalori;
delete dmegaSnack;
std::cin.get();
return 0;
}