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

Proszę o pomoc w zadaniu z wydawaniem reszty c++.

Object Storage Arubacloud
0 głosów
1,029 wizyt
pytanie zadane 17 lutego 2022 w C i C++ przez mlodybyk100 Nowicjusz (180 p.)

Witam. Mam problem z zadaniem. 

"Zapisz pełen kod źródłowy programu i skompiluj go. Sprawdź działanie programu dla różnych wartości reszty, w tym dla 7.30, 7.79, i 7.85"

I kod źródłowy jest podany taki jak poniżej. Błagam pomóżcie co mam zrobić żeby to działało, bo trzeba napisać kod wraz z tym algorytmem poniżej. Od 3 godzin nie daje rady tego zrobić.

const int N = 9;
const float NOMINALY[N] = {5, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02, 0.01};

void WydajReszte(float reszta)
{
    int i = 0;
    while (reszta>0 && i<N)
    {
        if (reszta >= NOMINALY)[i])
        {
            cout << NOMINALY[i] << endl;
            reszta = reszta - NOMINALY[i];
        }
        else i++;
    }
}

 

 

1 odpowiedź

0 głosów
odpowiedź 17 lutego 2022 przez Pawel1995 Gaduła (3,810 p.)

Hej, problem dla którego ci sie nie kompiluje jest w linijce 9, jest o jeden nawias za dużo

 if (reszta >= NOMINALY)[i]) // Było

if (reszta >= NOMINALY[i]) // byc powinno

:Naturalnie problem tego zadania to to że dla liczb  7.79, i 7.85 wydaje złą resztę (o jeden grosz).

Ma to związek z binarnym zapisem liczby float, powodzenia przy rozwiązaniu!

 

komentarz 17 lutego 2022 przez mlodybyk100 Nowicjusz (180 p.)
A jak pełen kod ma wyglądać? Czy muszę pisać int main () na początku? Czy mógłbyś przyjacielu pokazać jak wygląda pełny kod?
komentarz 17 lutego 2022 przez mlodybyk100 Nowicjusz (180 p.)
const int N = 9;
const float NOMINALY[N] = {5, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02, 0.01};

void WydajReszte(float reszta)
{
    int i = 0;
    while (reszta>0 && i<N)
    {
        if (reszta >= NOMINALY[i])
        {
            cout << NOMINALY[i] << endl;
            reszta = reszta - NOMINALY[i];
        }
        else i++;
    }
}

Teraz wyskakuje i błąd w linijce pod void (linijka 5)

error: a function-definition is not allowed here before ‘{’ token
komentarz 17 lutego 2022 przez Pawel1995 Gaduła (3,810 p.)

A może zrobiłbyś kurs od Mirka Zelenta od C++, tam myślę że dobrze sa podstawy wytłumaczone ;)

#include <iostream>

using namespace std;

const int N = 9;
const float NOMINALY[N] = { 5, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02, 0.01 };

void WydajReszte(double reszta)
{
    int i = 0;
    while (reszta > 0 && i < N)
    {
        if (reszta >= NOMINALY[i])
        {
        cout << NOMINALY[i] << endl;
        reszta = reszta - NOMINALY[i];
        }
        else i++;
    }
}


int main()
{
    WydajReszte(7.30);
    return 0;
}

 

Podobne pytania

0 głosów
1 odpowiedź 484 wizyt
pytanie zadane 3 czerwca 2021 w C i C++ przez mrgrey987 Nowicjusz (120 p.)
–2 głosów
2 odpowiedzi 591 wizyt
pytanie zadane 26 listopada 2020 w C i C++ przez bobekpopek Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 212 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...