If the problem is pollution, you could rewrite your main()
in a different way, see:
typedef enum { corVermelho, corAzul, corVerde, corAmarelo } TipoCor;
typedef struct {
int numero;
TipoCor cor;
} TipoCarta;
void inicializaCarta( TipoCarta * carta, int num, TipoCor cor ){
carta->numero = num;
carta->cor = cor;
}
int main( void ) {
int i = 0;
TipoCarta amarelo[10];
TipoCarta azul[10];
TipoCarta verde[10];
TipoCarta vermelho[10];
for( i = 0; i < 10; i++ ) {
inicializaCarta( &vermelho[i], i + 1, corVermelho );
inicializaCarta( &azul[i], i + 1, corAzul );
inicializaCarta( &verde[i], i + 1, corVerde );
inicializaCarta( &amarelo[i], i + 1, corAmarelo );
}
return 0;
}
In the example above,% with% of% color_cards% were initialized, totaling% with_cards%.
Alternatively, you can put your 10
within 4
, see:
typedef enum { corVermelho, corAzul, corVerde, corAmarelo } TipoCor;
typedef struct {
int numero;
TipoCor cor;
} TipoCarta;
typedef struct {
TipoCarta amarelo[10];
TipoCarta azul[10];
TipoCarta verde[10];
TipoCarta vermelho[10];
} TipoDeck;
void inicializaCarta( TipoCarta * carta, int num, TipoCor cor ){
carta->numero = num;
carta->cor = cor;
}
void inicializaDeck( TipoDeck * deck )
{
int i = 0;
for( i = 0; i < 10; i++ ) {
inicializaCarta( &deck->vermelho[i], i + 1, corVermelho );
inicializaCarta( &deck->azul[i], i + 1, corAzul );
inicializaCarta( &deck->verde[i], i + 1, corVerde );
inicializaCarta( &deck->amarelo[i], i + 1, corAmarelo );
}
}
int main( void )
{
TipoDeck deck;
inicializaDeck( &deck );
return 0;
}