• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przelicznik stopni Celsjusza na Fahrenheita

Object Storage Arubacloud
+3 głosów
10,540 wizyt
pytanie zadane 30 grudnia 2017 w C i C++ przez kuras Początkujący (390 p.)
edycja 30 grudnia 2017 przez kuras

Napisz program, w którym w funkcji main() zostanie wywołana funkcja użytkownika otrzymująca temperaturę w stopniach Celsjusza i zwracająca odpowiadającą jej temperaturę w skali Fahrenheita. Program ma poprosić użytkownika o podanie wartości z klawiatury i pokazać wynik jak poniżej:

Podaj temperaturę w stopniach Celsjusza: 20

20 stopnie Celsjusza to 68 stopnie Fahrenheita.

Zmianę temperatury przeprowadź zgodnie ze wzorem:

Fahrenheit = 1,8*stopnie Celsjusza +32


#include <iostream>

using namespace std;
double celsius_to_fahrenheit (double);
int main()
{

double stopnie ;



    cout << "Podaj temperature w stopniach celsjusza: " ;
    cin>> stopnie;
    double fahrenheit = celsius_to_fahrenheit (stopnie);
    cout<<stopnie<<" stopnie Celsjusza to "<<fahrenheit<<" stopnie Farhrenheita";
    return 0;
}

double celsius_to_fahrenheit (double sts)
{
return 1.8*sts+32;
}
komentarz 30 grudnia 2017 przez kuras Początkujący (390 p.)
Mam pytanie czy można zastosować w tym przypadku funkcję zwracającą wartość , bo chyba taki miał być zamiar autora zadania , tylko nie wiem jak mam to zrobić.

Pozdrawiam
komentarz 30 grudnia 2017 przez niezalogowany
Moim zadaniem lepiej będzie wyglądać zwracającą wartość, a wypisywanie zrób w mainie. Zamiast typu int (liczby całkowite) stosuj double. Inaczej wszystkie ogonki Ci poucina.
komentarz 30 grudnia 2017 przez kuras Początkujący (390 p.)
edycja 30 grudnia 2017 przez kuras
#include <iostream>

using namespace std;
double celsius_to_fahrenheit (double);
int main()
{

double stopnie ;

 

    cout << "Podaj temperature w stopniach celsjusza: " ;
    cin>> stopnie;
    double fahrenheit = celsius_to_fahrenheit (stopnie);
    cout<<stopnie<<" stopnie Celsjusza to "<<fahrenheit<<" stopnie Farhrenheita";
    return 0;
}

double celsius_to_fahrenheit (double sts)

{

return 1.8*sts+32;
}

Chyba kolegaNeUmiemProgramowac o tym mówił rozwiązaniu
komentarz 30 grudnia 2017 przez niezalogowany
Tak kolega jest zadowolony. Tylko zmień nazwę na jakąś sensowną np celsius_to_fahrenheit ;)
komentarz 30 grudnia 2017 przez kuras Początkujący (390 p.)

smileyMówisz i masz hihhi

komentarz 30 grudnia 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Kod źródłowy proszę wstawiać w przystosowane do tego bloczki. wink

komentarz 30 grudnia 2017 przez kuras Początkujący (390 p.)

Już w odpowiednim bloczkusmiley

komentarz 26 stycznia 2018 przez No Pain no Gain Nowicjusz (230 p.)

Witam, też mam problem z tym zadaniem lecz przedstawiłem to inaczej, chciałbym spytać kogoś bardziej doświadczonego gdzie popełniłem błąd? 

#include <iostream>
#include <math.h>
using namespace std;
double Fahrenheit(double);

int main()
{
	double cel;
	cout << "Podaj Temperature w stopniach Celsjusza:";
	cin >> cel;
	Fahrenheit(cel);
	cout << cel << " stopni Celsjusza to " << Fahrenheit << " stopni Fahrenheita." << endl;
	cin.get();
	cin.get();
	return 0;
}

double Fahrenheit(double sts)
{
	double f;
	return f = (sts * 1, 8) + 32, 0;
}

Byłbym bardzo wdzięczny jakby ktoś mógł mi wytłumaczyć mój błąd :)

komentarz 26 stycznia 2018 przez niezalogowany

W C++ separator dziesiętny to kropka. Funkcja to nie zmienna. Jej wynik trzeba przechwycić do jakiejś zmiennej, lub możesz go od razu wypisać:

#include <iostream>
#include <math.h>
using namespace std;
double Fahrenheit(double);

int main()
{
	double cel;
	cout << "Podaj Temperature w stopniach Celsjusza:";
	cin >> cel;
	cout << cel << " stopni Celsjusza to " << Fahrenheit(cel) << " stopni Fahrenheita." << endl;
	cin.get();
	cin.get();
	return 0;
}

double Fahrenheit(double sts)
{
	return sts * 1.8 + 32.0;
}

Na przyszłość zadaj nowe pytanie jeżeli masz zupełnie inny kod. Raz więcej osób zobaczy dwa możesz dać komuś łapkę trzy nie robi się bałagan w tematach ;)

EDIT: Poprzedni wynik to adres w pamięci gdzie znajduje się funkcja.

komentarz 26 stycznia 2018 przez No Pain no Gain Nowicjusz (230 p.)

A i zapomniałem jest drugi problem podczas debugowania programu i swojego i tego od autora tego postu wychodzi mi coś takiego, mianowicie dlaczego zamiast normalnego wymaganego wyniku wychodzą cyfry i litery.

Z góry dziękuje za wytłumaczenie.

1 odpowiedź

0 głosów
odpowiedź 30 grudnia 2017 przez Huberti Gaduła (4,500 p.)

Cześć, swój kod wstawiaj w "bloczki" (add or update a code snippet).

Jeżeli masz jakiś problem z funkcjami to obejrzyj film Mirosława Zelenta.

Link: Kurs C++ odc. 9: Własne funkcje. Podejście proceduralne

PS Zmienną fahrenheit zmień typ na double (z przecinkiem). Dzięki temu twoje wyniki będą dokładniejsze. Możesz zrobić to samo dla zmiennej stopnie. Wtedy użytkownik będzie mógł podawać wartości z przecinkiem.

komentarz 31 grudnia 2017 przez kuras Początkujący (390 p.)

Dzięki kolego za cenne uwagi.smiley

Podobne pytania

0 głosów
1 odpowiedź 2,394 wizyt
0 głosów
1 odpowiedź 6,211 wizyt
pytanie zadane 20 października 2016 w C# przez Serengeti Nowicjusz (150 p.)
0 głosów
2 odpowiedzi 1,685 wizyt
pytanie zadane 5 grudnia 2021 w Python przez Magnikor Początkujący (390 p.)

92,536 zapytań

141,377 odpowiedzi

319,454 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...