Alannnn
Membro Júnior-
Posts
7 -
Cadastrado em
-
Última visita
Reputação
0-
Estou com a corda no pescoço mesmo, tenho até as 19:30 pra mandar vou ter que mandar isso mesmo, não tenho outra alternativa... esse PC não tem skype, seria uma boa. Já que tenho que me aprofundar mais nessa matéria.
-
Veja isso ... #include <stdio.h> #include <stdlib.h> #include<float.h> //Limite no tamanho das linhas do arquivo de entrada #define INPUT_LINE_SIZE_LIMIT 10 //Nome dos arquivo de entrada e saida //TODO: Ler a partir dos argumentos do programa char *inputFilename = "D:/Trabalho/tchola/entrada.txt"; char *outputFilename = "D:/Trabalho/tchola/saida.txt"; int main() { printf("Programa para calcular os valores medio,maximo e minimo\n"); //---------------------------------------------------------------------------------------- // Abre o arquivo de entrada FILE *inputFileHandle = fopen(inputFilename, "r"); if (inputFileHandle == NULL) { printf("O arquivo de entrada '%s' nao foi encontrado\n", inputFilename); return 0; } else { printf("Processando o arquivo de entrada '%s'\n", inputFilename); } //---------------------------------------------------------------------------------------- // Processa a primeira linha (quantidade de linhas de dados no arquivo) // Buffer para leitura do arquivo de entrada char buffer[iNPUT_LINE_SIZE_LIMIT]; fgets(buffer, INPUT_LINE_SIZE_LIMIT, inputFileHandle); if (buffer == NULL) { printf("O arquivo de entrada '%s' nao contem nenhuma linha\n", inputFilename); return 0; } long dataCount = strtol(buffer,NULL,10); printf("O arquivo de entrada contem %u linhas de dados\n", dataCount); //---------------------------------------------------------------------------------------- // Processa os registros de dados // Aloca um array de doubles para os registros double *dataArray = (double *)malloc(sizeof(double) * dataCount); for (int i=0; i < dataCount; i++){ fgets(buffer, INPUT_LINE_SIZE_LIMIT, inputFileHandle); dataArray = strtod(buffer, NULL); printf("%.2f \n", dataArray); } fclose(inputFileHandle); //---------------------------------------------------------------------------------------- // Calcula os valores medio, maximo e minimo double averageValue=0,maxValue=DBL_MIN,minValue=DBL_MAX; for (int i = 0; i < dataCount; i++) { double value = dataArray; averageValue += value; if (value > maxValue) { maxValue = value; } if (value < minValue) { minValue = value; } } averageValue = averageValue / dataCount; printf("Valor medio %.2f \n", averageValue); printf("Valor minimo %.2f \n", minValue); printf("Valor maximo %.2f \n", maxValue); //---------------------------------------------------------------------------------------- // Escreve o arquivo de saida FILE *outputFileHandle = fopen(outputFilename, "w"); if (outputFileHandle == NULL) { printf("O arquivo de saida '%s' nao pode ser criado\n", outputFilename); return 0; } fprintf(outputFileHandle, "%.2f\n", averageValue); fprintf(outputFileHandle, "%.2f\n", minValue); fprintf(outputFileHandle, "%.2f\n", maxValue); fclose(outputFileHandle); return 0; } será que tem uma forma resumida para fazer??
-
Pois é, comecei a cursar TI tem 2 meses, a professora passou um trabalho bastante complexo, estou apanhando aqui pra conseguir fazer.O prazo pra entregar é hoje. Você esta me dando dicas mt boas. Esse código que postou dá erro error: no such file or directory
-
a ok... veja se estou no caminho certo ?? #include<stdio.h> void main(void) { float notas[5][1], numero ; //Criando um vetor e uma variável temporária int linha = 0; // Contador para o índice do vetor char texto[ ] = " /home/alan/Documentos/texto.txt" ,texto2[] = "/home/alan/Documentos/texto2.txt"; FILE *arq; FILE *arq2; arq = fopen (texto, "r"); //abrindo o arquivo de texto if((arq = fopen(texto,"r"))==NULL) //verificando se abriu com sucesso { printf("\nNão foi possível ler este arquivo."); }else { while( (fscanf(arq,"%f",&numero))!EOF ) //Chegou ao fim? então, numero recebe valor daquela linha { printf("%,if\n",numero);//imprimir na tela pra ver se está funcionando notas[linha][0] = numero; //vetor recebe valor da variável a cada quebra de linha linha++;//indice é incrementado } } arq = fopen(texto2,"w");//cria um novo arquivo if((arq2 = fopen(texto2,"m"))==NULL) //verificando se abriu com sucesso { prinft("\nNão foi possível ler este arquivo."); }else { fprintf(arq2,"%, if\n%,if\n",notas[0][0],notas[1][0].notas[2][0]);//colando o que foi copiado no arquivo i } fclose(arq); fclose(arq2); }
-
Preciso de um help... Estou enrolado pra escrever esse código... Como escrever um código que leia um arquivo texto com a 1ª informação, a quantidade de notas e em seguida as notas. O programa tem que ler as notas, calcular a média e determinar o menor e a maior nota da lista... No final gerando um arquivo de saída com a média, a menor e a maior encontradas.
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