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.
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.
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
0