Hi there, I'm just new to programming and C++
...
I have trouble with my code
At first I am using "int" for variables but then I realize that i need a much larger range of numbers and also support for decimal operations so I change all "int" to "float"...
Code:

``````#include <stdio.h>
#include <conio.h>

void A(float& res)
{
float a,b;
printf("Enter Numbers A: \n");
scanf("%.2f %.2f",&a,&b);
res=a+b;
}

void B(float& res)
{
float a,b;
printf("Enter Numbers B: \n");
scanf("%.2f %.2f",&a,&b);
res=a+b;
}

void main()
{
float total,Ares,Bres;
clrscr();
A(Ares);
B(Bres);
total=Ares+Bres;
printf("A + B = %.2f \n",total);
getch();
}
``````

There's no error in compiling, but output is a disaster.. :(

``````#include <stdio.h>

void A(float* res)
{
float a, b;
printf("Enter Numbers A: \n");
scanf(" %f %f",&a,&b);
(*res) = a+b;
}

void B(float* res)
{
float a, b;
printf("Enter Numbers B: \n");
scanf(" %f %f", &a, &b);
(*res) = a + b;
}

int main(void)
{
float total,Ares,Bres; …``````

## All 3 Replies

``````#include <stdio.h>

void A(float* res)
{
float a, b;
printf("Enter Numbers A: \n");
scanf(" %f %f",&a,&b);
(*res) = a+b;
}

void B(float* res)
{
float a, b;
printf("Enter Numbers B: \n");
scanf(" %f %f", &a, &b);
(*res) = a + b;
}

int main(void)
{
float total,Ares,Bres;

A(&Ares);
B(&Bres);

total= Ares + Bres;
printf("A + B = %.2f \n",total);

return 0;
}
``````
commented: Thanks! +0

Thanks man! but can I do by using Pass by Reference? not Pass by Pointers?

``````Thanks man! but can I do by using Pass by Reference? not Pass by Pointers?
``````

Not in C, that's a C++ feature. Closest thing you could do is make the pointers you pass const. (e.g `float* const res`)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.