Dev - C++ - Como hacer que me indique el area que tiene la mayor diferencia de ruido

 
Vista:
sin imagen de perfil

Como hacer que me indique el area que tiene la mayor diferencia de ruido

Publicado por Diego (2 intervenciones) el 27/11/2017 21:38:00
Hola a todos, necesito un poco de ayuda con mi programa.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
FILE *Archivo;
 
int menu(){
      int n;
      system("cls");
      printf("\t\t                  \n");
      printf("\t\t    Menu de Opciones\n\n");
      printf("\t\t 1.- Area de trabajo que  tenga la mayor  diferencia Maximo y Minimo. \n");
      printf("\t\t 2.- El area con mayor ruido. \n");
      printf("\t\t 3.- El  Ruido promedio maximo y minimo.  \n");
      printf("\t\t 4.- Areas que excenden el limite de 85 [dB]\n");
      printf("\t\t 6.- Salir \n\n");
      printf("ingrese opcion :");   scanf("%d",&n);
      return n;
}
 
void MayDif(){
	Archivo=fopen("Ruido.txt","r");
	int Area, Vmi, Vma, Dif;
	while (feof(Archivo) == 0){
		fscanf(Archivo," %d        %d        %d",&Area,&Vmi,&Vma);
		int Dif=Vma-Vmi;
		printf("\n La diferencia del area %d  es de %d [dB]. ",Area,Dif);
		}
		printf("\n El area que tiene la mayor diferencia es el area %d.",Ar);
		fclose(Archivo);
		 getche();
	}
 
	void MayRuido(){
	Archivo=fopen("Ruido.txt","r");
	int Area, Vmi, Vma, aux=0, Amax=0;
	while (feof(Archivo) == 0){
		fscanf(Archivo," %d        %d        %d",&Area,&Vmi,&Vma);
		printf("\n El ruido maximo del area %d es de %d [dB].",Area,Vma);
		if (Vma>aux)
		aux=Vma;
	}
	printf("\n\n El area con el maximo ruido es el area %d con %d [dB].",Amax,aux);
	fclose(Archivo);
	 getche();
	}
 
	void RuiPro(){
	Archivo=fopen("Ruido.txt","r");
	int Area, Vmi, Vma, suma=0, suma1=0;
	float prom, prom1;
	float Prom;
	while (feof(Archivo) == 0){
		fscanf(Archivo," %d        %d        %d",&Area,&Vmi,&Vma);
		suma=suma+Vma;
		suma1=suma1+Vmi;
	}
	prom=suma/5.0;
	prom1=suma1/5.0;
	printf("\n\n El promedio de los Valores maximos es: %7.2f",prom);
	printf("\n\n El promedio de los Valores minimos es: %7.2f",prom1);
	fclose(Archivo);
	 getche();
	}
 
    void Ex(){
    Archivo=fopen("Ruido.txt","r");
    int Area, Vmi, Vma;
    while (feof(Archivo) == 0){
    	fscanf(Archivo," %d        %d        %d",&Area,&Vmi,&Vma);
    	if (Vmi>85)
        printf("El Area %d excede las condiciones minimas de salud ocupacional.");
	}
	fclose(Archivo);
	 getche();
	}
 
int main(){
	int n,opcion;
   char nValor[10];
   do {
      opcion=menu();
      system("cls");
      switch (opcion){
      case 1 :{MayDif();
      break;  }
      case 2 :{MayRuido();
	  break;  }
	  case 3 :{RuiPro();
	  break;  }
	  case 4 :{Ex();
	  break;  }
}
}while(opcion!=6);
}

la cosa es que no se me ocurre como hacer para que en las funciones MayDif y MayRuido me indique el area que tiene la mayor diferencia de ruido y el area que tiene el mayor ruido. lo he estado pensando mucho pero no se me ocurre.

Estos son los datos:

Área------Ruido mínimo--------Ruido máximo
1 -------------54 ---------------------92
2--------------65----------------------88
3--------------67----------------------89
4--------------88----------------------112
5--------------76-----------------------98


Agradecería mucho si me ayudaran ya que no tengo mucha experiencia programando.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder