C++ getting integer instead of a float value -


my problem when dividing 2 integers can't float value. here's code

{     cout << "kokie skaiciai?" << endl;     cin >> x;     cin >> y;     cout << "atsakymas: " << dalyba(x, y) << endl; } 

and function use

int dalyba (int x, int y) { float z; z = (float) x / y; return z; } 

so if x = 5 , y = 2 answer 2 instead of 2.5. apreciated.

the problem function returns int instead of float, float result cast integer, , truncated. may want change return value type of function int float.

moreover, in modern c++, may want use c++-style casts static_cast<>.

the following snippet prints 2.5 expected:

#include <iostream> using namespace std;  float f(int x, int y) {     return static_cast<float>(x) / y; }  int main() {     cout << f(5, 2) << endl; } 

Comments

Popular posts from this blog

c# - Unity IoC Lifetime per HttpRequest for UserStore -

Change the color of an oval at click in Java AWT -

I am trying to solve the error message 'incompatible ranks 0 and 1 in assignment' in a fortran 95 program. -