Jak w temacie proszę o wytłumaczenie tego programu do końca bo trochę sobie potłumaczyłem w komunikatach między wersami kodów lecz dalszej części nie rozumiem i wołam o pomoc :)
//bilbioteki
#include <iostream>
#include <fstream>
#include <conio.h>
#include <stdio.h>
#include <math.h>
////bilbioteki
using namespace std;
main()
//deklaracja zmiennych
{
int kwota_poczatkowa=200, i=0;
float reszta, cena_do_zaplaty;
float n[13];
signed int in[13];
//deklaracja zmiennych
ofstream plik;//deklaracja funkcji pliku do zapisu
//banknoty/monety
n[0]=100;
n[1]=50;
n[2]=20;
n[3]=10;
n[4]=5;
n[5]=2;
n[6]=1;
n[7]=0.5;
n[8]=0.2;
n[9]=0.1;
n[10]=0.05;
n[11]=0.02;
n[12]=0.01;
//ilosc banknotow/monet
in[0]=3;
in[1]=5;
in[2]=20;
in[3]=1;
in[4]=1;
in[5]=1;
in[6]=1;
in[7]=1;
in[8]=1;
in[9]=1;
in[10]=1;
in[11]=1;
in[12]=1;
plik.open("plik.txt");//otwarcie pliku do zapisu
//1 wpisanie kwoty początkowej
cout<<"podaj wartosc z ktorej automat ma wydac: ";
cin>>kwota_poczatkowa;
//1 wpisanie kwoty początkowej
//2 podanie ceny do zapłaty
cout<<"podaj cene do zaplaty: ";
cin>>cena_do_zaplaty;
//2 podanie ceny do zapłaty
//3 wypis do pliku plik.txt
plik<<"zaplacono: "<<cena_do_zaplaty<<endl;
plik<<"wartosc z ktorej automat ma wydac: "<<kwota_poczatkowa<<endl;
//3 wypis do pliku plik.txt
//4 zaokrąglanie aby pozbyć się błędu z 1 groszem
reszta=floorf((kwota_poczatkowa-cena_do_zaplaty) * 100 + 0.5) / 100;
//4 zaokrąglanie aby pozbyć się błędu z 1 groszem
//5 gdy reszta jest większa od 0 i i mniejsze niż 13
while((reszta>0) && (i<13))
//5 gdy reszta jest większa od 0 i i mniejsze niż 13
//6
{
if((reszta>=n[i]) && (in[i]>0)) // jesli reszta jest wieksze równe n[i] i in[i] większe od 0 to
{
//7 zapis do pliku plik.txt i wypisanie na ekranie
plik<<"wydano: "<<n[i]<<endl;
cout<<"wydano: "<<n[i]<<endl;
//7 zapis do pliku plik.txt i wypisanie na ekranie
//8 zaokrąglanie aby pozbyć się błędu z 1 groszem
reszta = floorf((reszta-n[i]) * 100 + 0.5) / 100;
//8 zaokrąglanie aby pozbyć się błędu z 1 groszem
cout<<"in[i]: "<<in[i]<<endl;
if (in[i]>0)
{
in[i]=in[i]-1;
}
cout<<"zostalo: "<<reszta<<endl;
cout<<"in[i]: "<<in[i]<<endl;
cout<<"i: "<<i<<endl;
}
else //w przeciwnym razie
{
i++;
}
}
if (reszta>0)
{
cout<<"nie udalo sie wydac - zostalo "<<reszta<<endl;
}
else//w przeciwnym razie
{
cout<<"wydano cala naleznosc - zostalo "<<reszta<<endl;//koniec
}
plik.close();
getch();
}