Laboratoria nr 11 program nr 1

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;
}

Skomentuj ten wpis