#include <stdio.h>
#include <stdlib.h>
calcmed(float calcmede[4], int m){
int c2;
float media;
for(c2=0;c2<m;c2++){
media+=calcmede[c2];
}
return media/m;
}
main(){
int nmal,l,c,c1,turmas;
printf("Digite a quantidade de turmas: ");
scanf("%d", &turmas);
printf("Digite a quantidade de alunos: ");
scanf("%d", &nmal);
float nota[nmal][1][turmas],notas[4];
char nome[nmal][100][turmas];
setbuf(stdin,NULL); //limpa teclado
//começa a pegar dados
for(c1=0;c1<turmas;c1++){
for(l=0;l<nmal;l++){
printf("Digite o %d.o nome: ", l+1);
gets(nome);
for(c=1;c<=4;c++){
printf("Digite a %d.o nota do aluno %s: ", c,nome[l][100][c1]);
scanf("%f", ¬as[c]);
calcmed(notas, 4);
}
system("cls");
setbuf(stdin,NULL);
}
}
//fim pega dados
printf("==================================================\n");
printf(" M\202DIA DOS ALUNOS:\n");
printf("==================================================\n");
for(c1=0;c1<turmas;c1++){
for(l=0;l<nmal;l++){
printf("Nome: %s Nota: %.f\n", nome[l][100][c1],nota[l][0][c1]); //resultado
}
}
}
Olá, será que poderia me ajudar a resolver esse problema com a função gets e uma matriz multidimencional?Não estou conseguindo pegar o nome do aluno no terceiro for, depois do printf("Digite o %d.o nome: ", l+1);, ele não está pulando o programa, aparece uma janela imprimindo parou de funcionar, sem problemas com estouro de dados. Modos que testei:gets(nome[][100][c1]);gets(nome[l][100][c1]);scanf("%d", &nome[][100][c1]);scanf("%d", &nome[l][100][c1]);scanf("%c", &nome[l][100][c1]);No caso, essa forma de pensar está errada e até minha sintaxe, eu procrurei no site cprogressive("mencionou que matrizes passadas para funções primeiro conchete é vazio") falei com a professora e nada. A função gets pode estar obsoleta, mas é a que está na apostila futuramente ou aos poucos vou atualizando o conhecimento. Eu estou tentando colocar o nome na matriz multidimencional, na linha 1(ou 0) o nome, na coluna a "cadeia de caracter" 1(ou 0) e na profundidade a turma 1(ou 0). Talvez você recomende ponteiros(como ela citou mas vagamente), vou aprender nas proximas aulas.