C Help I am having a problem getting this to print a decimal

C++ Help

I am having a problem getting this to print a decimale value if the user inputsdecimal values. This is just basic C++ with functions

Problem statement

Prompt the user for two points (x1, y1), (y1, y2). Write a function that calculates the distance between the points

Start with this code:

#include <iostream>

// YOUR CODE GOES BELOW HERE

// TO HERE

// DO NOT CHANGE ANYTHING BELOW HERE

int main() {

double x1, y1, x2, y2;

cout << \"Enter x1: \";

cin >> x1;

cout << x1 << endl;

cout << \"Enter y1: \";

cin >> y1;

cout << y1 << endl;

cout << \"Enter x2: \";

cin >> x2;

cout << x2 << endl;

cout << \"Enter y2: \";

cin >> y2;

cout << y2 << endl;

cout << \"The distance is \";

cout << distance(x1, y1, x2, y2) << endl;

return 0;

}

My current code:

#include <iostream>
#include <cmath>
using namespace std;

int distance(double x1, double y1, double x2, double y2);

int main() {
  
   double x1, y1, x2, y2;
  
   cout << \"Enter x1: \";
   cin >> x1;
   cout << x1 << endl;
   cout << \"Enter y1: \";
   cin >> y1;
   cout<< y1 << endl;
   cout << \"Enter x2: \";
   cin >> x2;
   cout << x2 << endl;
   cout << \"Enter y2: \";
   cin >> y2;
   cout << y2 << endl;
   cout << \"The distance is \" << distance(x1,y1,x2,y2) << endl;
  
   return 0;
}

int distance(double x1, double y1, double x2, double y2){
  
   double result;
  
   double xRes = (x2 - x1) * (x2 - x1);
   double yRes = (y2 - y1) * (y2 - y1);
   double total = xRes + yRes;
   result = sqrt(total);
  
   return result;
  
}

results:

The result should be in decimal form and not just a whole number

Solution

the type of return value of function \'distance\' is defined to be \'int\', you need to change that. You return double with the function, but since type of return value is defined as int in function definition, it is converted to int before returning,

so change     int distance(double x1, double y1, double x2, double y2){

to                  double distance(double x1, double y1, double x2, double y2){

C++ Help I am having a problem getting this to print a decimale value if the user inputsdecimal values. This is just basic C++ with functions Problem statement
C++ Help I am having a problem getting this to print a decimale value if the user inputsdecimal values. This is just basic C++ with functions Problem statement

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site