-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathduration.h
More file actions
66 lines (56 loc) · 1.57 KB
/
Copy pathduration.h
File metadata and controls
66 lines (56 loc) · 1.57 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
#ifndef __DURATION_H__
#define __DURATION_H__
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/**
* @struct Estrutura da duração de uma música
* @attr (int) hour: Horas
* @attr (int) min: Minutos
* @attr (int) sec: Segundos
*/
typedef struct {
int hour, min, sec;
} Duration;
/**
* @brief Cria uma estrutura do tipo Duration
*
* @param (int) hour: Horas
* @param (int) min: Minutos
* @param (int) sec: Segundos
* @return (Duration *) Endereço de uma estrutura do tipo Duration
*/
Duration * createDuration(int hour, int min, int sec);
/**
* @brief Libera a memória alocada por uma estrutura do tipo Duration
*
* @param (Duration *) D: Endereço de uma estrutura do tipo Duration
*/
void freeDuration(Duration * D);
/**
* @brief Imprime a duração uma música na saída padrão
*
* @param (Duration *) D: Endereço de uma estrutura do tipo Duration
*/
void printDuration(Duration * D);
/**
* @brief Cria uma estrutura do tipo Duration com valores aleatórios
*
* @reeturn (Duration *) duration: Endereço de uma estrutura do tipo Duration
*/
Duration * getRandomDuration(void);
/**
* @brief Lê uma estrutura do tipo Duration em um arquivo binário
*
* @param (FILE *) f: arquivo a ser lido
* @return (Duration *) Endereço de uma estrutura do tipo Duration
*/
Duration * readDuration(FILE * f);
/**
* @brief Escreve uma estrutura do tipo Duration em um arquivo binário
*
* @param (FILE *) f: arquivo
* @param (Duration *) D: Endereço de uma estrutura do tipo Duration
*/
void writeDuration(FILE * f, Duration * D);
#endif // __DURATION_H__