-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprograma3.c
More file actions
104 lines (80 loc) · 2.58 KB
/
programa3.c
File metadata and controls
104 lines (80 loc) · 2.58 KB
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <conio.h>
void sairComQualquerTecla();
time_t gerar_timestamp_aleatorio(int dia, int mes, int ano);
void limparTela();
void limparTela(){
#ifdef _WIN32
system("cls");
#else
system("clear");
#endif
}
//funçao que adiciona uma hora min seg aleatorio na data informada pelo usuario
time_t gerar_timestamp_aleatorio(int dia, int mes, int ano) {
struct tm t;
time_t timestamp_inicial, timestamp_final;
t.tm_year = ano - 1900;
t.tm_mon = mes - 1;
t.tm_mday = dia;
t.tm_hour = 0;
t.tm_min = 0;
t.tm_sec = 0;
t.tm_isdst = -1;
timestamp_inicial = mktime(&t);
if (timestamp_inicial == -1) {
printf("Data inválida.\n");
return -1;
}
t.tm_hour = 23;
t.tm_min = 59;
t.tm_sec = 59;
timestamp_final = mktime(&t);
if (timestamp_final == -1) {
printf("Data inválida.\n");
return -1;
}
time_t timestamp_aleatorio = timestamp_inicial + rand() % (timestamp_final - timestamp_inicial + 1);
return timestamp_aleatorio;
}
int main(){
int dia;
int mes;
int ano;
char *nome_sensores[] = {"TEMP", "PRES", "VIBR", "UMID", "FLUX"};
int linhas_arquivo = 1000;
float a = 5.0; // range do valor do float
float valor;
int nome_aleatorio;
limparTela();
srand((unsigned int)time(NULL));
printf("Digite uma data no formato DD MM AAAA.\n");
scanf("%d %d %d", &dia, &mes, &ano);
FILE *arquivo = fopen("sensores_random.txt", "w");
if (arquivo == NULL) {
printf("Erro ao criar o arquivo!\n");
return 1;
}
// cada for escreve uma linha no arquivo
for (int j =0; j < linhas_arquivo-1; j++){
time_t timestamp_usuario = gerar_timestamp_aleatorio(dia, mes, ano);
nome_aleatorio = rand()%5;
valor = ((float)rand()/(float)(RAND_MAX)) * a;
fprintf(arquivo,"%s;",nome_sensores[nome_aleatorio]);
fprintf(arquivo,"%d;",timestamp_usuario);
fprintf(arquivo,"%.2f\n",valor);
}
// a ultima linha tem que estar fora do for pra não adicionar um \n na ultima linha
time_t timestamp_usuario = gerar_timestamp_aleatorio(dia, mes, ano);
nome_aleatorio = rand()%5;
valor = ((float)rand()/(float)(RAND_MAX)) * a;
fprintf(arquivo,"%s;",nome_sensores[nome_aleatorio]);
fprintf(arquivo,"%d;",timestamp_usuario);
fprintf(arquivo,"%.2f",valor);
printf("Arquivo criado: sensores_random.txt\n");
fclose(arquivo);
return 0;
}