• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Język C++ Szkoła Programowania, rozdział 8 zadanie 2

VPS Starter Arubacloud
0 głosów
641 wizyt
pytanie zadane 23 sierpnia 2018 w C i C++ przez Junior_plusplus Obywatel (1,130 p.)

Witam,

mam problem z zadaniem 2 z rozdziału 8 z książki "Język C++ Szkoła programowania".

Polecenie do zadania:

Struktura Batonik ma trzy pola: markę producenta, wagę (z częścią ułamkowa) oraz liczbę kalorii (całkowitoliczbowo). Napisz program korzystający z funkcji, której parametry to referencja do typu Batonik, wskaźnik do typu char, wartość double oraz wartość int; funkcja ma używać ostatnich trzech wartości do ustawienia odpowiednich pól struktury. Ostatnie trzy parametry mają mieć wartości domyślne "Milienium Munch", 2,85 i 350. Poza tym program powinien korzystać z funkcji pobierającej referencję do Batonika i wyświetlającej zawartość struktury. Należy użyć w miarę potrzeb const.

Mój problem polega na tym, że nie do końca mogę zrozumieć treść zadania.

Po przeczytaniu polecenia wnioskuję, że należy użyć dwóch funkcji jednej z czterema parametrami tylko do czego ona miałaby służyć?

Dlaczego w pierwszej funkcji mam też używać referencji do struktury Batonik?

Wstępnie udało mi się coś wykombinować z funkcją wyświetlającą zawartość struktury z tym, że nie wyświetla mi nazwy batonika co jak się domyślam spowodowane jest brakiem funkcji pierwszej, która powinna zawierać wskaźnik do typu char.

W związku z powyższym uprzejmie proszę o:

- określenie czy moja interpretacja tego zadania jest właściwa; jeżeli nie to wskazówkę jak prawidłowo zinterpretować to zadanie.

Z góry dziękuję za pomoc.

Poniżej kod:

#include <iostream>

using namespace std;

struct batonik
{
    char nazwa_producenta[25];
    double waga;
    int liczba_kalorii;
};
void funkcja_pierwsza (const struct  batonik & referencja_batonik, char* wskaznik[25], double x, int y);
void wyswietl (const struct  batonik & referencja_batonik);

int main()
{
    batonik pierwszy = {"Millenium Munch", 2.85, 350};

    wyswietl(pierwszy);

    return 0;
}

void wyswietl (const struct  batonik & referencja_batonik)
{
    static int licznik = 1;
    cout << "Wyswietlanie danych: \n";
    cout << "Znaleziono ";
    cout << licznik++ << " produkt/ow:\n";
    cout << "Nazwa producenta: " << referencja_batonik.nazwa_producenta[25] << endl;
    cout << "Waga: " << referencja_batonik.waga << endl;
    cout << "Liczba kalorii: " << referencja_batonik.liczba_kalorii ;
}

 

2 odpowiedzi

+1 głos
odpowiedź 25 sierpnia 2018 przez sp00ky Obywatel (1,760 p.)
wybrane 25 sierpnia 2018 przez Junior_plusplus
 
Najlepsza

Funkcje powinny wyglądać jakoś tak:

struct CandyBar
{
    std::string brandName;
    double weight{};
    int calories{};
};

void fill(CandyBar &snack, std::string brandName = "Millennium Munch", double weight = 2.85, int calorie = 350);
void show(const CandyBar &snack);

Pierwsza funkcja wypełnia strukturę zadanymi wartościami, należy użyć referencji aby się odwołać do pól struktury (zmieniasz wartości tych pól). Możesz ją wywołać:

  • fill(snack); - do struktury przypisze wartości domyślne

  • fill(snack, "Milky Way", 1.95, 290); - do struktury przypisze wartości podane w wywołaniu.

Druga funkcja ma wyświetlać zawartość struktury, więc należy użyć const, bo nic nie zmieniamy.

Mam nadzieję, że wystarczająco jasno to napisałem.

komentarz 25 sierpnia 2018 przez Junior_plusplus Obywatel (1,130 p.)
Bardzo dziękuję za wyczerpującą odpowiedź teraz już wszystko jasne.

Pozdrawiam
0 głosów
odpowiedź 23 sierpnia 2018 przez profesorek96 Szeryf (91,420 p.)
Wiem że nie związane zz tematem. Kolega widzę czyta tą zacną książkę. Jak ci idzie ? Bo mi bardzo powoli i opornie się ją czyta. Tak ok 10 stron dziennie.
komentarz 23 sierpnia 2018 przez Junior_plusplus Obywatel (1,130 p.)
Cześć, zobacz PW.

Podobne pytania

0 głosów
2 odpowiedzi 498 wizyt
pytanie zadane 2 września 2018 w C i C++ przez vog Początkujący (370 p.)

92,455 zapytań

141,263 odpowiedzi

319,100 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...