• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Задача: температура по Цельсию от 0° до 100° с шагом 10° и их эквивале

  • Автор темы Gantz
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Gantz

Написать программу, которая выводит таблицу температур по Цельсию от 0° до 100° с шагом 10° и их эквивалентов по Фаренгейту. Для перевода используется формула:
377927df2c837a58f657dfd29e88571b.jpg

тоже на C++
 
G

Gantz

ну я понял что здесь нужно использовать printf и шаг вроде while а как это все реализовать?А переменные надо вводить?
 
D

DarkKnight

C++:
#include <iostream>

using namespace std;

//Функция перевода из Цельсия в Фарингейт
double CelsToFaring (double TempCels) 
{
return 9/3 * TempCels + 32;
}

//Главная функция программы (Точка входа)
void main(void)
{
setlocale(LC_ALL,"Russian");
double CelsMin, CelsMax;
double Steep;
cout<<"Введите нижний предел температур (C): ";
cin>>CelsMin;
cout<<"Введите верхний предел температур (C): ";
cin>>CelsMax;
cout<<"Введите шаг изменения температуры (С): ";
cin>>Steep;

cout<<"\tТаблица температур"<< endl;
cout<<"\t (C) \t(F)"<< endl;
for (double i = CelsMax; i >= CelsMin; i -= Steep)
cout<<"\t"<<i<<"\t"<< CelsToFaring(i)<< endl;
}
 

Вложения

  • celsfaring.jpg
    celsfaring.jpg
    24,1 КБ · Просмотры: 225
G

Gantz

Спасибо большое за помощь но у меня фаренгейт не считает в чем проблема вот код:

C++:
#include <iostream.>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>


using namespace std;

//Функция перевода из Цельсия в Фарингейт
double CelsToFaring (double TempCels)
{
return 9/3 * TempCels + 32;
}

//Главная функция программы (Точка входа)
int main()
{
double CelsMin;
cout << "Enter the lower limit temperature : ";
cin >> CelsMin;
double CelsMax;
cout << "Enter the upper limit temperature : ";
cin >> CelsMax;
double Steep;
cout << "Enter a step change in temperature : ";
cin >> Steep;

cout << "\tTable temperature"<< endl;
cout << "\t (C) \t(F)"<< endl;
for (double i = CelsMax; i >= CelsMin; i -= Steep)
cout << "\t" << i << "\t" << endl;
}


762b06442319d0b838414b423600f391.jpg
 
D

DarkKnight

Извините пожалуйста... У нас некоторые проблемы с запостиванием кода.... Форум обрезает некоторую часть... идущую после символов <<
for (double i = CelsMax; i >= CelsMin; i -= Steep)
cout<<"\t"<<i<<"\t"<
Как тут.. Видите часть кода пропала...
Оригинал был такой:
C++:
#include <iostream>

using namespace std;

//Функция перевода из Цельсия в Фарингейт
double CelsToFaring (double TempCels) 
{
return 9/3 * TempCels + 32;
}

//Главная функция программы (Точка входа)
void main(void)
{
setlocale(LC_ALL,"Russian");
double CelsMin, CelsMax;
double Steep;
cout<<"Введите нижний предел температур (C): ";
cin>>CelsMin;
cout<<"Введите верхний предел температур (C): ";
cin>>CelsMax;
cout<<"Введите шаг изменения температуры (С): ";
cin>>Steep;

cout<< "\tТаблица температур"<< endl;
cout<< "\t (C) \t(F)" << endl;
for (double i = CelsMax; i >= CelsMin; i -= Steep)
cout << "\t"<< i <<"\t" << CelsToFaring(i)<< endl;
}
Извините за временные технические неудобства...
 
L

lazybiz

Gantz
Замени:
C++:
cout << "\t" << i << "\t" << endl;
на:
C++:
cout << "\t" << i << "\t" << CelsToFaring( i ) << endl;
(предпоследняя строка)
 
G

Gantz

спасибо я разобрался с формулой и кодом но надо вывод сделать через printf как мне это сделать?
 
G

Gantz

ну вообще то да, если можно то как сделать через scanf и printf

я код упростил чуток вот а как printf применить не пойму?

C++:
#include <iostream>
#include <stdio.h>


using namespace std;

//Функция перевода из Цельсия в Фарингейт
double CelsToFaring (double TempCels)
{
return 9.0/5 * TempCels + 32;
}

//Главная функция программы (Точка входа)
int main()
{




for (double i = 0; i <= 100; i += 10)
printf("%d | %d\n", i,CelsToFaring);
}

помогите да надо с printf и scanf
 
D

DarkKnight

C++:
#include <iostream>
#include <stdio.h>


using namespace std;

//Функция перевода из Цельсия в Фарингейт
double CelsToFaring (double TempCels)
{
return 9.0/5 * TempCels + 32;
}

//Главная функция программы (Точка входа)
int main()
{




for (double i = 0; i <= 100; i += 10)
printf("%f | %f\n", i,CelsToFaring(i));
}
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!