• 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

0 głosów
142 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,740 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 Nałogowiec (49,000 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 157 wizyt
pytanie zadane 2 września 2018 w C i C++ przez vog Początkujący (280 p.)
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

64,181 zapytań

110,581 odpowiedzi

231,742 komentarzy

46,956 pasjonatów

Przeglądających: 253
Pasjonatów: 15 Gości: 238

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...