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

Перевод из Цельсия в Фаренгейт - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
CHELOVEKPAUK
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
08.08.2013, 15:11     Перевод из Цельсия в Фаренгейт #1
Задача такая:

Кликните здесь для просмотра всего текста
Напишите программу, в которой функция main () вызывает определяемую пользователем функцию, которая в качестве аргумента принимает значение температуры по Цельсию и возвращает эквивалентное значение температуры по Фаренгейту.
Программа должна выдать запрос на ввод значения по Цельсию и отобразить следующий результат:
Please enter a Celsius value: 20
20 degrees Celsius is 68 degrees Fahrenheit.
Для справки, формула для выполнения этого преобразования:
Температура в градусах по Фаренгейту = 1,8 * Температура в градусах по Цельсию + 32


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using std::cout; using std::cin; using std::endl;
double f (double);
 
int main()
{
    setlocale(0,"russian");
    double c;
    cout << "Введите значение по Цельсию: ";
    cin >> c;
    cout << "Значение по Цельсию равно " << c << ", значение по Фаренгейту - " << f << endl;
    system("pause");
    return 0;
}
 
double f(double c)   // функция расчета 
{
    return 1.8 * c + 32;
}
Программа удачно прогоняется, но результат в фаренгейтах почему то выходит как hex значение. Как решить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex1392
31 / 31 / 3
Регистрация: 24.07.2013
Сообщений: 187
08.08.2013, 15:14     Перевод из Цельсия в Фаренгейт #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using std::cout; using std::cin; using std::endl;
double f (double);
 
int main()
{
    setlocale(0,"russian");
    double c;
    cout << "Введите значение по Цельсию: ";
    cin >> c;
    cout << "Значение по Цельсию равно " << c << ", значение по Фаренгейту - " << f(с) << endl;
    system("pause");
    return 0;
}
 
double f(double c)   // функция расчета 
{
    return 1.8 * c + 32;
}
Ты написал функцию принимающий аргумент типа double а в cout ты написал просто букву не кем не определенную а должен был вызвать функцию то есть указать после ее имени
() которые показали бы что это функция и она принимает некий аргумент типа дабл С
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
08.08.2013, 15:14     Перевод из Цельсия в Фаренгейт #3
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
<< f <<
адрес же
alex1392
31 / 31 / 3
Регистрация: 24.07.2013
Сообщений: 187
08.08.2013, 15:18     Перевод из Цельсия в Фаренгейт #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using std::cout; using std::cin; using std::endl;
double f (double);
 
int main()
{
    setlocale(0,"russian");
    double D;
    cout << "Введите значение по Цельсию: ";
    cin >> D;
    cout << "Значение по Цельсию равно " << D << ", значение по Фаренгейту - " << f(D) << endl;
    system("pause");
    return 0;
}
 
double f(double c)   // функция расчета 
{
    return 1.8 * c + 32;
}
аргумент передаваемый в функцию не обязан быть с таким же именем как и в функции можно туда хоть СЛОНА передать главное чтобы он имел тип double поскольку в функции указано дабл
Yandex
Объявления
08.08.2013, 15:18     Перевод из Цельсия в Фаренгейт
Ответ Создать тему
Опции темы

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