i have program , using g++ compiler.
#include <iostream> #include <math.h> using namespace std; double getcal(double *par); int main() { double final_price; double discount; discount = 12; final_price = getcal(&discount); cout << "final price is" << final_price << endl; return 0; } double getcal(double *par) { double original_price; double r; cout << " enter price" << endl; cin >> original_price; r= (par/100.00); return original_price - (original_price*r); } i have checked reference cmath haven't noticed division function replace operator.both par , 100.00 doubles.what should change?
par not double pointer double. if want divide value (pointed par) have write
r = *par / 100.0; however, there no need pass pointer , maybe should better change signature
double getcal(double *par) to
double getcal(double par) //(1) unless need reference inside function. , then, still should stay away pointers , pass reference:
double getcal(double& par) just sake of completeness mention common way pass-by-value:
double getcal(const double& par) however, single double value difference between , (1) negligible.
Comments
Post a Comment