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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar