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

(Resolvido) programa que cadastre pessoas e separe por caracteristcas


escobar_rpe

Pergunta

Faça um programa para ler os dados de Quant pessoas.

Para cada pessoa devem ser lidos os seguintes dados:

- nome

ano de nascimento

sexo ('M', 'm', 'F', 'f')

código de escolaridade

(1- analfabeto 2- primeiro grau 3- segundo grau 4- superior)

Obs. Quant deve ser lido antes dos dados.

Exibir:

a) a quantidade de mulheres com mais de 40 anos com segundo grau ou curso superior

B)o percentual de homens analfabetos

c)a quantidade de pessoas com menos de 30 anos que tem curso superior

d)a idade média dos homens analfabetos

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Então isso é com structs?

Bom, foi isso que eu entendi...

Então, ficaria assim:

struct
{
char nome[30];
char sexo;
int anoNasc;
int codEscolaridade; /*dai na hora que pergunta o codigo da escolaridade, imprima as opções (1- analfabeto 2- primeiro grau 3-segundo grau 4- superior), e o usuario digita apenas o codigo, que seria 1, 2, 3  ou 4.*/
}

Editado por AlineI
Link para o comentário
Compartilhar em outros sites

  • 0

Olha pra falar a verdade...eu não entendi o que voce tanto quer... mais se entendi bem, esse codigo pode resolver seu problema

Obs...Meu computador deu pau...aqui com uma tempestade e não pude testar direito. pode ter algum problema na hora dos printf

aqui vai o CODE

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

struct informacao//Struct criada pela AlineI
{
char nome[30];//perceba que o nome só serve para enfeitar o programa
char sexo[2];
int anoNasc;
int codEscolaridade; /*dai na hora que pergunta o codigo da escolaridade, imprima as opções (1- analfabeto 2- primeiro grau 3-segundo grau 4- superior), e o usuario digita apenas o codigo, que seria 1, 2, 3  ou 4.*/
};

int main()
{
    struct informacao pessoa;
    int i,n;//n é o numero de pessoas que serão lidas as informações
    int dado1=0,dado2=0,dado3=0,dado4=0;
    int qntH=0;
    float per,med;

    printf("Escreva a Quantidade de pessoas:\n");
    fflush(stdin);//Limpa o Buffer do teclado
    scanf("%d",&n);
    for(i=1;i<=n;i++)//determina o numero de vezes que será feito o LOOP
    {
        printf("Leia o Nome da Pessoa %d\n=>",i);
        fflush(stdin);
        scanf("%s",&pessoa.nome);

        printf("Leia o sexo da Pessoa %d\n=>",i);
        fflush(stdin);
        scanf("%s",&pessoa.sexo);
        strupr(pessoa.sexo);//converte a string para maiusculo

        printf("Leia o Ano de Nascimento da Pessoa %d\n=>",i);
        fflush(stdin);
        scanf("%c",&pessoa.anoNasc);

        printf("Leia o Grau de Escolaridade da Pessoa %d\n",i);
        printf("\t(1- analfabeto 2- primeiro grau 3- segundo grau 4- superior)\n=>",i);
        fflush(stdin);
        scanf("%d",&pessoa.codEscolaridade);

        //Captura dos Dados

        if((strcmp(pessoa.sexo,"F"))&& (2008-pessoa.anoNasc>=40)&&((pessoa.codEscolaridade==3) ||(pessoa.codEscolaridade==4)))
        {
            dado1++;//soma 1 a qnt de mulheres com mais de 40 anos
        }
        if(strcmp(pessoa.sexo,"M") && pessoa.codEscolaridade==1)
            dado2++;//soma a qnt de homens analfabetos
            dado4+=(2008-pessoa.anoNasc);//acumula a idade dos Homens analfabetos
        if((2008-pessoa.anoNasc<30)&& pessoa.codEscolaridade==4)
            dado3++;//soma a qnt de pessoas com menos de 30 anos q tem curso superior

        if((strcmp(pessoa.sexo,"M"))||(strcmp(pessoa.sexo,"m")))
            qntH++;


    }
    per=(dado2*qntH)/100;
    med=dado4/qntH;

    //Exibição dos Dados

    printf("Pergunta A:\n==>%d\n",dado1);
    printf("Pergunta B:\n==>%f\n",per);
    printf("Pergunta C:\n==>%d\n",dado3);
    printf("Pergunta D:\n==>%f\n",med);

    getch();

    return 0;
}

ai tem a library conio.h porque eu uso o Borland aqui na faculdade

espero que tenha ajudado...xD!

Link para o comentário
Compartilhar em outros sites

  • 0
Olha pra falar a verdade...eu não entendi o que voce tanto quer... mais se entendi bem, esse codigo pode resolver seu problema

Obs...Meu computador deu pau...aqui com uma tempestade e não pude testar direito. pode ter algum problema na hora dos printf

aqui vai o CODE

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

struct informacao//Struct criada pela AlineI
{
char nome[30];//perceba que o nome só serve para enfeitar o programa
char sexo[2];
int anoNasc;
int codEscolaridade; /*dai na hora que pergunta o codigo da escolaridade, imprima as opções (1- analfabeto 2- primeiro grau 3-segundo grau 4- superior), e o usuario digita apenas o codigo, que seria 1, 2, 3  ou 4.*/
};

int main()
{
    struct informacao pessoa;
    int i,n;//n é o numero de pessoas que serão lidas as informações
    int dado1=0,dado2=0,dado3=0,dado4=0;
    int qntH=0;
    float per,med;

    printf("Escreva a Quantidade de pessoas:\n");
    fflush(stdin);//Limpa o Buffer do teclado
    scanf("%d",&n);
    for(i=1;i<=n;i++)//determina o numero de vezes que será feito o LOOP
    {
        printf("Leia o Nome da Pessoa %d\n=>",i);
        fflush(stdin);
        scanf("%s",&pessoa.nome);

        printf("Leia o sexo da Pessoa %d\n=>",i);
        fflush(stdin);
        scanf("%s",&pessoa.sexo);
        strupr(pessoa.sexo);//converte a string para maiusculo

        printf("Leia o Ano de Nascimento da Pessoa %d\n=>",i);
        fflush(stdin);
        scanf("%c",&pessoa.anoNasc);

        printf("Leia o Grau de Escolaridade da Pessoa %d\n",i);
        printf("\t(1- analfabeto 2- primeiro grau 3- segundo grau 4- superior)\n=>",i);
        fflush(stdin);
        scanf("%d",&pessoa.codEscolaridade);

        //Captura dos Dados

        if((strcmp(pessoa.sexo,"F"))&& (2008-pessoa.anoNasc>=40)&&((pessoa.codEscolaridade==3) ||(pessoa.codEscolaridade==4)))
        {
            dado1++;//soma 1 a qnt de mulheres com mais de 40 anos
        }
        if(strcmp(pessoa.sexo,"M") && pessoa.codEscolaridade==1)
            dado2++;//soma a qnt de homens analfabetos
            dado4+=(2008-pessoa.anoNasc);//acumula a idade dos Homens analfabetos
        if((2008-pessoa.anoNasc<30)&& pessoa.codEscolaridade==4)
            dado3++;//soma a qnt de pessoas com menos de 30 anos q tem curso superior

        if((strcmp(pessoa.sexo,"M"))||(strcmp(pessoa.sexo,"m")))
            qntH++;


    }
    per=(dado2*qntH)/100;
    med=dado4/qntH;

    //Exibição dos Dados

    printf("Pergunta A:\n==>%d\n",dado1);
    printf("Pergunta B:\n==>%f\n",per);
    printf("Pergunta C:\n==>%d\n",dado3);
    printf("Pergunta D:\n==>%f\n",med);

    getch();

    return 0;
}

ai tem a library conio.h porque eu uso o Borland aqui na faculdadese faz para poder utilizar, t

espero que tenha ajudado...xD!

ainda não estudei struct mas to vendo como se faz , em algumas declarações invalidas mas to procurando identificar cada erro para compilar e é claro o mais importante aprender como se faz . brigado pela ajuda se souber como posso faser o mesmo sem a struct e sim com estrutura de repetição agradeço. vlw pela mão.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara uma forma de fazer sem usar estas tal de struct, que eu tb não sei usar, seria desencadenado alguns if_else_if

mais ou menos assi

cont_idade30, cont_nivelsuperior, cont_nivel medio etc.....

if(idade>40&&sexo==feminino)
    cont_idade30=cont_idade30+1;
AI é so você fazer uma tabela do que você quer e depois ir desencadeando if-else-if-else-if-else-if-else, ufa!!! acho que já ta bom.... um bom fim de semana!!!!
Olha pra falar a verdade...eu não entendi o que voce tanto quer... mais se entendi bem, esse codigo pode resolver seu problema Obs...Meu computador deu pau...aqui com uma tempestade e não pude testar direito. pode ter algum problema na hora dos printf aqui vai o CODE
#include <stdio.h>
#include <string.h>
#include <conio.h>

struct informacao//Struct criada pela AlineI
{
char nome[30];//perceba que o nome só serve para enfeitar o programa
char sexo[2];
int anoNasc;
int codEscolaridade; /*dai na hora que pergunta o codigo da escolaridade, imprima as opções (1- analfabeto 2- primeiro grau 3-segundo grau 4- superior), e o usuario digita apenas o codigo, que seria 1, 2, 3  ou 4.*/
};

int main()
{
    struct informacao pessoa;
    int i,n;//n é o numero de pessoas que serão lidas as informações
    int dado1=0,dado2=0,dado3=0,dado4=0;
    int qntH=0;
    float per,med;

    printf("Escreva a Quantidade de pessoas:\n");
    fflush(stdin);//Limpa o Buffer do teclado
    scanf("%d",&n);
    for(i=1;i<=n;i++)//determina o numero de vezes que será feito o LOOP
    {
        printf("Leia o Nome da Pessoa %d\n=>",i);
        fflush(stdin);
        scanf("%s",&pessoa.nome);

        printf("Leia o sexo da Pessoa %d\n=>",i);
        fflush(stdin);
        scanf("%s",&pessoa.sexo);
        strupr(pessoa.sexo);//converte a string para maiusculo

        printf("Leia o Ano de Nascimento da Pessoa %d\n=>",i);
        fflush(stdin);
        scanf("%c",&pessoa.anoNasc);

        printf("Leia o Grau de Escolaridade da Pessoa %d\n",i);
        printf("\t(1- analfabeto 2- primeiro grau 3- segundo grau 4- superior)\n=>",i);
        fflush(stdin);
        scanf("%d",&pessoa.codEscolaridade);

        //Captura dos Dados

        if((strcmp(pessoa.sexo,"F"))&& (2008-pessoa.anoNasc>=40)&&((pessoa.codEscolaridade==3) ||(pessoa.codEscolaridade==4)))
        {
            dado1++;//soma 1 a qnt de mulheres com mais de 40 anos
        }
        if(strcmp(pessoa.sexo,"M") && pessoa.codEscolaridade==1)
            dado2++;//soma a qnt de homens analfabetos
            dado4+=(2008-pessoa.anoNasc);//acumula a idade dos Homens analfabetos
        if((2008-pessoa.anoNasc<30)&& pessoa.codEscolaridade==4)
            dado3++;//soma a qnt de pessoas com menos de 30 anos q tem curso superior

        if((strcmp(pessoa.sexo,"M"))||(strcmp(pessoa.sexo,"m")))
            qntH++;


    }
    per=(dado2*qntH)/100;
    med=dado4/qntH;

    //Exibição dos Dados

    printf("Pergunta A:\n==>%d\n",dado1);
    printf("Pergunta B:\n==>%f\n",per);
    printf("Pergunta C:\n==>%d\n",dado3);
    printf("Pergunta D:\n==>%f\n",med);

    getch();

    return 0;
}

ai tem a library conio.h porque eu uso o Borland aqui na faculdadese faz para poder utilizar, t

espero que tenha ajudado...xD!

ainda não estudei struct mas to vendo como se faz , em algumas declarações invalidas mas to procurando identificar cada erro para compilar e é claro o mais importante aprender como se faz . brigado pela ajuda se souber como posso faser o mesmo sem a struct e sim com estrutura de repetição agradeço. vlw pela mão.

Link para o comentário
Compartilhar em outros sites

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.1k
    • Posts
      651.8k
×
×
  • Criar Novo...