Ir ao conteúdo
  • Cadastre-se

C Consigo compilar o programa, mas ele não executa todas as ações.


jpalmeida34

Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

Olá!

 

Consiga um livro! É mais produtivo.

Tente cursos online.  Tem muitos grátis. Na primeira tela da primeira pesquisa tem esse com 24 aulas em português https://gyncursos.com.br/curso/curso-de-programacao-em-linguagem-c/

Não estou recomendando. Não conheço. Mas precisa de um roteiro

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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