babalu

Membros
  • Content Count

    1
  • Joined

  • Last visited

Community Reputation

0 Neutro

About babalu

  1. Olá, sou iniciante em programação e tenho uma atividade para fazer. Uma das questões é sobre notas e médias, logo, pensei em usar vetores. O programa roda normalmente até sair do For. Depois que ele sai, ele quebra nos If e else (PS.: eu coloquei um scanf qualquer antes do if e foi normal). Obs: utilizo o CodeBlocks. Segue abaixo um código que não funciona: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int opc; char opcao; do { printf("+-------------------------------------+\n"); printf("|>>>>>>>>>>>>>>> MENU <<<<<<<<<<<<<<<<|"); printf("\n+-------------------------------------+"); printf("\n| 1 - IMC |"); printf("\n| 2 - Notas |"); printf("\n| 3 - CNH |"); printf("\n| 4 - Operacoes |"); printf("\n| 5 - Media |"); printf("\n+-------------------------------------+"); printf("\n--> "); scanf("%d", &opc); switch (opc) { case 5: char nomes[3][256]; float notas; float somas; float medias [3]; int posicao; printf("\n+-------------------------------------+\n"); printf("| MEDIA |"); printf("\n+-------------------------------------+\n"); for(int i=0; i < 3; i++) { printf("Informe o nome do %do aluno: ", (i+1)); nomes[i][256] = scanf("%s", &nomes); for(int k=0; k < 3; k++) { printf("Informe a nota %d:", (k+1)); scanf("%f", &notas); somas = (somas + notas); } medias[i] = (somas / 3); somas = 0; } if (medias[0] > medias[1] && medias[0] > medias[2]) { printf("A maior média pertence à : %s", nomes[0]); printf("A média é : %.2f", medias[0]); } else if (medias[1] > medias[0] && medias[1] > medias[2]) { printf("A maior média pertence a : %s", nomes[1]); printf("A media é : %.2f", medias[1]); } else if (medias[2] > medias[1] && medias[2] > medias[1]) { printf("A maior média pertence à : %s", nomes[2]); printf("A média é : %.2f", medias[2]); } break; } printf("\nDeseja continuar? (s/n)\n"); printf("--> "); scanf("%s", &opcao); printf("\n"); } while(opcao == 's'); system("pause"); return 0; }