-
Notifications
You must be signed in to change notification settings - Fork 0
/
medida.c
110 lines (85 loc) · 2.13 KB
/
medida.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
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include "stdio.h"
#include "stdlib.h"
#include "medida.h"
// #include "lse.h"
struct Medida
{
int long chave;
int tempo;
double temp;
double lat, lgt;
double presao;
double densidade;
};
TMedida *criarMedida(int chave, int tempo, double temp, double lat, double lgt, double presao, double densidade){
TMedida *medida = malloc(sizeof(TMedida));
medida->chave = chave;
medida->tempo = tempo;
medida->temp = temp;
medida->lat = lat;
medida->lgt = lgt;
medida->presao = presao;
medida->densidade = densidade;
return medida;
}
void imprimirMedida(void *medida){
TMedida *m = medida;
if (m!=NULL){
printf("%ld %d %lf %lf %lf %lf %lf\n",m->chave, m->tempo, m->temp, m->lat, m->lgt, m->presao, m->densidade );
}else{
printf("Medida Indefinida\n");
}
}
int compararMedida(void *buscado, void *medida){
TMedida *m = medida;
TMedida *b = buscado;
int resultado;
if(b->tempo == m->tempo){
resultado = 0;
}else if(b->tempo > m->tempo){
resultado = 1;
}else{
resultado = -1;
}
printf("---Comparando medida: retornando:%d ----\n",resultado);
return resultado;
}
int compararConteudoMedida(int long chave, void *medida){
TMedida *m = medida;
int resultado;
if(chave == m->chave){
resultado = 0;
}else if(chave > m->chave){
resultado = 1;
}else{
resultado = -1;
}
printf("---Comparando medida: retornando:%d ----\n",resultado);
return resultado;
}
void destroyMedida(void *medida){
TMedida *m = medida;
printf("----Destroy medida ----\n");
free(m);
}
// int main(int argc, char const *argv[])
// {
// int tempo;
// double temperatura;
// double lat, lgt, presao, densidade;
// TLista* lst = criarLSE();
// int long chave=1;
// scanf("%d",&tempo);
// while(tempo>=0){
// scanf("%lf%lf%lf%lf%lf",&temperatura, &lat, &lgt, &presao, &densidade);
// TMedida* m = criarMedida(chave, tempo, temperatura, lat, lgt, presao, densidade);
// inserirFimLSE(lst, m);
// chave = chave + 1;
// scanf("%d", &tempo);
// }
// imprimirLSE(lst, imprimirMedida);
// removerConteudoLSE(lst, 3, compararConteudoMedida);
// removerPosicaoLSE(lst,1,destroyMedida);
// imprimirLSE(lst, imprimirMedida);
// return 0;
// }