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

Дополнить программу - C++

Восстановить пароль Регистрация
 
SIDX
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 33
06.05.2011, 15:48     Дополнить программу #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
#include <iostream>
 
class Calories {
 
public:
        void Power();
        void Display();
        void Read();
 
private:
        int first;
        float second;
        int result;
};
 
void Calories::Read()
{
        std::cout << "Kaloriynost na 100 gramm:";
        std::cin >> first;
        std::cout << "Massa v Kilogrammah: ";
        std::cin >> second;
}
 
void Calories::Display()
{
        std::cout << "Obshaya kaloiynost': " << result << std::endl;
}
 
void Calories::Power()
{
        
        result = first * second * 10;
}
 
int main()
{
        Calories calorie;
        calorie.Read();
        calorie.Power();
        calorie.Display();
        std::cin.get();
        std::cin.get();
        return 0;
}
Нужно дописать чтобы когда я вводил first не целое - прога вывела бы мой текст. Помогите пожалуйста!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
06.05.2011, 16:11     Дополнить программу #2
Цитата Сообщение от SIDX Посмотреть сообщение
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
#include <iostream>
 
class Calories {
 
public:
        void Power();
        void Display();
        void Read();
 
private:
        int first;
        float second;
        int result;
};
 
void Calories::Read()
{
        std::cout << "Kaloriynost na 100 gramm:";
        std::cin >> first;
        std::cout << "Massa v Kilogrammah: ";
        std::cin >> second;
}
 
void Calories::Display()
{
        std::cout << "Obshaya kaloiynost': " << result << std::endl;
}
 
void Calories::Power()
{
        
        result = first * second * 10;
}
 
int main()
{
        Calories calorie;
        calorie.Read();
        calorie.Power();
        calorie.Display();
        std::cin.get();
        std::cin.get();
        return 0;
}
Нужно дописать чтобы когда я вводил first не целое - прога вывела бы мой текст. Помогите пожалуйста!
А результат у тебя - целое? Сам писал? Хотя, что я спрашиваю - вряд ли...
SIDX
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 33
06.05.2011, 16:43  [ТС]     Дополнить программу #3
Ну сделаю result ФЛОАТовским. Помощь нужна именно в том что я описал выше.
Maxim Prishchepa
Эксперт С++
 Аватар для Maxim Prishchepa
1875 / 987 / 61
Регистрация: 29.03.2010
Сообщений: 2,983
06.05.2011, 17:18     Дополнить программу #4
эм... ну сделайте и first - "ФЛОАТовским", а в чем вопрос то?
SIDX
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 33
06.05.2011, 17:21  [ТС]     Дополнить программу #5
Мне по заданию дано что first должен быть целым....т.е. считать он не должен если я введу не целое число....мне надо чтобы когда я введу не целое число программа не просто прогналась до конца, а вывела сообщение "Введите целое число и попробуйте еще раз"
Maxim Prishchepa
Эксперт С++
 Аватар для Maxim Prishchepa
1875 / 987 / 61
Регистрация: 29.03.2010
Сообщений: 2,983
06.05.2011, 17:49     Дополнить программу #6
ну что может быть проще.... делаете first типа float, потом отбрасываете дробную часть и сохраняете в какую нибудь переменную, после чего вычитаете из first эту переменную, если число == 0 знавит всё ок - это целое, если нет - значит это дробное и выполняете описанные вами выше действия

Добавлено через 20 минут
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
#include <iostream>
 
class Calories {
 
public:
        void Power();
        void Display();
        void Read();
 
private:
        int first;
        float second;
        int result;
};
 
void Calories::Read()
{
        float var;
        do{
           std::cout << "Kaloriynost na 100 gramm:";
           std::cin >> var;
           first = var;
           if(var - first == 0)
              break;
           std::cout<< "Please type integer value!\n"
        }while(true);
        std::cout << "Massa v Kilogrammah: ";
        std::cin >> second;
}
 
void Calories::Display()
{
        std::cout << "Obshaya kaloiynost': " << result << std::endl;
}
 
void Calories::Power()
{
        
        result = first * second * 10;
}
 
int main()
{
        Calories calorie;
        calorie.Read();
        calorie.Power();
        calorie.Display();
        std::cin.get();
        std::cin.get();
        return 0;
}
Yandex
Объявления
06.05.2011, 17:49     Дополнить программу
Ответ Создать тему
Опции темы

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