sábado, 7 de maio de 2011

Preenchendo meu array de estruturas

Quero preencher minha struct, e salvar no meu *vetor
muito simples, basta saber a posiçao. E se eu quiser que meu vetor seje unidimensional, que represente um bidimensional?
ta ai, como fazer?
kkkkkkk
exemplo:
//minha estrutura de dados
struct lista{

char nome[15];
int idade;
int dia;
int mes;
int ano;
};

int main(){

struct lista *vet;
int m, n;//dimensoes da minha matriz
//onde m é a altura(numero de linhas) e n é a largura(numero de colunas)
int x, y;// posicao onde vou salvar os dados na matriz linha  x coluna
int aux, pos;//aux é o tamnho do vetor
cout << "Entre com a altura da cidade\n";
cin >> m;
cout << "Entre com a largura\n";
cin >> n;
cout << "Onde deseja salvar: POSICAO  YxX, ou seja linha e coluna\n";// x é a coluna e y a linha
cout << "digite x\n";
cin >> x;
cout << "Digite y\n";
cin >> y;
//primeiro passo
// como meu vetor é unidimensional tenho que faze-lo se comportar como uma matriz, quantas posicoes tem uma matriz? é o numero de linha pelo numero de colunas, okay?
//entao;
aux = m*n;
//alocando o vetor
vet = (struct lista*)malloc(aux*sizeof(struct lista));
if(!vet){
cout >> "**ERRO** espaço insuficiente de memória\n";
exit (1);}
pos = (y*m) +x;
//entrando com os dos na minha estrutura
cout <<"Digite o nome\n";
gets_s(vet[pos].nome);
cout << "digite a idade\n";
cin >> vet[pos].idade;
cout <<"digite a data : DD/ MM/AAAA \n";
cin >> vet[pos].dia >> vet[pos].mes >> vet[pos].ano;
}//termine seu programa....

LEMBRE-SE, SEMPRE É BOM DIVIDIR SEU PROGRAMA EM MÓDULOS(FUNÇÕES) E SEMPRE COMENTAR NO QUE FOI FEITO

quem curtiu da um up!!

Nenhum comentário:

Postar um comentário