Форум программистов, компьютерный форум CyberForum.ru

Warning C4244: =: преобразование "double" в "float", возможна потеря данных - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
TrueGamer
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 7
07.04.2014, 12:41     Warning C4244: =: преобразование "double" в "float", возможна потеря данных #1
Возникла проблема
Решаю лабу, написал код, выдает ошибку (warning C4244: =: преобразование "double" в "float", возможна потеря данных)
Лабу срочно сдать надо. Что делать?
Помогите срочно!!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include "math.h"
using namespace std;
 
int main()
{ 
    float z1, z2, x, a, b;
    x=3.14/180.0;
    cout<<"Vvedite gradus ugla A\n";
    cin>>a;
    cout<<"Vvedite grsdus ugla B\n";
    cin>>b;
    z1=pow((cos(a)-cos(b)),2.0)-pow((sin(a)-sin(b)),2.0); 
    z2=(-4)*pow((sin((a-b)/2.0)),2.0)*cos(a+b);
    cout<<"Pervaya funkciya = \n"<<z1;
    cout<<"Vtoraya funkciya = \n"<<z2;
    _getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2014, 12:41     Warning C4244: =: преобразование "double" в "float", возможна потеря данных
Посмотрите здесь:

Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". C++
Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000" C++
warning C4244: =: преобразование "double" в "float", возможна потеря данных C++
C++ необъявленный идентификатор,преобразование "int" в "float"
C++ warning C4244: =: преобразование "double" в "float
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,332
Завершенные тесты: 1
07.04.2014, 12:45     Warning C4244: =: преобразование "double" в "float", возможна потеря данных #2
Объявите как double:
C++
9
double z1, z2, x, a, b;
nikname755
0 / 0 / 1
Регистрация: 06.04.2014
Сообщений: 5
07.04.2014, 12:46     Warning C4244: =: преобразование "double" в "float", возможна потеря данных #3
Не ошибку, а предупреждение. Сделай приведение данных, а лучше не пытайся во float double пихать (это как голову в рукав).
newbie666
Заблокирован
07.04.2014, 12:46     Warning C4244: =: преобразование "double" в "float", возможна потеря данных #4
Цитата Сообщение от TrueGamer Посмотреть сообщение
выдает ошибку
это не ошибка а предупреждение, читать что ли не умеешь?

Цитата Сообщение от TrueGamer Посмотреть сообщение
float z1, z2, x, a, b;
не хочешь видеть эту надпись? ну как вариант напиши double z1, z2, x, a, b;
TrueGamer
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 7
07.04.2014, 12:51  [ТС]     Warning C4244: =: преобразование "double" в "float", возможна потеря данных #5
Упустил момент перевода градусов в радианы, исправлю и посмотрю
Спасибо за ответ

Добавлено через 3 минуты
Ошибся, пишу только неделю, он не запускал проггу(
Вот исправил, помогло
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include "math.h"
using namespace std;
 
int main()
{ 
    double z1, z2, x, a, b, a1, b1;
    x=3.14/180.0;
    cout<<"Vvedite gradus ugla A\n";
    cin>>a1;
    a=x*a1;
    cout<<"Vvedite grsdus ugla B\n";
    cin>>b1;
    b=x*b1;
    z1=pow((cos(a)-cos(b)),2.0)-pow((sin(a)-sin(b)),2.0); 
    z2=(-4)*pow((sin((a-b)/2.0)),2.0)*cos(a+b);
    cout<<"Pervaya funkciya = "<<z1;
    cout<<endl;
    cout<<"Vtoraya funkciya = "<<z2;
    _getch();
    return 0;
}
newbie666
Заблокирован
07.04.2014, 13:02     Warning C4244: =: преобразование "double" в "float", возможна потеря данных #6
Цитата Сообщение от TrueGamer Посмотреть сообщение
cout<<"Vvedite grsdus ugla B\n";
у тебя тут орфографическая ошибка
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2014, 13:07     Warning C4244: =: преобразование "double" в "float", возможна потеря данных
Еще ссылки по теме:

Warning C4244: инициализация: преобразование "__int64" в "int", возможна потеря данных C++
Ошибка "Невозможно преобразовать аргумент 1 из "double" в "double *" C++
"Чудеса типа float" или "Куда девалась информация?" C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
TrueGamer
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 7
07.04.2014, 13:07  [ТС]     Warning C4244: =: преобразование "double" в "float", возможна потеря данных #7
Хахаха, да заметил, хоть не успел отправить на проверку)
Yandex
Объявления
07.04.2014, 13:07     Warning C4244: =: преобразование "double" в "float", возможна потеря данных
Ответ Создать тему
Опции темы

Текущее время: 16:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru