<stdio.h>
#include <string.h>
main()
{
int opcao, id = 0, cont = 0, sup = 0, inf= 0, mt3 = 0, i, j, k = 0, dim = 20, num = 0, quant =
0;
float alt, peso, med, soma = 0, porc = 0, m1 = 0, m2 = 0, m3 = 0, m4 = 0, m5 = 0;
char nome[30] = " ", alunos2[200] = " ", alunos[200]=" ";
int a[dim][dim];
int at[dim][dim];
int vetor1[10];
do{
printf("--------MENU--------\n");
printf("\nDigite <1> Analise de Idade, Altua e Peso");
printf("\nDigite <2> Alunos da turma de Informatica");
printf("\nDigite <3> Matriz Transposta");
printf("\nDigite <4> Vetor com numeros repetidos");
printf("\nDigite <5> para sair\n");
scanf("%d", &opcao);
if( opcao < 1 || opcao > 5 ){
printf("\n opcao invalida, digite numero entre 1 e 3");
scanf("%d", &opcao);
}while( opcao < 1 || opcao > 5 );
switch (opcao){
case 1:
printf("*********************************\n");
printf("\nAnalise de Idade, Altua e Peso\n");
do{
printf("Digite a idade ou -1 para sair: ");
scanf("%d", &id );
if(id >= 50){
sup ++;
}
}while(id != -1);
printf("Digite a altura: ");
scanf("%f", &alt );
printf("Digite o peso: ");
scanf("%f", &peso );
if(peso < 40){
inf ++;
}
if(id > 10 && id < 20){
soma = alt + soma;
}
printf("Digite o nome da pessoa: ");
scanf("%s", &nome );
cont ++;
med = soma / cont;
porc = (inf * 100) / cont;
printf("\nA quantidade de pessoas com idade superior a 50 anos a %i.",
sup );
printf("\nA media das alturas das pessoas com idade entre 10 e 20
anos e %f.", med );
printf("\nA porcentagem de pessoas com peso inferior a 40kg a %f.",
inf);
break;
case 2:
printf("\n\nAlunos da turma de Informatica \n\n");
printf("Quantidade de alunos: ");
scanf("%d", &quant );
while(quant <= 0){
printf("\numero invalido. Digite novamente: ");
scanf("%d", &quant );
}
printf("\n\nCadastro das notas dos %d alunos",quant);
for(cont = 1; cont <= quant; cont = cont + 1){
printf("\n");
printf("\n----------------\n");
printf("%d do aluno:",cont);
printf("\n Nome do Aluno: ");
scanf("%s", &nome );
printf("\n----------------\n");
printf("\nNota em Redes de computadores: ");
scanf("%f", &m1 );
while(m1 < 0 || m1 > 10){
printf("\nNota Invalida!");
printf("\nDigite corretamente. Nota em Redes de computadores: ");
scanf("%f", &m1 );
}
printf("\nNota em Logica da programacao: ");
scanf("%f", &m2 );
while(m2 < 0 || m2 > 10){
printf("\nNota Invalida!");
printf("\nDigite corretamente. Nota em Logica da programacao: ");
scanf("%f", &m2 );
}
printf(" Nota em Arquitetura de software: ");
scanf("%f", &m3 );
while(m3 < 0 || m3 > 10){
printf("\nNota Invalida!");
printf("\nDigite corretamente. Nota em Arquitetura de software: ");
scanf("%f", &m3 );
}
if(m3 >= 5){
mt3 ++;
porc = (mt3 * 100) / quant;
}
printf(" Nota em Fundamentos de TI: ");
scanf("%f", &m4 );
while(m4 < 0 || m4 > 10){
printf("\nNota Invalida!");
printf("\nDigite corretamente. Nota em Fundamentos de TI: ");
scanf("%f", &m4 );
}
printf(" Nota em informatica: ");
scanf("%f", &m5 );
while(m5 < 0 || m5 > 10){
printf("\nNota Invalida!");
printf("\nDigite corretamente. Nota em informatica: ");
scanf("%f", &m5 );
}
if(m1 >= 5 && m2 >= 5 && m3 >= 5 && m4 >= 5 && m5 >= 5){
strcpy(
alunos, alunos);
strcpy(alunos,nome);
}
if(m1 < 5 && m2 >= 5 && m3 >= 5 && m4 < 5 && m5 >= 5)
{
strcpy(alunos2,alunos);
strcpy(alunos2,nome);
}
}
printf("\n\n Nome dos alunos aprovados em todas as materias: %s .", alunos);
printf("\n\n Nome dos alunos aprovados apenas em Redes de Computadores e
Fundamentos de TI %s .: ",alunos2 );
printf("\n\n Porcentagem de alunos aprovados em Arquitetura de Software: %f
%%", porc);
printf("\n\n*****FIM*****\n\n");
break;
case 3:
printf("Matriz Transposta\n");
printf("Digite a dimensao da matriz: ");
scanf("%d", &dim );
while(dim > 20){
printf("Dimensao invalida!\n");
printf("Digite dimensao <=20\n");
printf("Digite a dimensao da matriz: ");
scanf("%d", &dim );
}
for(i = 0; i < dim; i = i + 1){
for(j = 0; j < dim; j = j + 1){
printf("%d numero da matriz: ",k + 1);
scanf("%d", &a[i][j]);
at[i][j] = a[i][j];
k ++;
}
}
printf("\n-----------------\n");
printf("\nMatriz Original\n");
for(i = 0; i < dim; i = i + 1){
printf("\nNumeros da %d linha:",i+1);
for(j = 0; j < dim; j = j + 1){
printf("%d|",a[i][j]);
}
}
printf("\n-----------------\n");
printf("\nMatriz Transposta\n");
for(i = 0; i < dim; i = i + 1){
printf("\nNumeros da %d linha:",i+1);
for(j = 0; j < dim; j = j + 1){
printf("%d|",at[j][i]);
}
}
printf("\n-----------------\n");
break;
case 4:
printf("Vetor com numeros repetidos\n");
for(i = 0; i < 10; i = i + 1){
printf("Digite numero:");
scanf("%d", &vetor1[i] );
}
for(i = 0; i < 10; i = i + 1){
quant = 0;
num = vetor1[i];
for(j = 0; j < 10; j = j + 1){
if(vetor1[j] == num){
quant ++;
}
}
printf("Numero %d repete %d vezes.\n",num ,quant);
}
break;
case 5:
printf("\nFIM\n");
break;
}
}while(opcao <= 1 || opcao > 5);
}
Download

Arquivo da AEC traduzido em C