Hoje decidi melhorar e aprimorar um pouco a aplicação que efectuava o tratamento dos dados recolhidos guardados no ficheiro txt, de modo a tornar a aplicação um pouco mais complexa e com mais funcionalidades:

O código criado é o seguinte:
#include <stdio .h> #include <stdlib .h> #define N 100 float temperatura[N]; int num_linhas = 0, i; void lerficheiro() { FILE *entrada; entrada=fopen("log.txt","r"); if(entrada==NULL) { printf("Erro na abertura do ficheiro de entrada\n"); system("pause"); } else { while(fscanf(entrada, "Temperatura = %f\n", & temperatura[i]) != EOF) { printf("Temperatura = %f \n", temperatura[i]); num_linhas = num_linhas + 1; i++; } printf("\n\n"); //printf("Numero de Linhas = %d\n", num_linhas); } } int main() { int escolha; printf("\t\t\t\t***MENU***"); printf("\n\n"); printf("1 - Ler Ficheiro de Dados:\n"); printf("2 - Calcular a Média das Temperaturas:\n"); printf("3 - Verificar Temperatura Maxima:\n"); printf("4 - Verificar Temperatura Minima:\n"); printf("5 - SAIR\n"); printf("\n"); printf("Opcao:"); scanf("%d", &escolha); switch(escolha) { case 1: { printf("\n\n1- Escolheu Ler o Ficheiro de Dados:\n\n"); lerficheiro(); break; } case 2: { printf("\n\n2 - Escolheu Calcular a Media das Temperaturas:\n\n"); lerficheiro(); float soma_temp = 0, temp_media = 0; int j; for(j = 0; j < num_linhas; j++) { soma_temp = soma_temp + temperatura[j]; temp_media = soma_temp / num_linhas; } printf("Media = %f", temp_media); break; } case 3: { float temp_max = 0; int j; lerficheiro(); printf("\n\n3 - Verificar Temperatura Maxima:\n\n"); for(j = 0; j < num_linhas; j++) { if (temperatura[j] > temp_max) { temp_max = temperatura[j]; } } printf("Temperatura Maxima = %f", temp_max); break; } case 4: { float temp_min; int j; lerficheiro(); printf("\n\n3 - Verificar Temperatura Minima:\n\n"); for(j = 0; j < num_linhas; j++) { temp_min = temperatura[0]; if (temperatura[j] < temp_min) { temp_min = temperatura[j]; } } printf("Temperatura Minima = %f", temp_min); break; } case 5: { printf("Escolheu SAIR:"); exit(0); } }while(escolha != 5); } |
Calculo da Média das Temperaturas:

Verificação da Temperatura Máxima:

Verificação da Temperatura Mínima :

O código que criei ainda está um pouco desorganizado pois ainda não me encaixo muito bem com a passagem de parâmetros para as funções. Tenho a plena consciência que a minha aplicação ainda pode ser muito melhorada, mas caso alguém tenha dicas ou ideias dos melhoramentos que fosso efectuar estarei disposto a ouvir e implementar.
Share






