Ir ao conteúdo

Posts recomendados

Postado

Eu tentei resolver um exercício, mas eu não estou achando ele em lugar nenhum. Ele basicamente pedia para pedir os dados de uma pessoa(nome, sexo e idade), e se a pessoa tivesse menos de 25 anos e fosse do sexo feminino era para imprimir o nome da pessoa e que ela foi aceita. O problema é que pelo código que eu fiz, depois de inserir as informações, o nome não é impresso, mesmo obedecendo as condições estabelecidas. Alguém ai pode me ajudar, por favor?

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct dados{
  char nome [70];
  char sexo [20];
  int idade;
};

int main (){

  struct dados pessoa1;

  printf ("Insira o seu nome: ");
  fgets (pessoa1.nome, 70, stdin);
  printf ("Insira o seu sexo: ");
  fgets (pessoa1.sexo, 20, stdin);
  printf ("Insira a sua idade: ");
  scanf ("%i", &pessoa1.idade);

  if (pessoa1.sexo==="feminino" && pessoa1.idade<25){
    printf ("%s, voce foi aceita!\n", pessoa1.nome);
  }

  return 0;
}

 

  • Curtir 2
Postado

@jpalmeida34     não está funcionando por quê você está misturando a linguagem c com a linguagem c++ , que parecem as mesmas mas não são , pois a linguagem c++ é outra coisa , e no c você compara string usando a função strcmp , assim  :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#define H GetStdHandle(STD_OUTPUT_HANDLE)
void textcolor_2(int l, int f){SetConsoleTextAttribute(H,l+(f<<4));}
struct dados{
  char nome [70];
  char sexo [20];
  int idade;
};
int main (){
  struct dados pessoa1;
  textcolor_2(14,0);
  printf ("Insira o seu nome: ");
  textcolor_2(11,0);
  fgets(pessoa1.nome, 70, stdin);
  pessoa1.nome[strlen(pessoa1.nome)-1]='\0';
  textcolor_2(14,0);
  printf("%s\n",pessoa1.nome);
  printf ("Insira o seu sexo: ");
  textcolor_2(11,0);
  fgets (pessoa1.sexo, 20, stdin);
  textcolor_2(14,0);
  printf ("Insira a sua idade: ");
  textcolor_2(11,0);
  scanf ("%i", &pessoa1.idade);

    if(strcmp(pessoa1.sexo,"feminino") && pessoa1.idade<25){
    textcolor_2(12,15);
    printf ("  %s , voce foi aceita . . . !  \n", pessoa1.nome);
  }
  textcolor_2(10,12);
  return 0;
}

 

  • Curtir 2

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...