Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wosh1ngton

[Resolvido] problema com estrutura IF

Recommended Posts

pessoal já tentei de tudo mas não consigo!

desculpem minha ignorancia mas gostaria que me ajudassem

aqui é sempre meu último recurso.

 

o exercicio pede que 25 pessoas respondam um questionário, a respeito de gostar ou não

de um determinado produto, e também pergunta o sexo da pessoa.

ao final o programa deve exibir o numero de pessoas que disseram sim

o numero de pessoas que disse nao

o numero de pessoas do sexo feminio

e o numero de pessoas do sexo masculino.

até ai tudo bem

 

o meu problema esta no seguinte

o programa pede tambem o numero de pessoas do sexo feminino que disse sim

e o numero de pessoas do sexo masculino que disse não

eu sei a lógica, mas num to conseguindo realiza-la

meu último if num ta executando eu não sei porque. acho que porque to usando duas variaveis na comparação

de qualquer forma peço a ajuda de vcs. desde já grato.

 

segue abaixo o exercicio

 

#include <stdio.h>
#include <conio.h>
#include <string.h> 
#include <math.h>

	  int main() {
			  
			  int aprova, nao, x, p1, p2, p3, p4, z, fem, masc, s;
			  char resp, sexo; 
			  
			   
			  x = 1;
			  nao = 0;
			  aprova = 0;
			  masc = 0;
			  fem = 0;
			  p3 = 0;
			  p4 = 0;
			  
			  
			  while (x <= 25) {  
			  printf("\nvocê aprova o novo produto? Sim ou Não ");
			  scanf("%s" ,&resp);
			
			  
				 if (resp == 's')  {printf("sim, voce aprova "); printf("\n"); aprova++; 
					  
		   } else if (resp != 's'){printf("nao aprovou "); printf("\n"); nao++;
		   
		   } 
			  
		  printf("\nqual o sexo do entrevistado? M para masculino, F para feminino \n");
		  scanf("%s", &sexo);  
			  
		   if (sexo == 'm') {printf("\no entrevistado e do sexo masculino"); masc++;
					   
		   } else if (sexo == 'f') {printf("\no entrevistado e do sexo feminino"); fem++;
		   
		   }
	
		   if(sexo == 'f' and resp == 's') {p3++;}   
		   
		   if(sexo == 'm' and resp == 'n') {p4++;}
			  
		   x++;
		   }
		
			 
			  printf("\n\nas pessoas que responderam sim sao %d", aprova);
			  printf("\n");
			  p1 = (4 * aprova);
			  printf("\na porcentagem das pessoas que disseram sim e %d ", p1);
			  printf("porcento ");
			  printf("\n");
			  printf("\nas pessoas que responderam nao sao %d", nao);  
			  printf("\n");
			  p2 = (4 * nao);
			  printf("\na porcentagem das pessoas que disseram nao e %d ", p2); 
			  printf("\nporcento "); 
			  
			  
			  
			  printf("\no numero de mulheres que responderam sim sao %d", p3);
			  printf("\no numero de homens que disseram nao sao %d", p4);
			  getch();
			  getch();
			  }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesta parte:

if(sexo == 'f' and resp == 's') {p3++;}
if(sexo == 'm' and resp == 'n') {p4++;}

Tente fazer assim:

 

if(sexo == 'f' && resp == 's') {p3++;}
else if(sexo == 'm' && resp == 'n') {p4++;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesta parte:

if(sexo == 'f' and resp == 's') {p3++;}
if(sexo == 'm' and resp == 'n') {p4++;}

Tente fazer assim:

 

if(sexo == 'f' && resp == 's') {p3++;}
else if(sexo == 'm' && resp == 'n') {p4++;}

não funcionou =(

tentei mas continua com o mesmo problema.

o contador p3 não funciona. ou seja nao ta adicionando o numero de mulheres que disseram sim

e o p4 tem o mesmo problema não ta somando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei:

Você está lendo os dados como %s (string). Leia como %c (char). E ponha um getchar logo após os scanf para limpar lixo do input, senão vai dar problema de "pular" os próximos scanf.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.