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.. :(

Recommended Answers

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 meeting, networking, learning, and sharing knowledge.