Pesquisar na Comunidade
Mostrando resultados para as tags ''gravar e ler arquivo''.
Encontrado 1 registro
-
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!!! :( :( #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"); Arquivo (); matriz(); return 0; }