Ir ao conteúdo

Posts recomendados

Postado

Boa tarde a todos.

 

Preciso de uma ajuda, fiz um programa que fica repetindo a função até que o usuário digite "s" para sair, porém a rotina não está funcionando... Agradeço a ajuda de todos, segue o código abaixo:

#include<stdio.h>
#include<conio.h>
#include<time.h>
#include<stdlib.h>

int soma(int n1, int n2){
	printf("A soma de %d + %d\n", n1, n2);
	return n1 + n2;
}

int subtracao(int n1, int n2 ){
	printf("A subtracao de %d - %d\n", n1, n2);
	return n1 - n2;
}

int divisao(int n1, int n2){
	printf("A divisao de %d / %d\n", n1, n2);
	return n1 / n2;
}

int multiplicacao(int n1, int n2){
	printf("A multiplicacao de %d x %d\n", n1, n2);
	return n1 * n2;
}

int main(){
	
	int v1, 
	    v2, 
	    resultado = 0,
	    num = -1,
	    op;
	char sair;
	
	srand (time(NULL));
    while (sair != 's'){
     v1 = 1+ (rand()%9); 
	 v2 = 1+ (rand()%9);
	 op = 1+ (rand()%4);
	
	
	if (op == 1) resultado = soma(v1, v2);
	   else if (op == 2) resultado = subtracao(v1, v2);
	   else if (op == 3) resultado = divisao(v1, v2);
	   else if (op == 4) resultado = multiplicacao(v1, v2);
	
	while (num != resultado) {

    	printf("\nDigite o total da operacao ou aperte <s> para sair: \n");
		scanf("%d", &num);
	    
    	if (num == resultado){
    		printf("\n muito Bom!\n\n");
 		}
 		
    	else
        	printf("\n Nao. Tente novamente\n");
        

	
	  }
        getch();
    }  
	while (num != 's'){
  if (num == 's') printf("Bye Bye");
  return 0;    
}
}

 

  • Amei 1
Postado

@Felipe Eduardo R. Mesquita   essa linha que diz : 

 num  != 's'

sempre acontecera pois  a variável num eh do tipo int  , e para que funcione certo  você pode pegar o número digitado pelo usuário em uma variável string e verifica se for   s   termina o programa e não for   s     então converte a string em inteiro usando o comando atoi ,   então seu código pode ser assim  :

#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
int soma(int n1, int n2){
	printf("A soma de %d + %d\n",n1,n2);
	return n1 + n2;
}
int subtracao(int n1, int n2 ){
	printf("A subtracao de %d - %d\n",n1,n2);
	return n1 - n2;
}
int divisao(int n1, int n2){
	printf("A divisao de %d / %d\n",n1,n2);
	return n1 / n2;
}
int multiplicacao(int n1, int n2){
	printf("A multiplicacao de %d x %d\n",n1,n2);
	return n1 * n2;
}
int main(){
    int v1,
    v2,
    resultado = 0,
    num = -1,
    op;
    char sair[10];
    srand(time(NULL));
    while(sair[0] != 's') {
        v1 = 1+ (rand()%9);
        v2 = 1+ (rand()%9);
        op = 1+ (rand()%4);

        if     (op == 1) resultado = soma         (v1, v2);
        else if(op == 2) resultado = subtracao    (v1, v2);
        else if(op == 3) resultado = divisao      (v1, v2);
        else if(op == 4) resultado = multiplicacao(v1, v2);

        while(num != resultado){
            printf("Digite o total da operacao ou aperte < s > para sair: ");
            fflush(stdin);
            scanf("%s",sair);

            if(sair[0]!='s'){
                num = atoi(sair);
            }
            else{
                num=resultado;
                strcpy(sair,"s");
                break;
            }

            if(num == resultado){
                printf("\n muito Bom!\n\n");
            }
            else
                printf("\n Nao. Tente novamente\n");
        }
    }
    if(num == resultado) printf("\nBye Bye");
    printf("\n\n");
    return 0;
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!