Error with a Function Return

I was assigned to write a program that would calculate the total cost of installing carpet. I had the whole program written, but when I went to run it the output was a far smaller number than it should have been. Whenever this happens, I put together a trial code that has a portion of the code that I need and use cout statements to give myself updates on what the program is doing at certain points. That is what the below code is. My trial code.

Everything before the installprice function works perfectly, but when I got to the installprice function itself, it didn't work. I tried taking the return statement out of the installprice function, but that change the output in the main. I tried changing the install variable and installprice function from floats into double, however, all that did was give me an even smaller number. Could someone please help me figure what is wrong with my program. Thanks in advance.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>

using namespace std;

void getdata(int &, int &, float &);
double installprice(int, int, float);

int main()
{
    int length, width;
    float costpersqft, price;
    double install;
    
    getdata(length, width, costpersqft);
    
    cout << endl
         << length << endl
         << width << endl
         << costpersqft << endl;
    
    installprice(length, width, costpersqft);
    
    cout << endl
         << install
         << endl;
         
    system("pause");
    return 0;
}

void getdata(int & length, int & width, float & costpersqft)
{
     cin >> length >> width >> costpersqft;
}

double installprice(int length, int width, float costpersqft)
{
      double install;
      
      cout << endl
           << length << endl
           << width << endl
           << costpersqft << endl;
      
      install = (length * width * costpersqft);
      
      cout << endl
           << install
           << endl;
      
      return install;
}
1
2
3
4
5
    installprice(length, width, costpersqft);
    
    cout << endl
         << install
         << endl;
Why are you calling function but not use its return value?
Why do you output variable install which was not initialisated at all?
Topic archived. No new replies allowed.