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

Почему возникают предупреждения? - C++

Восстановить пароль Регистрация
 
FliXis
31 / 31 / 2
Регистрация: 17.09.2012
Сообщений: 155
23.10.2012, 01:14     Почему возникают предупреждения? #1
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// Test_Project.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
///////////////////////////////////////////////////////////////////////
class angle
{
private:
    int degrees;
    float minutes;
    char direction;
public:
    angle()
    {
        degrees = 0, minutes = 0.0F, direction = 'E';
    }
    angle(int deg, int min, char dir)
    {
        degrees = deg; minutes = min; direction = dir;
    }
    void get()
    {
        cout << "Введите градусы:___\b\b\b"; cin >> degrees;
        cout << "Введите минуты:____\b\b\b\b"; cin >> minutes;
        cout << "Введите направление (N, S, E или W):_\b"; cin >> direction;
    }
    void display() const
    {
        cout << "Координаты: " << degrees << '\xB0' << minutes << "'" << direction << endl;
    }
};
///////////////////////////////////////////////////////////////////////
 
int main ()
{
    system("chcp 1251 >nul");
 
    char ch;
 
    angle c1(179, 59.9F, 'E');
    c1.display();
    do
    {
        c1.get();
        c1.display();
        cout << "Еще раз? (y/n):_\b";
        cin >> ch;
    }
    while(ch != 'n');
 
    system("pause");
    return 0;
}
1)
Предупреждение 1 warning C4244: =: преобразование "int" в "float", возможна потеря данных c:\users\flixis\documents\visual studio 2012\projects\test_project\test_project\test_project.cpp 22 1 Test_Project
Строка 22

2)
Предупреждение 2 warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных c:\users\flixis\documents\visual studio 2012\projects\test_project\test_project\test_project.cpp 43 1 Test_Project
Строка 43
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2012, 01:14     Почему возникают предупреждения?
Посмотрите здесь:

При вычислении функции arccos и преобразовании её в arctg возникают ошибки. C++
C++ Убрать предупреждения на break в операторе switch(...)
C++ Предупреждения
C++ Предупреждения компилятора об использовании неинициализированных переменных
C++ Предупреждения Possible use of '...' before definition
Как избавиться от предупреждения? C++
C++ IDE wxDev-C++, при создании кнопки на форме она почему-то становится во весь экран, почему?
C++ Почему выводится в виде таблицы и почему не работает сортировка

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
23.10.2012, 01:16     Почему возникают предупреждения? #2
FliXis, потому что при преобразовании вещественного числа в целое, дробная часть потеряется, соответственно.
Конструктор у тебя принимает int, ты ему передаешь вещественное число. Ожидаемо.
FliXis
31 / 31 / 2
Регистрация: 17.09.2012
Сообщений: 155
23.10.2012, 01:20  [ТС]     Почему возникают предупреждения? #3
Благодарю! Я это смотрел все перед тем, как тему создать. Но только сейчас заметил, что в конструкторе два int вместо float. Невнимательность.
Yandex
Объявления
23.10.2012, 01:20     Почему возникают предупреждения?
Ответ Создать тему
Опции темы

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