Pozdrav. Ako netko može da mi objasni ovaj problem. Kada računam plaće šankera, i kad stavim da im je plaća 0, uvijek mi se pojavi kao rezultat +NAN.
U oba izobra i pod a i c. Po meni kod je dobar, al nemogu da nađem grešku. Još da napomenem, kod frendova mi isti kod radi ok, znači rezultat mu bude 0. Ne znam u čemu bi mogao bit problem, a kod mi mora da radi u mom kompajleru borland c++ 5.02, jer na faxu radimo samo u tom kompajleru.
Code:
#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>
int max_profit (float zprofit, float fprofit, float kprofit)
{
if (zprofit > fprofit) {
if (zprofit > kprofit) return 1;
else return 3;
}
if (fprofit > kprofit) return 2;
else return 3;
}
int main(){
char odgovor,naziv_zpica[20][20],naziv_fpica[20][20],naziv_kave[20],ime_benda[20][20],p,datoteka[20];
int doza_kave, zastavica, maxprofit, najam,i,broj_zpica,litre_zpica[20],pdoza_zpica[20],nlitara_zpica[20],br_fpica,svirke;
int ngajbi_fpica[20],br_ambalaza[20], prod_ambalaza[20],nabkg_kave,br_konobara,br_sankera;
int br_dj,br_bendova=0;
float i_najam=0,i_struja,i_voda,ncijena_zpica[20],pcijena_zpica[20],zarada_zpica=0,trosak_zpica=0, ncijena_gajbe[20];
float pcijena_ambalaze[20],zarada_fpica=0, zprofit, fprofit, trosak_fpica=0,ncijena_kave, kprofit, pcijena_kave, zarada_kava,trosak_kava,prodoza_kave;
float placa_konobara,trosak_konobari,placa_sankera,trosak_sankeri,placa_dj,trosak_dj,cijena_benda[20],trosak_benda=0;
float trosak,zarada;
FILE*pokazivac;
printf("\nNaziv vase datoteke sa ekstenzijom .txt\n");
scanf(" %s", &datoteka);
pokazivac=fopen(datoteka,"w");
gore:
printf(" \n\n ------------------------------------ \n");
printf(" <<<<<<<<<<DOBRODOSLI!!!>>>>>>>>>>> \n");
printf(" ------------------------------------ \n\n");
printf(" Pred vama je program koji na temelju vasih podataka \n");
printf(" racuna financijsko stanje vasega caffe-a \n\n");
printf(" Izaberite opciju! \n\n");
printf(" ---------------------------------------------- \n");
printf("\n Sto zelite racunati?\n");
printf("\n a) Place uposlenika, trosak i zaradu na picima, najmom te reziju\n");
printf(" b) Trosak i zaradu na svim picima\n");
printf(" c) Place uposlenika objekta\n");
scanf(" %c", &odgovor);
if (odgovor== 'a') goto prvo;
if (odgovor== 'b') goto drugo;
if (odgovor== 'c') goto trece;
{
prvo:
printf("Dali je objekat pod najmom? \n");
printf(" ---------------------------------------------- \n\n");
printf(" 1 - DA\n");
printf(" 2 - NE\n");
scanf(" %d", &najam);
if(najam==1){
printf(" ---------------------------------------------- \n\n");
printf("Iznos najma je =");
scanf(" %f", &i_najam);}
printf(" ---------------------------------------------- \n\n");
printf("Racun za struju iznosi = ");
scanf(" %f" ,&i_struja);
printf(" ---------------------------------------------- \n\n");
printf("Racun za vodu iznosi = ");
scanf(" %f",&i_voda);
printf(" ---------------------------------------------- \n\n");
drugo:
printf("\nKoliko ste vrsta zestokoga pica imali?\n");
scanf(" %d",&broj_zpica);
printf(" ---------------------------------------------- \n\n");
for(i=0; i<broj_zpica; i++)
{
printf("Naziv zestokoga pica\n");
scanf(" %s",&naziv_zpica[i]);
printf(" ---------------------------------------------- \n\n");
printf("Koliko ste kupili litara %s-a)\n",naziv_zpica[i]);
scanf(" %d",&nlitara_zpica[i]);
printf(" ---------------------------------------------- \n\n");
printf("Koliko ima doza u 1l %s-e\n" ,naziv_zpica[i]);
scanf(" %d",&litre_zpica[i]);
printf(" ---------------------------------------------- \n\n");
printf("Kolika je nabavna cijena %s-e\n" ,naziv_zpica[i]);
scanf(" %f",&ncijena_zpica[i]);
printf(" ---------------------------------------------- \n\n");
printf("Kolika je prodajna cijena 1 doze %s-e\n" ,naziv_zpica[i]);
scanf(" %f" ,&pcijena_zpica[i]);
printf(" ---------------------------------------------- \n\n");
zastavica=0;
while (zastavica==0) {
printf("Koliko ste prodali doza %s-a?\n", naziv_zpica[i]);
scanf(" %d", &pdoza_zpica[i]);
if (pdoza_zpica[i]>(nlitara_zpica[i]*litre_zpica[i])) printf ("Pogresan unos!");
else zastavica = 1;
}
printf(" ---------------------------------------------- \n\n");
zarada_zpica=zarada_zpica+(pcijena_zpica[i]*pdoza_zpica[i]);
trosak_zpica=trosak_zpica+(ncijena_zpica[i]*nlitara_zpica[i]);
}
zprofit = zarada_zpica-trosak_zpica;
printf("\nKoliko ste imali vrsta flasiranoga pica?\n");
scanf(" %d", &br_fpica);
for (i=0; i<br_fpica; i++)
{ printf(" ---------------------------------------------- \n\n");
printf("Naziv pica\n");
scanf(" %s", &naziv_fpica[i]);
printf(" ---------------------------------------------- \n\n");
printf("Koliko ste kupili gajba %s-a\n",naziv_fpica[i]);
scanf(" %d",&ngajbi_fpica[i]);
printf(" ---------------------------------------------- \n\n");
printf("Koliko ambalaza dodje u 1 gajbi %s-e\n", naziv_fpica[i]);
scanf(" %d", &br_ambalaza[i]);
printf(" ---------------------------------------------- \n\n");
printf("Nabavna cijena gajbe?\n");
scanf(" %f", &ncijena_gajbe[i]);
printf(" ---------------------------------------------- \n\n");
printf("Prodajna cijena 1 ambalaze\n");
scanf(" %f", &pcijena_ambalaze[i]);
printf(" ---------------------------------------------- \n\n");
zastavica=0;
while (zastavica==0) {
printf("Koliko ste prodali ambalaza %s-a?\n", naziv_fpica[i]);
scanf(" %d", &prod_ambalaza[i]);
if (prod_ambalaza[i]>(ngajbi_fpica[i]*br_ambalaza[i])) printf ("\nPogresan unos!\n");
else zastavica = 1;
}
zarada_fpica=zarada_fpica+(pcijena_ambalaze[i]*prod_ambalaza[i]);
trosak_fpica=trosak_fpica+(ngajbi_fpica[i]*ncijena_gajbe[i]);
}
fprofit = zarada_fpica - trosak_fpica;
printf(" ---------------------------------------------- \n\n");
printf("\nNaziv Kave\n");
scanf(" %s", &naziv_kave);
printf(" ---------------------------------------------- \n\n");
printf("Koliko ste kupili kilograma %s kave?\n",naziv_kave);
scanf(" %d", &nabkg_kave);
printf(" ---------------------------------------------- \n\n");
printf("Koliko ima doza u 1kg %s-e\n" ,naziv_kave);
scanf(" %d",&doza_kave);
printf(" ---------------------------------------------- \n\n");
printf("Kolika je nabavna cijena 1 kg %s kave?\n", naziv_kave);
scanf(" %f", &ncijena_kave);
printf(" ---------------------------------------------- \n\n");
printf("Kolika je prodajna cijena 1 doze %s kave?\n", naziv_kave);
scanf(" %f", &pcijena_kave);
printf(" ---------------------------------------------- \n\n");
zastavica=0;
while (zastavica==0) {
printf("Koliko ste prodali doza kave?\n");
scanf(" %f", &prodoza_kave);
if (prodoza_kave>(nabkg_kave*doza_kave)) printf ("\nPogresan unos!\n");
else zastavica = 1;
}
trosak_kava=nabkg_kave*ncijena_kave;
zarada_kava=prodoza_kave*pcijena_kave;
kprofit = zarada_kava - trosak_kava;
if (odgovor=='b')
{ printf(" \n---------------------------------------------- \n\n");
printf("\nUkupni TROSAK na svim picima iznosi :%.2f\n",trosak_zpica+trosak_fpica+trosak_kava );
fprintf(pokazivac,"\nUkupni TROSAK na svim picima iznosi :%.2f\n",trosak_zpica+trosak_fpica+trosak_kava );
printf("\nZestoko pice =%.2f\n",trosak_zpica);
fprintf(pokazivac,"\nZestoko pice =%.2f\n",trosak_zpica);
printf("Flasirano pice =%.2f\n",trosak_fpica);
fprintf(pokazivac,"Flasirano pice =%.2f\n",trosak_fpica);
printf("Kave =%.2f\n",trosak_kava);
fprintf(pokazivac,"Kave =%.2f\n",trosak_kava);
printf(" \n---------------------------------------------- \n\n");
printf("Ukupna ZARADA na svim picima iznosi :%.2f\n",zarada_zpica+zarada_fpica+zarada_kava);
fprintf(pokazivac,"\nUkupna ZARADA na svim picima iznosi :%.2f\n",zarada_zpica+zarada_fpica+zarada_kava);
printf("\nZestoko pice =%.2f\n",zarada_zpica);
printf("Profit na zestokom picu =%.2f\n", zprofit);
fprintf(pokazivac,"\nZestoko pice =%.2f\n",zarada_zpica);
printf("\nFlasirano pice =%.2f\n",zarada_fpica);
printf("Profit na flasiranom picu =%.2f\n", fprofit);
fprintf(pokazivac,"Flasirano pice =%.2f\n",zarada_fpica);
printf("\nKave =%.2f\n",zarada_kava);
printf("Profit na kavama =%.2f\n", kprofit);
fprintf(pokazivac,"Kave =%.2f\n",zarada_kava);
printf(" \n---------------------------------------------- \n\n");
maxprofit = max_profit(zprofit, fprofit, kprofit);
switch (maxprofit) {
case 1:
printf ("\nNajveci profit je ostvaren na zestokom picu i iznosi =%.2f\n\n", zprofit);
fprintf (pokazivac,"\nNajveci profit je ostvaren na zestokom picu i iznosi =%.2f\n\n", zprofit);
break;
case 2:
printf ("\nNajveci profit je ostvaren na flasiranom picu i iznosi =%.2f\n\n", fprofit);
fprintf (pokazivac,"\nNajveci profit je ostvaren na flasiranom picu i iznosi =%.2f\n\n", fprofit);
break;
case 3:
printf ("\nNajveci profit je ostvaren na kavi i iznosi =%.2f\n\n", kprofit);
fprintf (pokazivac,"\nNajveci profit je ostvaren na kavi i iznosi =%.2f\n\n", kprofit);
break;
}
fclose(pokazivac);
printf("\nZa ponovno pokretanje pritisnite p \n");
scanf(" %s", &p);
if (p=='p')
goto gore;
}
if (odgovor != 'a') goto gore;
trece:
printf(" ---------------------------------------------- \n\n");
printf("\nKoliko konobara je zaposleno u vasem objektu?\n");
scanf(" %d", &br_konobara);
printf(" ---------------------------------------------- \n\n");
if (br_konobara !=0){
printf("Koliko iznosi mjesecna placa konobara?\n");
scanf(" %f", &placa_konobara);}
trosak_konobari=br_konobara*placa_konobara;
printf(" ---------------------------------------------- \n\n");
printf("Koliko sankera je zaposleno u vasem objektu?\n");
scanf(" %d", &br_sankera);
printf(" ---------------------------------------------- \n\n");
if (br_sankera !=0){
printf("Koliko iznosi mjesecna placa sankera?\n");
scanf(" %f", &placa_sankera);}
trosak_sankeri=br_sankera*placa_sankera;
printf(" ---------------------------------------------- \n\n");
printf("Koliko Dj-eva radi u vasem objektu?\n");
scanf(" %d", &br_dj);
printf(" ---------------------------------------------- \n\n");
if(br_dj !=0){
printf("Koliko mjesecno izdvojite za DJ-eve?\n");
scanf(" %f", &placa_dj);}
printf(" ---------------------------------------------- \n\n");
trosak_dj=br_dj*placa_dj;
printf(" ---------------------------------------------- \n\n");
printf("Dali imate svirke nekog benda u caffe-u?\n");
printf(" 1 - DA \n");
printf(" 2 - NE\n");
printf(" ---------------------------------------------- \n\n");
scanf(" %d", &svirke);
if (svirke==1){
printf(" ---------------------------------------------- \n\n");
printf("Koliko ste bendova imali ovaj mjesec?\n");
scanf(" %d",&br_bendova);}
printf(" ---------------------------------------------- \n\n");
for(i=0; i<br_bendova; i++)
{
printf(" ---------------------------------------------- \n\n");
printf("Naziv benda\n");
scanf(" %s", &ime_benda[i]);
printf(" ---------------------------------------------- \n\n");
printf("Cijena %s benda?\n", ime_benda[i]);
scanf(" %f",&cijena_benda[i]);
printf(" ---------------------------------------------- \n\n");
trosak_benda=trosak_benda+cijena_benda[i];
}
if (odgovor== 'c')
{ printf(" ---------------------------------------------- \n\n");
printf("Za osoblje vasega objekta ovaj ste mjesec izdvojili =%.2f\n",trosak_konobari+trosak_sankeri+trosak_dj+trosak_benda);
fprintf(pokazivac,"Za osoblje vasega objekta ovaj ste mjesec izdvojili =%.2f\n",trosak_konobari+trosak_sankeri+trosak_dj+trosak_benda);
printf("\nKonobari =%.2f\n",trosak_konobari);
fprintf(pokazivac,"\nKonobari =%.2f\n",trosak_konobari);
printf("Sankeri =%.2f\n",trosak_sankeri);
fprintf(pokazivac,"Sankeri =%.2f\n",trosak_sankeri);
printf("Dj =%.2f\n",trosak_dj);
fprintf(pokazivac,"Dj =%.2f\n",trosak_dj);
printf("Svirke =%.2f\n",trosak_benda);
fprintf(pokazivac,"Svirke =%.2f\n",trosak_benda);
fclose(pokazivac);
printf(" ---------------------------------------------- \n\n");
printf("\nZa ponovno pokretanje pritisnite p \n");
scanf(" %s", &p);
if (p=='p')
goto gore;
}
zarada=zarada_zpica+zarada_fpica+zarada_kava;
printf(" ---------------------------------------------- \n\n");
printf("\nUkupna ZARADA za prethodni mjesec je %.2f\n", zarada);
fprintf(pokazivac,"\nUkupna ZARADA za prethodni mjesec je %f\n", zarada);
printf("\nZestoko Pice =%.2f\n",zarada_zpica);
fprintf(pokazivac,"\nZestoko Pice =%.2f\n",zarada_zpica);
printf("Flasirano Pice =%.2f\n",zarada_fpica);
fprintf(pokazivac,"Flasirano Pice =%.2f\n",zarada_fpica);
printf("Kava =%.2f\n", zarada_kava);
fprintf(pokazivac,"Kava =%.2f\n", zarada_kava);
trosak=i_najam+i_struja+i_voda+trosak_zpica+trosak_fpica+trosak_kava+trosak_konobari+trosak_sankeri+trosak_dj+trosak_benda;
printf(" ---------------------------------------------- \n\n");
printf("Ukupni TROSAK za prethodni mjesec je %.2f\n", trosak);
fprintf(pokazivac,"\nUkupni TROSAK za prethodni mjesec je %f\n", trosak);
printf("\nNajam =%.2f\n", i_najam);
fprintf(pokazivac,"\nNajam =%.2f\n", i_najam);
printf("Struja =%.2f\n", i_struja);
fprintf(pokazivac,"Struja =%.2f\n", i_struja);
printf("Voda =%.2f\n", i_voda);
fprintf(pokazivac,"Voda =%.2f\n", i_voda);
printf("Zestoko Pice =%.2f\n", trosak_zpica);
fprintf(pokazivac,"Zestoko Pice =%.2f\n", trosak_zpica);
printf("Flasirano Pice =%.2f\n", trosak_fpica);
fprintf(pokazivac,"Flasirano Pice =%.2f\n", trosak_fpica);
printf("Kava =%.2f\n",trosak_kava);
fprintf(pokazivac,"Kava =%.2f\n",trosak_kava);
printf("Konobari =%.2f\n",trosak_konobari);
fprintf(pokazivac,"Konobari =%.2f\n",trosak_konobari);
printf("Sankeri =%.2f\n",trosak_sankeri);
fprintf(pokazivac,"Sankeri =%.2f\n",trosak_sankeri);
printf("Dj =%.2f\n",trosak_dj);
fprintf(pokazivac,"Dj =%.2f\n",trosak_dj);
printf("Bend =%.2f\n",trosak_benda);
fprintf(pokazivac,"Bend =%.2f\n",trosak_benda);
printf(" ---------------------------------------------- \n\n");
maxprofit = max_profit(zprofit, fprofit, kprofit);
switch (maxprofit) {
case 1:
printf ("\nNajveci profit je ostvaren na zestokom picu i iznosi =%.2f\n\n", zprofit);
fprintf (pokazivac,"\nNajveci profit je ostvaren na zestokom picu i iznosi =%.2f\n\n", zprofit);
break;
case 2:
printf ("\nNajveci profit je ostvaren na flasiranom picu i iznosi =%.2f\n\n", fprofit);
fprintf (pokazivac,"\nNajveci profit je ostvaren na flasiranom picu i iznosi =%.2f\n\n", fprofit);
break;
case 3:
printf ("\nNajveci profit je ostvaren na kavi i iznosi =%.2f\n\n", kprofit);
fprintf (pokazivac,"\nNajveci profit je ostvaren na kavi i iznosi =%.2f\n\n", kprofit);
break;
}
fclose(pokazivac);
printf("\nZa ponovno pokretanje pritisnite p \n");
scanf(" %s", &p);
if (p=='p')
goto gore;
}
getchar();
getchar();
getchar();
}