C basit hesap makinesi

Şu anda konuyu okuyanlar (Üyeler: 1, Ziyaretçi & Botlar: 0)

jaq

Üyecik
Aşağıda verdiğim kodlarla basit bir hesap makinesi yapmaya çalıştım fakat op değerini(+,-,*,/) aldıktan sonra program 0 değerini döndürüyor.Hatamı gösterebilecek var mı?


#include<stdio.h>
double operation(double num1,char op,double num2)
{
double res;
if(op=='+')
{
res=num1+num2;
}
else if(op=='-')
{
res=num1-num2;
}
else if(op=='*')
{
res=num1*num2;
}
else if(op=='/')
{
res=num1/num2;
}
printf("%lf",&res);
}
main()
{
double num1,num2;
char op;
printf("Please enter the operation with pressing enter after first number,operator and second number.\n ");
scanf("%lf",&num1);
scanf("%c",&op);
scanf("%lf",&num2);
operation(num1,op,num2);

return 0;
}
 

CapScroLL

Doçent
Daha önce C diline el atmamıştım ama biraz kurcalayıp nereden kaynaklandığını bilmediğim problemi buldum, yorum satırı ile belirttiğim noktada & sembolü problem çıkartıyor.
C:
#include<stdio.h>
double operation(double num1,char op,double num2)
{
double res;
if(op=='+')
{
res=num1+num2;
}
else if(op=='-')
{
res=num1-num2;
}
else if(op=='*')
{
res=num1*num2;
}
else if(op=='/')
{
res=num1/num2;
}
printf("%lf",&res); //"&res" yerine "res" olmalı
}
main()
{
double num1,num2;
char op;
printf("Please enter the operation with pressing enter after first number,operator and second number.\n ");
scanf("%lf",&num1);
scanf("%c",&op);
scanf("%lf",&num2);
operation(num1,op,num2);

return 0;
}
 

CapScroLL

Doçent
Sorun çözülmedi :/
Benim yapıştırdığım kod fixed hali değil, sadece problemi belirttim. Şu şekilde online C compiler ile test ettiğimde çalışıyor;

C:
#include<stdio.h>
double operation(double num1,char op,double num2)
{
double res;
if(op=='+')
{
res=num1+num2;
}
else if(op=='-')
{
res=num1-num2;
}
else if(op=='*')
{
res=num1*num2;
}
else if(op=='/')
{
res=num1/num2;
}
printf("%lf",res); //"&res" yerine "res" olmalı
}
main()
{
double num1,num2;
char op;
printf("Please enter the operation with pressing enter after first number,operator and second number.\n ");
scanf("%lf",&num1);
scanf("%c",&op);
scanf("%lf",&num2);
operation(num1,op,num2);

return 0;
}
 
Üst
stat counter