forked from Felipe-Visgou/gitproj2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPecasFinalizadas.c
132 lines (103 loc) · 2.92 KB
/
PecasFinalizadas.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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/***************************************************************************
* $MCI Módulo de implementação: PF Peças Finalizadas
*
* Arquivo gerado: PF.c
* Letras identificadoras: PF
*
* Nome da base de software: Arcabouço para a automação de testes de programas redigidos em C
*
* Projeto: INF 1301 / 1628 Automatização dos testes de módulos C
* Gestor: LES/DI/PUC-Rio
* Autores: fvc
tbm
db
*
* $HA Histórico de evolução:
* Versão Autor Data Observações
1.0 fvc 18/10 Começo do Desenvolvimento
*
***************************************************************************/
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include "LISTA.h"
#include "PECA.h"
#define PF_OWN
#include "PecasFinalizadas.h"
#undef PF_OWN
/***********************************************************************
*
* $TC Tipo de dados: PF Descritor da estrutura de peças finalizadas
*
*
***********************************************************************/
typedef struct PF_tagFinalizadas {
LIS_tppLista ListaFinalizadas;
/* Lista de Peças Finalizadas*/
char cor;
/* A cor das peças da estrutura */
int tamanho ;
/* Número de elementos na lista */
} PF_tpFinalizadas ;
/***** Código das funções exportadas pelo módulo *****/
/***************************************************************************
*
* Função: TAB &Criar PF
* ****/
PF_tpCondRet PF_CriarPF(PF_tppFinalizadas *pPF, char cor,
void ( * ExcluirValor ) ( void * pDado ) )
{
*pPF = (PF_tppFinalizadas)malloc(sizeof(PF_tpFinalizadas));
if(*pPF == NULL)
return PF_CondRetFaltouMemoria;
(*pPF)->ListaFinalizadas = LIS_CriarLista(ExcluirValor);
(*pPF)->cor = cor;
(*pPF)->tamanho = 0;
return PF_CondRetOK;
}
/***************************************************************************
*
* Função: TAB &Adicionar Peça
* ****/
PF_tpCondRet PF_AdicionarPeca(PF_tppFinalizadas pPF)
{
char cor = pPF->cor;
tppPeca newPeca;
if(Pec_CriarPeca(&newPeca, cor) != Pec_CondRetOK)
{
printf("Erro ao criar peca (PF) \n");
return PF_CondRetErro;
}
if(LIS_InserirElementoApos(pPF->ListaFinalizadas, newPeca) != LIS_CondRetOK)
{
printf("Erro ao inserir peça na lista (PF) \n");
return PF_CondRetErro;
}
pPF->tamanho++;
return PF_CondRetOK;
}
/***************************************************************************
*
* Função: TAB &Obter Tamanho PF
* ****/
PF_tpCondRet PF_ObterTamanhoPF(PF_tppFinalizadas pPF, int *tam)
{
if(tam == NULL)
return PF_CondRetErro;
*tam = pPF->tamanho;
if(*tam == 0)
return PF_CondRetVazia;
return PF_CondRetOK;
}
/***************************************************************************
*
* Função: TAB &Obter cor PF
* ****/
PF_tpCondRet PF_ObterCorBar(PF_tppFinalizadas pPF, char *cor)
{
if(cor == NULL)
return PF_CondRetErro;
*cor = pPF->cor;
return PF_CondRetOK;
}
/******** Fim do Módulo de Implementação: PF Lista de Peças Finalizadas *************/