Ir ao conteúdo
  • Cadastre-se

Igor Rossoni

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

2
  1. Estou fazendo esse exercício aqui, consegui fazer todos os itens pedidos no menu, menos o item 2, preciso mostrar qual é o estudante com a maior média em LPI. O enunciado: Crie um programa em C que cadastre os dados de 5 alunos. Os dados a serem cadastrados são: nome, matrícula, endereço, sexo, os nomes das 3 disciplinas e as 3 notas de cada disciplina que ele está cursando. Os dados devem ser cadastrados em um vetor e/ou matriz. Após o cadastro informe: a)Os dados dos alunos cadastrados e a sua situação ("aprovado" ou "reprovado") em cada disciplina. b)Os dados do aluno com maior média em "LPI". c)A média geral dos alunos na disciplina "Algoritmo". d)A quantidade de alunos(as) reprovados em qualquer disciplina. OBS.:1) Usar uma estrutura switch para mostrar os resultados calculados. 2) Para o aluno ser aprovado a média das notas deve ser >= 6. #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<locale.h> main(){ setlocale(LC_ALL, "Portuguese"); char nome[5][50], end[5][50], disc[5][50], sexo[5][20]; int mat[5], nLPI[5][3], nAlg[5][3], nDisc[5][3], reprovado = 0; float totalLPI[5], mediaLPI[5], maiorLPI, totalAlg[5], mediaAlg[5], maiorAlg, totalDisc[5], mediaDisc[5], maiorDisc, totalGeralAlg, mediaGeralAlg; int i, j, k, l, menu; for(i=0;i<5;i++){ printf("\n\nDIGITE OS DADOS DO ALUNO %d", i+1); printf("\nNOME: "); fflush(stdin); fgets(nome[i], 40, stdin); printf("MATRICULA: "); scanf("%d", &mat[i]); printf("ENDEREÇO: "); fflush(stdin); fgets(end[i], 40, stdin); printf("SEXO (palavra completa): "); fflush(stdin); fgets(sexo[i], 20, stdin); printf("\nDISCIPLINA 1: LPI\n"); for(k=0;k<3;k++){ l=0; printf("NOTA %d: ", k+1); scanf("%d", &nLPI[l][k]); totalLPI[i] += nLPI[l][k]; l++; } mediaLPI[i] = totalLPI[i]/3; if(mediaLPI[i] < 6){ reprovado++; } printf("\nDISCIPLINA 2: Algoritmo\n"); for(k=0;k<3;k++){ l=0; printf("NOTA %d: ", k+1); scanf("%d", &nAlg[l][k]); totalAlg[i] += nAlg[l][k]; l++; } mediaAlg[i] = totalAlg[i]/3; if(mediaAlg[i] < 6){ reprovado++; } printf("\nDIGITE A DISCIPLINA 3: "); fflush(stdin); fgets(disc[i], 40, stdin); for(k=0;k<3;k++){ l=0; printf("NOTA %d: ", k+1); scanf("%d", &nDisc[l][k]); totalDisc[i] += nDisc[l][k]; l++; } mediaDisc[i] = totalDisc[i]/3; if(mediaDisc[i] < 6){ reprovado++; } } fflush(stdin); do{ printf("\nESCOLHA UMA DAS OPÇÕES ABAIXO\n"); printf("1) Os dados dos alunos cadastrados e a sua situação (\"aprovado\" ou \"reprovado\") em cada disciplina.\n"); printf("2) Os dados do aluno com maior média em \"LPI\".\n"); printf("3) A média geral dos alunos na disciplina \"Algoritmo\"\n"); printf("4) A quantidade de alunos(as) reprovados em qualquer disciplina.\n"); printf("5) FINALIZAR O PROGRAMA.\n"); scanf("%d", &menu); switch(menu){ case 1: for(i=0;i<5;i++){ printf("================================="); printf("\n\nDADOS DO ALUNO %d\n", i+1); printf("NOME: %s", nome[i]); printf("MATRICULA: %d\n", mat[i]); printf("ENDEREÇO: %s", end[i]); printf("SEXO: %s\n", sexo[i]); if(mediaLPI[i] >= 6){ printf("SITUAÇÃO EM LPI: Aprovado\n"); } else{ printf("SITUAÇÃO EM LPI: Reprovado\n"); } if(mediaAlg[i] >= 6){ printf("SITUAÇÃO EM ALGORITMOS: Aprovado\n"); } else{ printf("SITUAÇÃO EM ALGORITMOS: Reprovado\n"); } if(mediaDisc[i] >= 6){ printf("SITUAÇÃO EM %s : Aprovado\n", disc[i]); } else{ printf("SITUAÇÃO EM %s : Reprovado\n", disc[i]); } } break; case 2: if(mediaLPI[0]>mediaLPI[1] && mediaLPI[0]>mediaLPI[2] && mediaLPI[0]>mediaLPI[3] && mediaLPI[0]>mediaLPI[4]){ i=0; j=0; printf("DADOS DO ALUNO COM MAIOR MÉIA EM LPI\n"); printf("NOME: %s\nMATRÍCULA: %d\nENDEREÇO: %s\nSEXO: %s\n", nome[i], mat[i], end[i], sexo[i]); printf("DISC 1: LPI\nNOTA 1: %d\tNOTA 2: %d\tNOTA 3: %d\tMÉDIA: %.2f\n", nLPI[i][j], nLPI[i][j+1], nLPI[i][j+2], mediaLPI[i]); } else if(mediaLPI[1]>mediaLPI[0] && mediaLPI[1]>mediaLPI[2] && mediaLPI[1]>mediaLPI[3] && mediaLPI[1]>mediaLPI[4]){ i=1; j=0; printf("DADOS DO ALUNO COM MAIOR MÉIA EM LPI\n"); printf("NOME: %s\nMATRÍCULA: %d\nENDEREÇO: %s\nSEXO: %s\n", nome[i], mat[i], end[i], sexo[i]); printf("DISC 1: LPI\nNOTA 1: %d\tNOTA 2: %d\tNOTA 3: %d\tMÉDIA: %.2f\n", nLPI[i][j], nLPI[i][j+1], nLPI[i][j+2], mediaLPI[i]); } else if(mediaLPI[2]>mediaLPI[0] && mediaLPI[2]>mediaLPI[1] && mediaLPI[2]>mediaLPI[3] && mediaLPI[2]>mediaLPI[4]){ i=2; j=0; printf("DADOS DO ALUNO COM MAIOR MÉIA EM LPI\n"); printf("NOME: %s\nMATRÍCULA: %d\nENDEREÇO: %s\nSEXO: %s\n", nome[i], mat[i], end[i], sexo[i]); printf("DISC 1: LPI\nNOTA 1: %d\tNOTA 2: %d\tNOTA 3: %d\tMÉDIA: %.2f\n", nLPI[i][j], nLPI[i][j+1], nLPI[i][j+2], mediaLPI[i]); } else if(mediaLPI[3]>mediaLPI[0] && mediaLPI[3]>mediaLPI[1] && mediaLPI[3]>mediaLPI[2] && mediaLPI[3]>mediaLPI[4]){ i=3; j=0; printf("DADOS DO ALUNO COM MAIOR MÉIA EM LPI\n"); printf("NOME: %s\nMATRÍCULA: %d\nENDEREÇO: %s\nSEXO: %s\n", nome[i], mat[i], end[i], sexo[i]); printf("DISC 1: LPI\nNOTA 1: %d\tNOTA 2: %d\tNOTA 3: %d\tMÉDIA: %.2f\n", nLPI[i][j], nLPI[i][j+1], nLPI[i][j+2], mediaLPI[i]); } else if(mediaLPI[4]>mediaLPI[0] && mediaLPI[4]>mediaLPI[1] && mediaLPI[4]>mediaLPI[2] && mediaLPI[4]>mediaLPI[3]){ i=4; j=0; printf("DADOS DO ALUNO COM MAIOR MÉIA EM LPI\n"); printf("NOME: %s\nMATRÍCULA: %d\nENDEREÇO: %s\nSEXO: %s\n", nome[i], mat[i], end[i], sexo[i]); printf("DISC 1: LPI\nNOTA 1: %d\tNOTA 2: %d\tNOTA 3: %d\tMÉDIA: %.2f\n", nLPI[i][j], nLPI[i][j+1], nLPI[i][j+2], mediaLPI[i]); } break; case 3: totalGeralAlg=0; for(i=0;i<5;i++){ totalGeralAlg += mediaAlg[i]; } mediaGeralAlg = totalGeralAlg/5; printf("A MÉDIA GERAL DA DISCIPLINA ALGORISMOS: %.2f\n", mediaGeralAlg); break; case 4: printf("A QUANTIDADE DE ALUNOS REPROVADOS EM QUALQUER DISCIPLINA É: %d\n", reprovado); break; } } while(menu!=5); printf("FIM DO PROGRAMA"); }
  2. Boa tarde, Preciso fazer esse exercício de C, mas não consegui achar uma solução para os itens 3 e 4 do menu. No item 3 é preciso contar quantas vezes a letra "A" aparece na matriz nomes e no item 4 é preciso contar quantas vezes a letra "C" aparece no nome 2 da matriz. #include<stdio.h> #include<stdlib.h> #include<string.h> #include<locale.h> int main (){ setlocale(LC_ALL, "Portuguese"); char nomes[3][50], letra[]="A"; int i, j, opcao, contA; for(i=0;i<3;i++){ printf("DIGITE O NOME %d: ", i+1); gets(nomes[i]); } strupr(nomes[0]); strupr(nomes[1]); strupr(nomes[2]); while(opcao!=5){ printf("\n\nESCOLHA UMA DAS OPÇÕES ABAIXO:\n"); printf("1) Mostra os nomes cadastrados em maiúsculo e na ordem \ninversa, ou seja, mostra do último ao primeiro nome cadastrado.\n"); printf("2) Mostra quantas pessoas com o nome 'PAULO' foram cadastradas.\n"); printf("3) Mostra quantas letras 'A' foram cadastradas na matriz de strings.\n"); printf("4) Mostra quantas letras 'C' o segundo nome cadastrado possui.\n"); printf("5) FINALIZAR O PROGRAMA\n\n"); scanf("%i", &opcao); switch(opcao){ case 1: for(i=2;i>=0;i--){ printf("\nNOME %d: %s\n", i+1, nomes[i]); } break; case 2: for(i=0;i<3;i++){ if(strcmp(nomes[i],"PAULO")==0){ printf("\nPalavra %d é igual a 'PAULO'\n", i+1); } } if(strcmp(nomes[i],"PAULO")!=0){ printf("\nNenhuma palavra é igual a 'PAULO'"); } break; case 3: break; case 4: break; } } printf("\nFIM DO PROGRAMA!!!"); return 0; }

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!