Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

преобразование "double" в "int", возможна потеря данных

Саня Солодовников Ученик (128), на голосовании 12 лет назад
Преобразование типов. С

Скажите пожалуйста, в программе идут немалые потери.. .

Код:
char v;double o,i=18;
system("chcp 1251>nul");
scanf("%c",&v)==1 && v=='a'||v=='A'||v=='b'||v=='B'||v=='c'||v=='C';
if (v=='a' || v=='A')
o=100*abs(((9*(i+7.12)+(1/tan(3*i)))/(i+2)*(2*i+0.1))+50);
else
if(v=='b'||v=='B')
o=150*abs((((2*i-1)*tan(5*i))/((i+2)*(3*i+0.8)))+100);
else
o=200*abs((10.8*exp(-2*i)+(3*pow(i,2)-cos(2.7*i))/3*(i*i+2))+135);
printf("%g\n",o);

Ошибки (точнее предупреждения) :
Предупреждение1warning C4244: функция: преобразование "double" в "int", возможна потеря данных
Предупреждение2warning C4244: функция: преобразование "double" в "int", возможна потеря данных
Предупреждение3warning C4244: функция: преобразование "double" в "int", возможна потеря данных

Предупреждения именно в тех местах, где идет присвоение переменной "o" значения.. . Подскажите пожалуйста в чем проблема, и как с ней бороться, поскольку результаты нужны точные.. .
Буду очень благодарен за ответы :)
Дополнен 12 лет назад
dverZapili, большое спасибо) все работает как надо :) очень благодарен)
Голосование за лучший ответ
Похожие вопросы