C basit hesap makinesi

Bu konuyu okuyanlar

jaq

Öğrenci
Katılım
26 Ocak 2020
Mesajlar
4
Reaksiyon puanı
0
Puanları
1
Yaş
23
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

Müdavim
Katılım
22 Ağustos 2014
Mesajlar
3,657
Reaksiyon puanı
2,682
Puanları
113
Yaş
26
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;
}
 

jaq

Öğrenci
Katılım
26 Ocak 2020
Mesajlar
4
Reaksiyon puanı
0
Puanları
1
Yaş
23
Sorun çözülmedi :/
 

CapScroLL

Müdavim
Katılım
22 Ağustos 2014
Mesajlar
3,657
Reaksiyon puanı
2,682
Puanları
113
Yaş
26
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;
}
 

jaq

Öğrenci
Katılım
26 Ocak 2020
Mesajlar
4
Reaksiyon puanı
0
Puanları
1
Yaş
23
Teşekkürler sorun çözülmüş.Konu kilit..
 

Son mesajlar

Üst