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

16/03/2016

0

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

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar