#include <stdio.h>
#include <stdlib.h>
void cevirtl(float para){
int elli=0,yirmibes=0,on=0;
int bir=para;
float kurus=para-bir;
if(kurus>=0.50){
elli+=1;
kurus=kurus-0.50;
}
if(kurus<0.50){
while(kurus>0){
if(kurus>=0.25){
yirmibes+=1;
kurus=kurus-0.25;
}
else{
on+=1;
kurus=kurus-0.10;
}
}
}
float agirlik=(bir*8.2)/1000+(elli*6.8)/1000+(yirmibes*4)/1000+(on*3.15)/1000;
printf("Bozukluklarin toplam kg ederi:%f",agirlik);
}
int main()
{
float paramiktari;
printf("Para miktariniz nedir(TL):");
scanf("%f",¶miktari);
cevirtl(paramiktari);
return 0;
}
Burda virgülden sonraki küsüratı yanlış hesaplıyor çünkü üstte belirttiğim float kuruş küsüratı yanlış hesaplıyor. Mesela 1000.85 girdim float kuruşu yazdırdığımda 0.849776 olarak çıkarıyor sebebini bilen var mı?