Ir para conteúdo
Fórum Script Brasil
  • 0

O meu if nunca é verdadeiro?


a5d2frt3

Pergunta

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define TAM 2
struct sFuncionario{
    char nome[40];
    float salario;
    char estadoCivil[2];
    char endereco[50];
    char cidade[20];
    char estado[3];
};
int main(){
    sFuncionario funcionario[TAM];
    int i, cont=0;
    float somatorio=0, media=0;
    for (i=0;i<TAM;i++){
        printf("Informe o nome do funcionario %d\n",i+1);
        scanf("%s",&funcionario.nome);
        
        fflush(stdin);
        
        printf("Informe o salario do funcionario %d\n",i+1);
        scanf("%f",&funcionario.salario);
        
        fflush(stdin);
        
        printf("Informe o estado civil do funcionario %d\n",i+1);
        scanf("%s",&funcionario.estadoCivil);
        
        fflush(stdin);
        
        printf("Informe o endereco do funcionario %d\n",i+1);
        scanf("%s",&funcionario.endereco);
        
        fflush(stdin);
        
        printf("Informe a cidade do funcionario %d\n",i+1);
        scanf("%s",funcionario.cidade);
        
        fflush(stdin);
        
        printf("Informe o estado do funcionario %d\n",i+1);
        scanf("%s",&funcionario.estado);
        
        fflush(stdin);
        
        printf("\n");
    }
    
    printf("Estes são os funcionarios com salario maior que R$ 500, estado civil casado(a) e residente no PI:\n");
    for (i=0;i<TAM;i++){
        somatorio+=funcionario.salario;
        if (funcionario.salario > 500 && funcionario.estadoCivil == "c" && funcionario.estado == "pi"){      //ESTA LINHA NUNCA É EXECUTADA. O QUE HÁ DE ERRADO?
            printf("-------------\n");
            printf("%s\n",funcionario.nome);
            printf("%.2f\n",funcionario.salario);
            printf("%c\n",funcionario.estadoCivil);
            printf("%s\n",funcionario.endereco);
            printf("%s\n",funcionario.cidade);
            printf("%s\n",funcionario.estado);
            cont++;
        }
    }
    
    if (cont==0){
        printf("Nenhum funcionario com estas caracteristicas!\n\n");
    }
    
    media=somatorio/TAM;
    printf("A media dos salarios é: R$ %.2f reais\n\n",media);
    
    printf("Funcionarios com salario maior que a media:\n");
    for (i=0;i<TAM;i++){
        if (funcionario.salario > media){
            printf("%s\n",funcionario.nome);
        }
    }
    return 0;
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...