<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); }