Witam mam pytanie. Robię zadanie o następującej treści:
"Oto deklaracja pewnej struktury:
struct pudlo
{
char producent[40];
float wysokosc;
float szerokosc;
float dlugosc;
float objetosc;
};
a) Napisz funkcję której struktura pudlo zostanie przekazana przez wartosc i ktora wyswietli wartosci wszystkich pol
b) Napisz funkcje ktorej przekazany zostanie adres struktury pudlo i ktora ustawi wartosc pola objetosc na iloczyn trzech wymiarow.
c) Napisz prosty program używający powyższych dwóch funkcji
Napisałem coś takiego:
#include <iostream>
void a (struct pudlo c);
long double b (struct pudlo& c);
struct pudlo
{
char producent[40];
float wysokosc;
float szerokosc;
float dlugosc;
float objetosc;
};
int main()
{
pudlo c
{
"Space Soldiers",
11.37,
13.37,
86.85,
2017.07
};
a(c);
std::cout<<"\nNowa objetosc jest = "<<b(c)<<std::endl;
return 0;
}
void a(struct pudlo c)
{
std::cout<<"Producent to: "<<c.producent<<std::endl;
std::cout<<"Wysokosc jest = "<<c.wysokosc<<std::endl;
std::cout<<"Szerokosc jest = "<<c.szerokosc<<std::endl;
std::cout<<"Dlugosc jest = "<<c.dlugosc<<std::endl;
std::cout<<"Objetosc jest = "<<c.objetosc<<std::endl;
}
long double b(struct pudlo& c)
{
return (c.objetosc=c.wysokosc*c.szerokosc*c.dlugosc);
}
Nie jestem pewny czy prawidłowo przekazałem adres struktury do wartości funkcji b... Za łatwo mi to poszło i to jest podejrzane. Czy w taki sposób jak to zrobiłem w tym kodzie jest możliwe przekazanie adresu do wartości funkcji?