Inicialização de Struct no C - Srand() | Rand()

Engenharia de Software

Automação Comercial

16/03/2016

Bom Dia Pessoal!

Gostaria de saber se tem uma forma mais elegante de se inicializar um vetor de structs com múltiplos valores que sejam do tipo data, segue um código referência:


typedef struct dma{
	int d;
	int m;
	int a;
};

main(void){
	int tam = 100;
	dma nasc[tam];
	
	inicializaStruct(nasc, tam);
}

void inicializaStruct(dma nasc[], int tam){
	srand((unsigned)time(NULL));
	int i;
	
	for(i=0 ; i<tam ; i++){
		nasc[i].d = rand()%31;
		
			if(nasc[i].d == 0){
				nasc[i].d ++; //ou + 1
			}
			
		nasc[i].m = rand()%12;
			
			if(nasc[i].m == 0){
				nasc[i].m ++; //ou + 1
			}
			
		nasc[i].a = rand()%2016;
			
			if(nasc[i].a == 0){
				nasc[i].a ++; //ou + 1
			}
	}
}



Agradeço a ajuda de todos!
Evandro Paula

Evandro Paula

Curtidas 0
POSTAR