No programa a seguir, eu aleatorizei a matriz de forma que o usuário possa inserir o seu tamanho manualmente e de forma que os valores dessa matriz variem de 0 ate 10 (considerando valores decimais). Até aí tudo bem. O problema começou quando eu tentei gravar essa matriz em um arquivo.
Esses são os ERROS que ocorrem:
C:\Users\Annanda\Documents\lal.cpp In function 'void Arquivo()':
6128C:\Users\Annanda\Documents\lal.cpp [Error] invalid types 'float[int]' for array subscript
6429C:\Users\Annanda\Documents\lal.cpp [Error] invalid types 'float[int]' for array subscript
7728C:\Users\Annanda\Documents\lal.cpp [Error] invalid types 'float[int]' for array subscript
7929C:\Users\Annanda\Documents\lal.cpp [Error] invalid types 'float[int]' for array subscript
29C:\Users\Annanda\Documents\Makefile.win recipe for target 'lal.o' failed
Não sei mais o que fazer!!! :( :(
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <time.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
FILE *dados;
float matriz(void){
int i,j;
int n,o;
float soma[50];
float media[50];
printf("\n\tEntre com o numero de provas (Ex.: 4): ");
scanf("%d",&o);
printf("\n\tEntre com o numero de alunos (Ex.: 30): ");
scanf("%d",&n);
float m[100][50];
for(i=0;i<n;i++){
for(j=0;j<o;j++){
m[j] = (rand() %105 + 1)/10.5;
soma = soma + m[j];
media = (soma)/o;
}
}
for(i=0;i<n;i++){
printf("\n\t");
for(j=0;j<o;j++){
printf("\t%.2f",m[j]);
}
printf("\t\t%.2f\t",media);
}
}
void Arquivo(){
float media,m;
int i,n,j,o;
dados = fopen("dados.txt","w");
if(dados != NULL) printf("\n\n\tArquivo aberto com sucesso\n\t");
else{
printf("\n\tERRO ao abrir o arquivo\n\t");
system("pause");
exit(1);
}
for(i=0;i<n;i++){
for(j=0;j<o;j++){
fprintf(dados,"%f\t",m[j]);
fprintf(dados,"%t");
}
fprintf(dados,"%f",media);
fprintf(dados,"%t");
fprintf(dados,"\n");
}
if (ferror){
printf("\n\tErro ao gravar no arquivo\n\t");
system("pause");
exit(2);
}
fclose(dados);
dados = fopen("dados.txt","r");
for(i=0;i<n;i++){
for(j=0;j<o;j++){
fscanf(dados,"%f\t",&m[j]);
}
fscanf(dados,"%f",&media);
}
fclose(dados);
}
int main(){
printf("\n\t\t\tNotas das provas e media de cada aluno\n\t\n");
printf("\n\tObs.: Cada linha representa um aluno e as colunas representam as provas, sendo que a ultima representa a media de cada aluno.\n\n");
Pergunta
Nandaa
No programa a seguir, eu aleatorizei a matriz de forma que o usuário possa inserir o seu tamanho manualmente e de forma que os valores dessa matriz variem de 0 ate 10 (considerando valores decimais). Até aí tudo bem. O problema começou quando eu tentei gravar essa matriz em um arquivo.
Esses são os ERROS que ocorrem:
C:\Users\Annanda\Documents\lal.cpp In function 'void Arquivo()':
61 28 C:\Users\Annanda\Documents\lal.cpp [Error] invalid types 'float[int]' for array subscript
64 29 C:\Users\Annanda\Documents\lal.cpp [Error] invalid types 'float[int]' for array subscript
77 28 C:\Users\Annanda\Documents\lal.cpp [Error] invalid types 'float[int]' for array subscript
79 29 C:\Users\Annanda\Documents\lal.cpp [Error] invalid types 'float[int]' for array subscript
29 C:\Users\Annanda\Documents\Makefile.win recipe for target 'lal.o' failed
Não sei mais o que fazer!!! :( :(
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.