• Matéria: Informática
  • Autor: anaclaraquinti1
  • Perguntado 3 anos atrás

Elabore um programa que receba a idade, peso, sexo e o estado civil de várias pessoas e imprima a
quantidade de pessoas casadas, solteiras, separadas e viúvas. Apresente a média de idade e de peso. O
algoritmo finaliza quando for informado o valor zero para.

Respostas

respondido por: joaopedrolemos
3

#include <stdio.h>

#include <locale.h> //include para a função setlocale

#include <stdlib.h> //para a função system

#include <stdio_ext.h> //para a função __fpurge

//estrutura para receber dados de diferentes tipos

struct pessoa {

   int idade;

   float peso;

   char sexo;

   char estCivil;

};

int main() {

   setlocale(LC_ALL,"Portuguese"); //insere caractereses da lingua portuguesa

   struct pessoa p[1000]; //struct com array

   int i = 0;

   int peC, peS, peD, peV, undefined;

       peC = peS = peD = peV = undefined = 0;

   float mIdade, mPeso;

       mIdade = mPeso = 0;

   char ans = 's';

   

       do {

           printf("------PESSOA-%d------\n",i+1);

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

               __fpurge(stdin); //limpeza de buffer, se voce usar Windows, troque a funcao por fflush()

               mIdade+=p[i].idade;

           printf("Peso: "); scanf("%f",&p[i].peso);

               __fpurge(stdin);

               mPeso+=p[i].peso;

           printf("Sexo(m/f): "); scanf("%c",&p[i].sexo); __fpurge(stdin);

           printf("Estado Civil(c/s/d/v): "); scanf("%c",&p[i].estCivil); __fpurge(stdin);

               if (p[i].estCivil == 'c') peC++;

               else if(p[i].estCivil == 's') peS++;

               else if(p[i].estCivil == 'd') peD++;

               else if(p[i].estCivil == 'v') peV++;

               else undefined++;

           printf("Adicionar mais uma pessoa?(s/n) ");

           scanf("%c",&ans);

           system ("clear"); //usa para limpar a tela, se usar Windows troque a funcao por system("cls")

           i++;

       } while (ans == 's');

   

   printf("Quantidade de Pessoas Casadas: %d\n",peC);

   printf("Quantidade de Pessoas Solteiras: %d\n",peS);

   printf("Quantidade de pessoas Divorciadas: %d\n",peD);

   printf("Quantidade de Pessoas Viúvas: %d\n",peV);

   printf("Quantidade de Status Indefinido: %d\n",undefined);

   mIdade/=i;

   printf("Média de Idade: %.2f\n",mIdade);

   mPeso/=i;

   printf("Média de Peso: %.2f\n",mPeso);

   return 0;

}


joaopedrolemos: Qualquer dúvida, só perguntar...
anaclaraquinti1: Muito obrigado ♥️♥️♥️
anaclaraquinti1: Oi será que tem como passar pro Portugal Studio é pq é esse que o prof exige e não tô conseguindo passar esse código pra ele pq da erro no Portugal
joaopedrolemos: Esse código está escrito em Linguagem C
joaopedrolemos: Substitua o printf para "escrever"
joaopedrolemos: o if-else para e se-senão
joaopedrolemos: scanf por "ler"
joaopedrolemos: int quer dizer inteiro, float variável do tipo real e char quer dizer caractere.
joaopedrolemos: No portugol não precisa das bibliotecas que declarei, então ignore o #include
anaclaraquinti1: aaaa obrigada de coração
Perguntas similares