Konwersja zmiennych przy funkcjach

0

Mam problem z tym kodem:

#include <iostream>
float metry;
float ile_cali(float m)
{
return m*39.37;
}
float ile_jardow(float x)
{
return x*1.0936;
}
void ile_mil(float m)
{
cout << "na mile " << m*0.006231;
}
int main()
{
using namespace std;
cout << "Podaj metry\n";
cin >> metry;
cout << metry << "metry/ow to " << ile_cali(metry) << " cali";
cout << "na jardy " << ile_jardow();
ile_mil();
cin.get();
cin.get();
return 0;
} 

Wyrzuca mi błędy, które nie wiem jak rozwiązać:

Warning 1 warning C4244: 'return' : conversion from 'double' to 'float', possible loss of data
Warning 2 warning C4244: 'return' : conversion from 'double' to 'float', possible loss of data
Error 3 error C2065: 'cout' : undeclared identifier
Error 4 error C2660: 'ile_jardow' : function does not take 0 arguments
Error 5 error C2660: 'ile_mil' : function does not take 0 arguments

Przy funkcji

float ile_cali(float m) 

działało wszystko dobrze ale po dodaniu dwóch kolejnych już nie działa. Proszę o pomoc.

0
return (float)(m*39.37);
return m*39.37f;
1
  1. Funkcja ile_mil() oczekuje przekazania argumentu, nie możesz jej wywołać bez jego podawania.
  2. Literały (typu 39.37) są traktowane jak typ double, a zwracasz float w tej funkcji, więc możliwa jest utrata danych. Ale to tylko ostrzeżenie. Aby się go pozbyć, użyj literałów zakończonych f, na przykład 39.37f.
0

@_13th_Dragon - osoba która zrobiła video poradnik z którego korzystam nie robi tego w ten sposób i jej wychodzi. Chodzi o to, że używa innego kompilatora?

Dalej zostają errory:

Error 1 error C2065: 'cout' : undeclared identifier
Error 2 error C2660: 'ile_jardow' : function does not take 0 arguments
Error 3 error C2660: 'ile_mil' : function does not take 0 arguments

2
  1. No i czego sie niby spodziewasz? Nie ma czegoś takiego jak cout jest std::cout a ty using namespace std dałeś PONIŻEJ tego gdzie użyłeś cout.
    2, 3. No i w czym problem? Widzisz chyba że te funkcje wymagają argumentu a ty go nie podałeś. Skoro funkcja dla parametru x zwraca x*2 to jak nie przekażesz x to co niby miałaby zwrócić? o_O
0

Pomogło to co napisaliście, dziękuję (nie mogę oznaczyć jako rozwiązane bo nie jestem zalogowany...).

1 użytkowników online, w tym zalogowanych: 0, gości: 1