-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEnt2_C_Celestes.c
61 lines (58 loc) · 1.53 KB
/
Ent2_C_Celestes.c
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
#include<stdio.h>
#include<stdlib.h>
#include "Entr2.h"
typedef enum {O,B,A,F,G,K,M} espectral_t;
int main (){
float temp=0;
int c;
espectral_t clase;
printf(MSJ_INGRESO_TEMP);
if(scanf("%f", &temp)!=1){
fprintf(stderr, "%s : %s\n", MSJ_ERROR_PREFIJO, MSJ_ERROR_INGRESO_INVALIDO);
return EXIT_FAILURE;
}
while((c=getchar())!= '\n' && c != EOF)
;
if (temp<TEMP_MIN || temp>TEMP_MAX){
printf("%s : %s", MSJ_ERROR_PREFIJO, MSJ_ERROR_RANGO);
return EXIT_FAILURE;
}
if (temp>=1700 && temp<3200)
clase = M;
else if (temp>=3200 && temp<4600)
clase = K;
else if (temp>=4600 && temp<5700)
clase = G;
else if (temp>=5700 && temp<7100)
clase = F;
else if (temp>=7100 && temp<9600)
clase = A;
else if (temp>=9600 && temp<28000)
clase = B;
else if(temp>=28000 && temp<=50000)
clase = O;
switch (clase){
case O:
printf("%s %s", MSJ_SALIDA_GEN, MSJ_SALIDA_CLASE_O);
break;
case B:
printf("%s %s", MSJ_SALIDA_GEN, MSJ_SALIDA_CLASE_B);
break;
case A:
printf("%s %s", MSJ_SALIDA_GEN, MSJ_SALIDA_CLASE_A);
break;
case F:
printf("%s %s", MSJ_SALIDA_GEN, MSJ_SALIDA_CLASE_F);
break;
case G:
printf("%s %s", MSJ_SALIDA_GEN, MSJ_SALIDA_CLASE_G);
break;
case K:
printf("%s %s", MSJ_SALIDA_GEN, MSJ_SALIDA_CLASE_K);
break;
case M:
printf("%s %s", MSJ_SALIDA_GEN, MSJ_SALIDA_CLASE_M);
break;
}
return EXIT_SUCCESS;
}