Ir ao conteúdo

Posts recomendados

Postado
#include <stdio.h>
#include <stdlib.h>
struct info
{	
char nome[20];
int sexo;
int idade;	
	
};
typedef struct  info pessoas;


pessoas verefica(){
int x;
int masculino=1;
for(x=0; x<3; x++){
if(pessoas[x].sexo == masculino){
printf("Nome:%s Idade:%d \n",pessoas[x].nome,pessoas[x].idade);	
  }	
  else{
printf("Nome:%s Idade:%d \n",pessoas[x].nome,pessoas[x].idade);	
	  }		
}
return  masculino;	
}





main(){
struct info pessoas[3];
int x;
int y;
while(x<3)
{
printf("Digite seu nome:");	
gets(pessoas[x].nome);
printf("Digite 1 para M e 0 Para F:");
gets(pessoas[x].sexo);
printf("Digite Sua Idade:");
scanf("%d",&pessoas[x].idade);
fflush(stdin);


x++;
} 



	   
system("pause");		
}

//Eai galera recentemente começei struct e estou com duvida nesse exercicio.Se a pessoa for masculino mostrar seu nome e idade e feminino a mesmo coisa

 

  • Curtir 1
Postado

@Igor Vargas    você misturou struct com typedef  por isso estava dando erro, e é melhor  colocar  a definição do struct lá em cima antes da main para que ele seja do tipo global, assim você pode trabalhar com ele dentro das outras funções,  então seu código com algumas modificações ficaria assim :

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct info
{
    char nome[20];
    int sexo;
    int idade;

};
struct info pessoas[3];
int pessoas_verefica(){
    int x;
    int masculino=1;
    for(x=0; x<3; x++){
        if(pessoas[x].sexo==masculino){
            printf("Nome:%s Idade:%d \n",pessoas[x].nome,pessoas[x].idade);
        }
        else{
            printf("Nome:%s Idade:%d \n",pessoas[x].nome,pessoas[x].idade);
        }
    }
    return  masculino;
}
int main(){
    int x;
    /*int y;*/
    while(x<3){
        printf("Digite seu nome:");
        gets(pessoas[x].nome);
        printf("Digite 1 para M e 0 Para F:");
        /*gets*/scanf("%d",&pessoas[x].sexo);
        printf("Digite Sua Idade:");
        fflush(stdin);
        scanf("%d",&pessoas[x].idade);
        fflush(stdin);
        x++;
    }
    pessoas_verefica();
    system("pause");
}

 

  • Curtir 1
Postado

Obrigado pela ajuda, o problema pede pra quando voce escoher feminino apareça só o nome e idade da mulher no caso,essa é a duvida que eu tenho.

adicionado 4 minutos depois

@devair1010  por exemplo eu fiz esse codigo. O unico problema é q a idade ta vindo zero.

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct registro{
char nome[20];
int idade;
char sexo[20];	
	
	
	
	
	
	
}registro;
typedef struct registro pessoas;

char verefica(pessoas sex[]){
int i;
int escolhe;
printf("Solicite um sexo \n");
printf("1 para masculino 0 para feminino \n");	
scanf("%d",&escolhe);
for(i=0; i<3; i++){		
if(escolhe==1){
puts(sex[i].nome);
printf("idade:%d \n",sex[i].idade);	
}else if(escolhe==0){
puts(sex[i].nome);
printf("idade: %d \n",sex[i].idade);
	
}	

}

}



main(){
	
struct registro pessoas[3];
int x;

for(x=0; x<3; x++){

printf("Digite seu nome:\n");
gets(pessoas[x].nome);
printf("Digite sua idade:\n");
scanf("&d",&pessoas[x].idade);
printf("Digite seu sexo 1 M e 0 F:\n ");
gets(pessoas[x].sexo);

	
while(getchar() != '\n');





	}	
verefica(pessoas);		

}

 

  • Curtir 1
Postado

@Igor Vargas    isso é porque você colocou um caractere & no lugar de % ali dentro da main, na linha que pega a idade :

for(x=0; x<3; x++){

printf("Digite seu nome:\n");
gets(pessoas[x].nome);
printf("Digite sua idade:\n");
scanf("&d",&pessoas[x].idade);/* <----- nessa linha aqui */
printf("Digite seu sexo 1 M e 0 F:\n ");
gets(pessoas[x].sexo);

coloque assim :

scanf("%d",&pessoas[x].idade);

 

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