Buscar

A minha intenção era que ao chegar no final do programa, ele me perguntasse: "Se quero parar por aqui ou começar de novo".

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// A minha intenção era que ao chegar no final do programa, ele me perguntasse: "Se quero parar por aqui ou começar de novo".//

int main(){
char OP;
float num1, num2;
int continuar=1,up;
printf("Digite 1 deles [+, -, * ou /]\n");
scanf("%c",&OP);
while(continuar){

printf("Digite o 1\370 n\243mero\n");
scanf("%f",&num1);

printf("Digite o 2\370 n\243mero\n");
scanf("%f",&num2);

switch(OP){
case '+':
printf("%.2f + %.2f = %.2f\n",num1,num2,num1+num2);
break;
case '-':
printf("%.2f - %.2f = %.2f\n",num1,num2,num1-num2);
break;
case '*':
printf("%.2f * %.2f = %.2f\n",num1,num2,num1*num2);
break;
case '/':
printf("%.2f / %.2f = %.2f\n",num1,num2,num1/num2);
break;
default:
printf("Voc\210 digitou uma Opera\207\706o inv\240lida\n");
}

printf("Aperta (S/s) para come\207ar de novo e (N/n) para sair\n");
scanf("%d",&continuar);
switch(up){
case 'S':
case 's':
break;
case 'N':
case 'n':
continuar=0;
}
}

return 0;
}

💡 8 Respostas

User badge image

Angelo Berzacola

Como assim , você já fez a pergunta se quer continuar ou não, oque está acotecedo?

0
Dislike0
User badge image

Ivan Filho

Seu programa vai dar errado porque você está esperando receber caracteres lá na variável "up", porém ela é do tipo Int. Você tem duas alternativas pra resolver:

1ª Forma:

Declarar a variavel "up" como char.

No momento de receber a opção do teclado, você faz assim se ela for char:

scanf("%c",&up);

2ª Forma:

Ao invés de receber "S" ou "s" você pede para que o usuário digite um inteiro. Por exemplo:

printf("Digite 1 para comecar de novo ou 2 para finalizar");

scanf("%d",&up);

Agora você faz normalmente o Switch. Porém:

switch(up)

{

        case 1:

                  main();

                  break;

        case 2:

                  exit(1);

                  break;

}

O "exit(1)" vai fazer o programa finalizar e retornar 1 ao Sistema. Boa sorte!

0
Dislike0
User badge image

Ivan Filho

o "main()" vai chamar a função main() recursivamente. Ou seja, seu programa vai reiniciar. VLW FLWS

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais