W czym problem?

0

Witam, programuję od około miesiąca wiec jeszcze nie do końca wszystko łapię. Skończyłem kurs Pana Mirosława Zelenta i miałem za zadanie napisac program który oblicza ile statków mogę wybudować jeśli mam daną ilość surowców. Zrobiłem nową funkcję odpowiadająca za sprawdzanie ile statków mogę wybudować. Niestety coś nie pykło i funkcja nie chce działać. oto kod:

#include <iostream>
#include <cmath>

using namespace std;



int BuildShip(int  M, int K, int  D,int player_M,int player_K,int player_D);

int main()
{

    int metal=20000, krysztal=7000, deuter=2000, metal_gracza, krysztal_gracza, deuter_gracza;


    cout<<"podaj ile masz metalu :";
    cin>>metal_gracza;
    cout<<"podaj ile masz krysztalu :";
    cin>>krysztal_gracza;
    cout<<"podaj ile masz deuteru :";
    cin>>deuter_gracza;


    cout<<"mozesz wybudowac "<< BuildShip(metal,krysztal,deuter,metal_gracza,krysztal_gracza,deuter_gracza);




    return 0;
}
int BuildShip(int  M, int K, int  D,int player_M,int player_K,int player_D)
{
    int M1,K1,D1,najmniejsza;
    if(player_M<M || player_K>K || player_D>D)
    
   { return 0;}
   
    if (player_M>=M && player_K>=K && player_D>=D)
    {
        M1 = trunc(player_M/M);
        K1 = trunc(player_K/K);
        D1 = trunc(player_D/D);

    if((M1<=K1)&&(M1<=D1)) najmniejsza = M1;
    if((K1<=M1)&&(K1<=D1)) najmniejsza = K1;
    if((D1<=K1)&&(D1<=M1)) najmniejsza = D1;

        return najmniejsza;

    }
}
1

zamień:

if(player_M<M || player_K>K || player_D>D)

na:

if(player_M<M || player_K<K || player_D<D)
3

Mała rada, lepiej ucz się z jakiejś dobrej książki, potem też z dokumentacji, bo kurs Zelenta z C++ jest strasznie słaby.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.