Informática, perguntado por pedreira638, 6 meses atrás

Todos os 60 professores responderam a uma pesquisa, onde se
desejava saber: sua idade, seu sexo (M – Masculino; F – Feminino), seu nível de escolaridade (G –
Graduado; M – Mestre; D – Doutor) e a quantidade de disciplinas que leciona. Escreva um programa
em C que receba as informações de todos os professores, calcule e mostre:
a. A média de idade dos professores e professoras com Doutorado.
b. A quantidade média de disciplinas lecionadas por professores e professoras com mais 50 anos.
c. A idade da professora mais velha.
d. O percentual de professores e professoras Graduados, Mestres e Doutores.
e. O percentual de professoras Doutoras, em relação ao total do corpo docente.
O programa deve garantir que a idade informada por cada professor esteja entre 18 e 70 anos, que o
sexo seja M, m, F ou f, que o nível de escolaridade seja G, g, M, m, D ou d e que a quantidade de
disciplinas lecionadas seja superior a 0. Caso os valores informados não estejam de acordo com a
especificação acima, novos valores devem ser solicitados até que o(a) professor(a) informe valores
válidos.


gabrielstuchi22: É pra entregar até quando? Isso aí vai dar um trabalhinho hein
pedreira638: nem contar mais agora a noite, então mais 2 dias
pedreira638: to dando 200 pontos pelas 3 questões respondida

Soluções para a tarefa

Respondido por gabrielstuchi22
0

Resposta:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define TAM 60

struct todos_dados

{

 //Array de string: 60 palavras de ate 1 caractere.

 int idade[60];

 char sexo[60][1];

 char nivel_escolaridade[60][1];

 int qtd_disciplinas[60];

};

struct todos_dados professor; //struct

int main() {

 //contadores de posição:

 int count = 1, count_2 = 1, count_3 = 1, count_4 = 1;

 int i;

 //Media de professores com doutorado:

 int soma_doutorado = 0, media_doutorado = 0, qtd_doutorado = 0;

 //Media professores +50:

 int soma_50 = 0, media_50 = 0, qtd_50 = 0;

 //Professora mais velha:

 int idade_professora = 0, mais_velha = 0;

 //Percentual:

 int qtd_graduado = 0, qtd_mestre = 0, qtd_doutor = 0;

 int total = 0;

 float total_g, total_m, total_d;

 //Percentual doutor+feminino:

 int doutora = 0, doutor = 0;

 float total_doutora;

 printf("==================================\n");

 printf("\tENTRADA:");

 printf("\n==================================\n\n");

 //Entrada de dados:

 for(i = 0; i < TAM; i++){

   printf("Informe a idade [%d]: ", count++);

   scanf("%d", &professor.idade[i]);

   //Opcao invalida de idade:

     if(professor.idade[i] < 18 || professor.idade[i] > 70){

       system("cls");

       printf("==================================\n");

       printf("\tIDADE INVALIDA!\n");

       printf("==================================\n\n");

       return main(0);

     }

     if(professor.idade[i] > idade_professora){

       mais_velha = professor.idade[i];

     }

   printf("\nInforme o sexo [%d]:\nM - masculino / F - feminino: ", count_2++);

   scanf("%s", professor.sexo[i]);

     if(strcmp(professor.sexo[i], "m") == 0 || strcmp(professor.sexo[i], "M") == 0

     || strcmp(professor.sexo[i], "f") == 0 || strcmp(professor.sexo[i], "F") == 0){

   //Opcao Invalida de sexo:

     }else{

       system("cls");

       printf("==================================\n");

       printf("\tOPCAO INVALIDA!\n");

       printf("==================================\n\n");

       return main(0);

     }

     if(strcmp(professor.sexo[i], "f") == 0 || strcmp(professor.sexo[i], "F") == 0){

       idade_professora = professor.idade[i];

     }

   printf("\nInforme o nivel de escolaridade [%d]:\nG - graduado / M - mestre / D - doutor: ", count_3++);

   scanf("%s", professor.nivel_escolaridade[i]);

     if(strcmp(professor.nivel_escolaridade[i], "g") == 0 || strcmp(professor.nivel_escolaridade[i], "G") == 0

     || strcmp(professor.nivel_escolaridade[i], "m") == 0 || strcmp(professor.nivel_escolaridade[i], "M") == 0

     || strcmp(professor.nivel_escolaridade[i], "d") == 0 || strcmp(professor.nivel_escolaridade[i], "D") == 0){

   //Opcao invalida de escolaridade:

     }else{

       system("cls");

       printf("==================================\n");

       printf("\tOPCAO INVALIDA!\n");

       printf("==================================\n\n");

       return main(0);

     }

   printf("\nInforme a quantidade de materias lecionadas [%d]: ", count_4++);

   scanf("%d", &professor.qtd_disciplinas[i]);

   //Opcao invalida de materias:

     if(professor.qtd_disciplinas[i] < 0){

       system("cls");

       printf("==================================\n");

       printf("\tQUANTIDADE INVALIDA!\n");

       printf("==================================\n\n");

       return main(0);

     }

   printf("\n==================================\n\n");

   if(strcmp(professor.nivel_escolaridade[i], "d") == 0

   || strcmp(professor.nivel_escolaridade[i], "D") == 0){

     soma_doutorado = soma_doutorado + professor.idade[i];

     qtd_doutorado++;

   }

   if(professor.idade[i] > 50){

     soma_50 = soma_50 + professor.qtd_disciplinas[i];

     qtd_50++;

   }

   if(strcmp(professor.nivel_escolaridade[i], "g") == 0 || strcmp(professor.nivel_escolaridade[i], "G") == 0){

     qtd_graduado++;

   }

   if(strcmp(professor.nivel_escolaridade[i], "m") == 0 || strcmp(professor.nivel_escolaridade[i], "M") == 0){

     qtd_mestre++;

   }

   if(strcmp(professor.nivel_escolaridade[i], "d") == 0 || strcmp(professor.nivel_escolaridade[i], "D") == 0){

     qtd_doutor++;

   }

   if(strcmp(professor.nivel_escolaridade[i], "d") == 0 || strcmp(professor.nivel_escolaridade[i], "D") == 0

   && strcmp(professor.sexo[i], "f") == 0 || strcmp(professor.sexo[i], "F") == 0){

     doutora++;

   }

}//for

 media_doutorado = soma_doutorado / qtd_doutorado;

 printf("Media de idade dos professores com doutorado: %d anos\n\n", media_doutorado);

 media_50 = soma_50 / qtd_50;

 printf("Quantidade media de disciplinas de professores com mais de 50 anos: %d disciplinas\n\n", media_50);

 printf("A professora com maior idade possui %d anos\n\n", mais_velha);

 printf("Porcentuais:\n");

 total = qtd_doutor + qtd_mestre + qtd_graduado;

 total_d = (qtd_doutor*100)/total;

 printf("Doutores: %.2f%%\n", total_d);

 total_m = (qtd_mestre*100)/total;

 printf("Mestres: %.2f%%\n", total_m);

 total_g = (qtd_graduado*100)/total;

 printf("Graduados: %.2f%%\n\n", total_g);

 total_doutora = ((doutora*100) - total)/total;

 printf("Percentual de professoras doutoras: %.2f%%\n\n", total_doutora);

return 0;

}

Anexos:

pedreira638: vou dar mais 200 pelas outras 2 questões
Perguntas interessantes