#include
#include
#include
using namespace std;



int liczbanominalow, i=0;
float nominaly[]={500,200,100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01}, reszta, cena, kwotaklienta;



int main()
{
system("chcp 1250");
cout << "Podaj cenę zakupu";
cin >> cena;
cout << "Podaj kwotę wpłacaną przez klienta";
cin >> "kwotaklienta";
cout << "Podaj kwotę do wypłacenia: ";
cin >> reszta;
cout << endl << "wydaj następujące nominały: " << endl << endl;
while(reszta!=0)
{
if (reszta>= nominaly[i])
{
liczbanominalow=reszta/nominaly[i];
reszta=round((reszta-(nominaly[i]*liczbanominalow))*100)/100;
cout << nominaly[i] << " zł - " << liczbanominalow << " szt." << endl;
}
i++;
}



return 0;
}

Powiedziałby mi ktoś gdzie jest błąd??
30 punktów!!



Odpowiedź :

Odpowiedź

Znalazłam następujące cztery błędy.

  • Potrzebne są tylko

          #include <cmath>  // round

          #include <iostream>  // cin, cout, endl

        Cokolwiek jest w tym trzecim jest zbędne. Zapewne masz tam

          #include <cstdlib>  // system

        ewentualnie

          #include <stdlib.h>  // system

        Ale możesz usunąć i współcześnie będzie w dalszym ciągu działało.

  • Błąd który widzisz to   cin >> "kwotaklienta";  ten wiersz miał być zapewne cin >> kwotaklienta;

  • Zmienna  kwotaklienta  nie jest w żaden sposób wykorzystywana w obliczeniach. A powinna być...

  • Polecenie  system("chcp 1250");  niczemu pożytecznemu nie służy. Wygląda, że używasz Microsoft Windows... Popatrz na odpowiedzi, których udzielałam z  C++  w ostatnich dniach, a na pewno będzie w którejś z nich pokazane jak w C++ używać polskich znaków (a właściwie UTF-8) pod Windows.