ID do produto | Nome do Produto | Categoria | Número |
1 | Aparelho de TV | Entretenimento | 10 |
2 | Vcd | Entretenimento | 20 |
3 | Caixa de roupas | Doméstico | 30 |
4 | Perfume | Beleza | 40 |
5 | Banana | Fruta | 50 |
6 | Pera | Fruta | 60 |
Existem seis linhas de dados na tabela. A linha do cabeçalho (productId, Nome do produto, categoria, etc.) não é uma linha de dados. Estritamente falando, a linha do cabeçalho não está incluída em (não faz parte de) o vetor de estruturas em c++. Esta tabela deve ser considerada como uma lista de linhas do mesmo tipo de linha, começando da linha 1. Estritamente falando, a linha do cabeçalho não pode ser do mesmo tipo que o restante das linhas na tabela.
A string em cada célula, da linha do cabeçalho, descreve o restante dos dados da coluna. Este artigo explica como criar um vetor C ++ de estruturas e sua aplicação para criar uma tabela de banco de dados.
Conteúdo do artigo
- estrutura
- Construção do vetor de estruturas
- Alimentando dados no vetor de estruturas
- Problema da linha do cabeçalho
- Conclusão
Estrutura
Uma estrutura é semelhante a uma classe. Objetos são instanciados de uma estrutura. A definição de uma estrutura começa com a palavra reservada, struct, seguida pelo nome generalizado (nome da classe) da estrutura, depois um par de aparelhos, dentro dos quais são membros da estrutura. A definição termina com um semicolon após o suporte encaracolado de fechamento. O código a seguir é uma estrutura para cada linha da tabela acima; A linha do cabeçalho não é considerada aqui:
linha de estruturaObserve que os membros do nome do produto e da categoria são strings. Isso significa que a biblioteca de string deve ser incluída no programa. O nome generalizado para a estrutura é, linha. Objetos como Row1, Row2, Row3, etc. pode ser instanciado da linha. No entanto, nomes específicos para objetos de linha não são necessários para os fins deste artigo, porque a “linha” será o argumento do parâmetro de modelo para o vetor.
Construção do vetor de estruturas
A declaração de um vetor de caracteres pode ser:
vetoronde char é o argumento do parâmetro de modelo para o vetor, cujo nome é, vtr. Da mesma forma, a declaração para o vetor de linhas de estrutura seria:
vetorOnde "Row" é o argumento do parâmetro de modelo para o vetor, cujo nome ainda pode ser, VTR. Existem seis linhas e uma linha de cabeçalho na tabela acima. Isso faz com que o número de linhas, 7. Linha 0 é a linha do cabeçalho, que pode não ter nenhum de seus próprios dados. O número inicial de linhas pode ser indicado na declaração de vetor de estruturas.
Para codificar um vetor em um programa C ++, a biblioteca vetorial deve ser incluída no programa. A cabeça do programa deste artigo deve ser:
#incluirNo programa, isso é seguido pela definição da linha de estrutura e, em seguida, a declaração do vetor de linhas de estrutura antes da função principal do C ++.
Alimentando dados para o vetor de estruturas
Para acessar um elemento na estrutura bidimensional de vetor de estruturas, comece com o nome do vetor, e.g., vtr. O é seguido pelo número do subscrito entre colchetes, que é seguido por um ponto, e depois o nome da coluna, e.g., ID do produto. O código a seguir na função principal do C ++ alimentaria dados em linhas da linha 1 à linha 6:
VTR [1].ProductId = 1; VTR [1].ProductName = "TV Conjunto"; VTR [1].Categoria = "entretenimento"; VTR [1].Número = 10;Após esse segmento de código, o seguinte segmento de código na função principal C ++ exibiria todos os valores celulares da estrutura bidimensional:
cout << vtr[1].ProductID <<", "; cout << vtr[1].ProductName <<", "; cout << vtr[1].Category <<", "; cout << vtr[1].Number <1, TV, entretenimento, 10
2, VCD, entretenimento, 20
3, caixa de roupas, família, 30
4, perfume, beleza, 40
5, banana, frutas, 50
6, pêra, frutas, 60
Um loop for usado para imprimir todos os valores das células. O loop for itera sobre as linhas, começando do índice 1. O loop for itera nenhuma linha, porque colunas diferentes têm nomes diferentes, e cada coluna pode ser identificada pelo seu nome.
Problema da linha do cabeçalho
A linha do cabeçalho está no índice zero. A linha do cabeçalho consiste em todas as cordas, mas o resto das linhas, não possui apenas colunas de string. Bem, a linha do cabeçalho como uma corda é:
"ProductId, Nome do produto, categoria, número"A segunda coluna da estrutura bidimensional leva uma corda. Então, toda essa corda de cabeçalho pode ser colocada na segunda célula da linha 0. O restante das células na linha 0 terá seus valores padrão. Por exemplo, o valor padrão de uma variável int é 0.
O código pode ser escrito para separar essa sequência de cabeçalho em suas seqüências de cabeçalho da coluna para exibição de toda a tabela, incluindo a linha do cabeçalho, mas isso não é abordado neste artigo.
Fazer a segunda célula da linha 0 ter toda a corda do cabeçalho é simples da seguinte maneira:
VTR [0].ProductName = "ProductId, ProductName, Category, Número";Observe o índice de 0 para a linha 0. Ler tudo isso como uma corda também é simples da seguinte maneira:
string str = vtr [0].Nome do Produto;A saída deve ser:
ProductId, nome do produto, categoria, númeroSeparar toda.
Conclusão
Para criar um vetor de estruturas, defina a estrutura, com um nome generalizado (classe). Fazer o argumento de modelo do vetor de interesse, o nome generalizado da estrutura. Acesse cada célula da estrutura bidimensional com a sintaxe, vtr [i].nome da coluna.