#include <stdio.h>
#include <stdlib.h>
double op(double num1, double num2, char c)//operacoes
{
if(c == '/')//divisao
{
if(num2 == 0)
{
printf("operacao nao pode ser realizada");
}
else
num1 = (num1)/num2;
}
else if(c == '*')//multiplicacao
num1 = (num1)*num2;
else if(c == '-')//subtracao
num1= num1 - num2;
else if(c == '+')//soma
num1 = num1 + num2;
else if(c != '&')//se não for o caractere de finalização
{
printf("operacao nao pode ser realizada");//print o erro
}
printf("%.3lf\n", num1
);//printa o resultado da operação de: num1 e num2
return num1;//retorna o resultado da operaçãos
}
void captar_e_op(double num1)//captar e operar
{
///VAR
double num2;//equivalente ao num2
char c;
///ENTRADA
while(c != '&')//se o char não for '&', continue o loop
{
num1 = op(num1,num2,c);//num1 recebe(=) o resultado da operação de: "antigo num1" e num2
///ENTRADA
}
}
int main()
{
///VARAVEIS
char c;
double num1, num2;
///ENTRADA
num1 = op(num1, num2, c);
captar_e_op(num1);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmRvdWJsZSBvcChkb3VibGUgbnVtMSwgZG91YmxlIG51bTIsIGNoYXIgYykvL29wZXJhY29lcwp7CiAgICBpZihjID09ICcvJykvL2RpdmlzYW8KICAgIHsKICAgICAgICBpZihudW0yID09IDApCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIm9wZXJhY2FvIG5hbyBwb2RlIHNlciByZWFsaXphZGEiKTsKCiAgICAgICAgICAgIGV4aXQoMSk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgbnVtMSA9IChudW0xKS9udW0yOwogICAgfQoKICAgIGVsc2UgaWYoYyA9PSAnKicpLy9tdWx0aXBsaWNhY2FvCiAgICAgICAgbnVtMSA9IChudW0xKSpudW0yOwoKICAgIGVsc2UgaWYoYyA9PSAnLScpLy9zdWJ0cmFjYW8KICAgICAgICBudW0xPSBudW0xIC0gbnVtMjsKCiAgICBlbHNlIGlmKGMgPT0gJysnKS8vc29tYQogICAgICAgIG51bTEgPSBudW0xICsgbnVtMjsKCiAgICBlbHNlIGlmKGMgIT0gJyYnKS8vc2UgbsOjbyBmb3IgbyBjYXJhY3RlcmUgZGUgZmluYWxpemHDp8OjbwogICAgewogICAgICAgIHByaW50Zigib3BlcmFjYW8gbmFvIHBvZGUgc2VyIHJlYWxpemFkYSIpOy8vcHJpbnQgbyBlcnJvCgogICAgICAgIGV4aXQoMSk7CiAgICB9CgogICAgcHJpbnRmKCIlLjNsZlxuIiwgbnVtMSk7Ly9wcmludGEgbyByZXN1bHRhZG8gZGEgb3BlcmHDp8OjbyBkZTogbnVtMSBlIG51bTIKCiAgICByZXR1cm4gbnVtMTsvL3JldG9ybmEgbyByZXN1bHRhZG8gZGEgb3BlcmHDp8Ojb3MKfQoKdm9pZCBjYXB0YXJfZV9vcChkb3VibGUgbnVtMSkvL2NhcHRhciBlIG9wZXJhcgp7CiAgICAvLy9WQVIKICAgIGRvdWJsZSBudW0yOy8vZXF1aXZhbGVudGUgYW8gbnVtMgoKICAgIGNoYXIgYzsKCiAgICAvLy9FTlRSQURBCiAgICBzY2FuZigiJWxmIiwgJm51bTIpOwoKICAgIHNjYW5mKCIgJWMiLCAmYyk7CgogICAgd2hpbGUoYyAhPSAnJicpLy9zZSBvIGNoYXIgbsOjbyBmb3IgJyYnLCBjb250aW51ZSBvIGxvb3AKICAgIHsKICAgICAgICBudW0xID0gb3AobnVtMSxudW0yLGMpOy8vbnVtMSByZWNlYmUoPSkgbyByZXN1bHRhZG8gZGEgb3BlcmHDp8OjbyBkZTogImFudGlnbyBudW0xIiBlIG51bTIKCiAgICAgICAgLy8vRU5UUkFEQQogICAgICAgIHNjYW5mKCIlbGYiLCAmbnVtMik7CgogICAgICAgIHNjYW5mKCIgJWMiLCAmYyk7CiAgICB9Cn0KCmludCBtYWluKCkKewogICAgLy8vVkFSQVZFSVMKICAgIGNoYXIgYzsKCiAgICBkb3VibGUgbnVtMSwgbnVtMjsKCiAgICAvLy9FTlRSQURBCiAgICBzY2FuZigiJWxmIiwgJm51bTEpOwoKICAgIHNjYW5mKCIlbGYiLCAmbnVtMik7CgogICAgc2NhbmYoIiAlYyIsICZjKTsKCgogICAgbnVtMSA9IG9wKG51bTEsIG51bTIsIGMpOwoKICAgIGNhcHRhcl9lX29wKG51bTEpOwoKICAgIHJldHVybiAwOwp9Cg==