Ir ao conteúdo

Posts recomendados

Postado

alguem consegue me ajudar ?

// Escreva um programa da forma

// mais otimizada possível que leia um conjunto de dados contendo nome, sexo, idade e o estado civil
// (1 - solteiro, 2 - casado e 3 - divorciado) de um grupo de 10 pessoas. Deve ser utilizado as técnicas
// de armazenamento de dados em vetores, estrutura de repetição para leitura e informação na tela, estruturas
//condicionais entre outras. Este programa deve ser executado infinitas vezes até que seja pressionado no final
// da repetição a letra s, além disso deve informar :1 Todos os dados de cada usuário em linhas
//Nome: Robernei sexo: masculino idade: 52
//Nome: Silvana sexo: feminino .....
//2 Média de idade das mulheres;
//3 média de idade dos homens;
//4 Estado civil que mais ocorreu entre os entrevistados

//5 Estado civil que menos ocorreu entre os entrevistadosA

 

nao consigo continuar

 

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

main(){
int contf,contm,idade,civil,sexo,estcivil;
char nome,participar;
int vetor[10];
contm=0;
contf=0;


for (int i=0; i<10; ++i){
printf("Digite seu nome por gentilza");
scanf ("%c",&nome);
printf("Digite sua idade");
scanf ("%i",&idade);
printf("Digite sua idade");
scanf ("%i",&idade);
printf("Digite seu sexo : 1=Masculino / 2=Feminino");
scanf ("%i",&sexo);
if (sexo=1){
contm<-contm+1;
}
if(sexo=2){
contf<-contf+1
}
printf("Digite seu estado civil :1 - solteiro, 2 - casado e 3 - divorciado ");
}
}

Postado

Precisa fazer um vetor de char para guardar uma string, do mesmo jeito que fez com a variável vetor de inteiro. Depois dentro do laço faça scanf("%s", nome), fazer o mesmo com os outros scanf dentro do laço, mas colocar o &. Para fazer comparação no if usa-se == para igualdade ou != para desigualdade. E para fazer atribuição a uma variável usa-se =, por exemplo int x = 10;.

Postado

String é um vetor de caracteres.

 

char nome[10][10]; é assim que deveria ser no seu código, na verdade. Neste exemplo guardará 10 nomes com 10 caracteres.

 

Então um exemplo seria assim:

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

int main()
{
    char nome[3][10]; // Guarda 3 nomes com 10 caracteres
    int idade[3];

    for(int c  = 0; c < 3; c++)
    {
        printf("Entre com nome: ");
        scanf("%s", nome[c]);
        printf("Entre com idade: ");
        scanf("%d", &idade[c]);
    }

    for(int c  = 0; c < 3; c++)
    {
        printf("Ola %s, sua idade e %d\n", nome[c], idade[c]);
    }
    return 0;
}

Só adaptar ao seu código.

Postado

eu preciso fazer uma matriz para armazenar o nome , mas ai como eu faço o vetor pra escolha do sexo e do estado civil ?

adicionado 4 minutos depois

cheguei aqui

 

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

main(){
    int
    char nome[10];
    int idade[10],sexo[10],civil[10];civilmais,civilmenos;
    float mediah;mediam;

    for(foi i==0,i>10,i++){
        printf("Digite seu nome por gentilza :");
        scanf ("%c",&nome);
        printf("Digite sua idade :");
        scanf ("%i",&idade);
    }
    

    }

adicionado 16 minutos depois

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

main(){
    int conth<-0
    int contm<-0
    int solt<-0
    int divor<-0
    int casado<-0
    char nome[10];
    int idade[10],sexo[10],civil[10];civilmais,civilmenos;
    float mediah;mediam;

    for(foi i==0,i>10,i++){
        printf("Digite seu nome por gentilza :");
        scanf ("%c",&nome);
        printf("Digite sua idade :");
        scanf ("%i",&idade);
        printf("Qual seu genero : 1-Masculino / 2- Feminino");
        scanf ("%i",&sexo);
        if (sexo==1){
            conth<-conth+1
        }
            if (sexo==2){
            contm<-contm+1
        }
        printf("Qual seu estado civil  : 1 - solteiro, 2 - casado e 3 - divorciado");
        scanf ("%i",&civil);
        if (civil==1){
            solt<-solt+1
        }
            if (civil==2){
            casado<-casado+1
        }
        if (civil==3){
            divor<-divor+1
        }
    }
    

    }

adicionado 22 minutos depois

eu preciso saber como extrair apenas a idade das mulheres pra realizar a media entre elas como eu faço isso ?

 

adicionado 36 minutos depois

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

main(){
    int conth<-0
    int contm<-0
    int solt<-0
    int divor<-0
    int casado<-0
    char nome[10];
    int idade[10],sexo[10],civil[10];civilmais,civilmenos;
    float mediah;mediam;

    for(foi i==0,i>10,i++){
        printf("Digite seu nome por gentilza :");
        scanf ("%c",&nome);
        printf("Digite sua idade :");
        scanf ("%i",&idade);
        printf("Qual seu genero : 1-Masculino / 2- Feminino");
        scanf ("%i",&sexo);
        if (sexo==1){
            conth<-conth+1;
        }
            if (sexo==2){
            contm<-contm+1;
        }
        printf("Qual seu estado civil  : 1 - solteiro, 2 - casado e 3 - divorciado");
        scanf ("%i",&civil);
        if (civil==1){
            solt<-solt+1;
        }
            if (civil==2){
            casado<-casado+1;
        }
        if (civil==3){
            divor<-divor+1;
        }
    }
    if(solt>casado && solt>divor{
          civilmais=solt;
    }
    if(casado>solt && casado>divor{
          civilmais=casado;
    }
    else{
        civilmais=divorciado;
    }
    if(solt<casado && solt<divor{
          civilmenos=solt;
    }
    if(casado<solt && casado<divor{
          civilmenos=casado;
    }
    else{
        civilmenos=divorciado;}

adicionado 37 minutos depois

eu preciso saber como extrair apenas a idade das mulheres pra realizar a media entre elas como eu faço isso?

Postado

Se você soubesse usar estrutura, poderia agrupar todas essas variáveis dentro da estrutura, assim ficaria mais fácil de fazer o código e mais legível de entender. E se soubesse fazer funções ajudaria muito mais.

 

Do jeito que está tentando fazer pode até funcionar, mas não é o recomendado.

Postado

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

int main(){
    int conth=0;
    int contm=0;
    int solt=0;
    int divor=0;
    int casado=0;
    int i;
    char nome[10];
    char escolha,a,s;
    int idade[10];
    int sexo[10];
    int civil[10];
    float mediah,mediam;
    
    
    
    
    
    
        printf("Gostaria de participar da nossa pesquisa ? Se sim digite ,a, se nao digite ,s,");
            scanf ("%c",&escolha);
            if (escolha==a){
    for( i==0;i>10;i++){
        printf("Digite seu nome por gentilza :");
        scanf ("%c",&nome);
        printf("Digite sua idade :");
        scanf ("%i",&idade);
        printf("Qual seu genero : 1-Masculino / 2- Feminino");
        scanf ("%i",&sexo);
        if (sexo==1){
            conth<-conth+1;
        }
            else if (sexo==2){
            contm<-contm+1;
        }
        printf("Qual seu estado civil  : 1 - solteiro, 2 - casado e 3 - divorciado");
        scanf ("%i",&civil);}
        if (civil=1){
            solt<-solt+1;
        }
            else if (civil==2){
            casado<-casado+1;
        }
        else if (civil==3){
            divor<-divor+1;
        }
    }
    for( i==0;i>10;i++){
        printf("%s %d %d %d", nome[0], idade[0], sexo[0], civil[0]);}

    if(solt>casado && solt>divor){
          printf("Estado civil mais entrevistado :solteiro ");
    }
    else if(casado>solt && casado>divor){
          printf("Estado civil mais entrevistado :casado ");
    }
    else if{
        printf("Estado civil mais entrevistado :divorciado ");
    }
    if(solt<casado && solt<divor){
         printf("Estado civil menos entrevistado :solteiro");}
    else if (casado<solt && casado<divor){
         printf("Estado civil menos entrevistado :casado");}
    else if{
        printf("Estado civil menos entrevistado :divorciado");}
        else if(escolha=s){
            return(0);}

Postado

Um exemplo seguindo a ideia do @allanxd seria assim:

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

#define clear system("clear");  // No Windows mude de "clear" para "cls"

int main() {
    struct Pessoa {
        char nome[15];
        char sexo;
        char estadoCivil;
        int idade;
    };

    const int quantidade = 10;

    char repetir = 'S';
    while (repetir == 'S') {
        struct Pessoa pessoas[quantidade];

        double mediaFeminino = 0.0;
        double mediaMasculino = 0.0;

        int quantidadeFeminino = 0;
        int quantidadeMasculino = 0;
        int ocorrenciaCasado = 0;
        int ocorrenciaSolteiro = 0;
        int ocorrenciaDivorciado = 0;

        char maiorOcorrencia = ' ';
        char menorOcorrencia = ' ';

        clear
        printf(">> Cadastro de Pessoas \n");
        for (int i = 0; i < quantidade; ++i) {
            printf("Nome: ");
            scanf(" %[^\n]s", pessoas[i].nome);

            printf("Sexo [ F / M ]: ");
            scanf(" %c", &pessoas[i].sexo);
            pessoas[i].sexo = toupper(pessoas[i].sexo);

            printf("Idade: ");
            scanf(" %i", &pessoas[i].idade);

            printf("Estado civil [ C / S / D ]: ");
            scanf(" %c", &pessoas[i].estadoCivil);
            pessoas[i].estadoCivil = toupper(pessoas[i].estadoCivil);

            // Acumula para calcular a média
            switch (pessoas[i].sexo) {
                case 'F':
                    mediaFeminino += pessoas[i].idade;
                    quantidadeFeminino += 1;
                    break;
                case 'M':
                    mediaMasculino += pessoas[i].idade;
                    quantidadeMasculino += 1;
                    break;
            }

            // Contabiliza as opções de estado civil
            switch (pessoas[i].estadoCivil) {
                case 'C':
                    ocorrenciaCasado += 1;
                    break;
                case 'D':
                    ocorrenciaDivorciado += 1;
                    break;
                case 'S':
                    ocorrenciaSolteiro += 1;
                    break;
            }
        }

        // Determinar maior ocorrência
        if (ocorrenciaCasado > ocorrenciaDivorciado) {
            if (ocorrenciaCasado > ocorrenciaSolteiro) {
                maiorOcorrencia = 'C';
            } else {
                maiorOcorrencia = 'S';
            }
        } else {
            if (ocorrenciaDivorciado > ocorrenciaSolteiro) {
                maiorOcorrencia = 'D';
            } else {
                maiorOcorrencia = 'S';
            }
        }

        // Determinar menor ocorrência
        if (ocorrenciaCasado < ocorrenciaDivorciado) {
            if (ocorrenciaCasado < ocorrenciaSolteiro) {
                menorOcorrencia = 'C';
            } else {
                menorOcorrencia = 'S';
            }
        } else {
            if (ocorrenciaDivorciado < ocorrenciaSolteiro) {
                menorOcorrencia = 'D';
            } else {
                menorOcorrencia = 'S';
            }
        }

        // Calcular média das idades
        mediaFeminino /= quantidadeFeminino;
        mediaMasculino /= quantidadeMasculino;

        printf("\n"
               ">> Exibir Relatório \n"
               "      Nome      | Sexo | EC | Idade \n"
               "----------------------------------- \n");
        for (int i = 0; i < quantidade; ++i) {
            printf("%15s |  %c   | %c  | %3i \n", pessoas[i].nome, pessoas[i].sexo, pessoas[i].estadoCivil, pessoas[i].idade);
        }

        printf("\n"
               ">> Ocorrências de Estado Civil \n");
        printf("    Casado: %i \n", ocorrenciaCasado);
        printf("Divorciado: %i \n", ocorrenciaDivorciado);
        printf("  Solteiro: %i \n\n", ocorrenciaSolteiro);
        printf("Maior Ocorrência: %c \n", maiorOcorrencia);
        printf("Menor Ocorrência: %c \n\n", menorOcorrencia);
        printf(" Média Feminino: %.2f \n", mediaFeminino);
        printf("Média Masculino: %.2f \n", mediaMasculino);

        if (getchar() == '\n') {
            getchar();
        }
        printf("Repetir [ S / N]: ");
        scanf(" %c", &repetir);
        repetir = toupper(repetir);
    }

    clear
    return 0;
}

 

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