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

16/03/2016

2

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!
Responder