Matriz de estruturas em C ++

Matriz de estruturas em C ++

Em C ++, uma estrutura de dados chamada “Matriz de estruturas” permite gerenciar e armazenar um grupo de elementos de dados conectados em uma única variável. Tipos de dados definidos pelo usuário chamados “estruturas” permitem combinar os membros de dados de vários tipos em uma única entidade.

Trabalhar com coleções de dados relacionados, onde cada item de dados possui numerosos campos ou características é típica em muitos aplicativos. Você pode precisar manter os dados sobre os funcionários, por exemplo, onde cada funcionário tem um nome, idade, renda e outros detalhes. Nessas circunstâncias, a organização dos dados por meio de uma variedade de estruturas pode ser eficaz e prática.

Implementação da variedade de estruturas em C++

Agora, vamos entender como declarar a variedade de estruturas na linguagem de programação C ++, para que possamos implementar facilmente a variedade de estruturas durante a codificação. Para declarar uma variedade de estruturas em C ++, devemos primeiro definir a estrutura usando a “estrutura”, que é uma palavra -chave predefinida. Em seguida, liste o nome da estrutura para que possamos acessar a estrutura no código e os colchetes que incluem seus campos. Declare as variáveis ​​com seu tipo de dados nos colchetes fechados. Os tipos de dados das variáveis ​​podem ser diferentes ou iguais.

Exemplo 1: Uma pessoa usando a matriz de estruturas em C++

Vamos começar a implementar o exemplo de uma pessoa em que obtemos as informações básicas de cada pessoa e exibi -las na janela do console do usuário. Para isso, primeiro incluímos os arquivos básicos do cabeçalho que são arquivos de cabeçalho iostream e string e usamos a diretiva usando o namespace "std" para o escopo atual. O arquivo de cabeçalho iostream fornece definições para fluxos de entrada e saída em C ++, como CIN e Cout.

O arquivo de cabeçalho da string fornece definições para a classe String, que é uma maneira conveniente de trabalhar com texto em c++. A diretiva de uso nos permite usar os nomes que são definidos no espaço para nome "std" sem ter que qualificá -los com o prefixo "std ::". Isso facilita a leitura e a escrita do código, pois podemos simplesmente escrever "cout" em vez de "std :: cout" toda vez que queremos imprimir algo no console.

Em seguida, criamos uma estrutura chamada "Pessoa" com três membros: uma string de nome, uma idade int e uma altura dupla. Esta estrutura pode ser vista como um tipo de dados definido pelo usuário que compila informações relacionadas em uma única entidade. Em seguida, definimos "pessoas" como uma variedade de estruturas de pessoas com tamanho de 3. Isso indica que podemos armazenar os dados sobre até três indivíduos nesta matriz. Uma estrutura de "pessoa", que tem membros para nome, idade e altura, compõem cada entrada da matriz.

#incluir
#incluir
usando namespace std;
Pessoa da estrutura
nome da string;
Int Age;
altura dupla;
;
Pessoas pessoas [3];
int main ()
para (int i = 0; i < 3; i++)
cout << "Enter name, age, and height for person " << i+1 << ": ";
CIN >> PESSOAS [I].Nome >> Pessoas [i].Idade >> Pessoas [i].altura;

para (int i = 0; i < 3; i++)
cout << endl;
cout << "Person " << i+1 << ":" << endl;
cout << "Name: " << people[i].name << endl;
cout << "Age: " << people[i].age << endl;
cout << "Height: " << people[i].height << endl;

retornar 0;

Em seguida, iniciamos a função principal () para que possamos acessar facilmente a estrutura que criamos anteriormente. Usamos um loop for no método Main () para solicitar ao usuário que forneça os dados para três usuários diferentes. O usuário é solicitado a fornecer o nome, idade e altura de uma pessoa três vezes sobre as três iterações do loop. Usando "CIN", a entrada é lida antes de ser alocada aos membros apropriados da estrutura da pessoa da matriz de pessoas. Entramos nas informações das três pessoas e depois exibimos os detalhes de cada pessoa usando outro loop para.

O loop itera três vezes. Para cada iteração, "cout" é usado para exibir o nome, idade e altura de uma pessoa. No final, retornamos 0 para a função principal (). A seguir, é apresentada a saída do programa implementado anteriormente:

Exemplo 2: Carros para armazenar as informações de vários carros

Agora, vamos esperar o próximo exemplo, onde implementamos um exemplo de carro em que armazenamos as informações dos carros e depois a exibimos. Como fizemos no exemplo anterior, sempre incluímos os arquivos básicos de cabeçalho primeiro, o que é importante para escrever e executar um programa. Neste código, definimos uma nova estrutura C ++ chamada "Car" que possui quatro membros: make, modelo, ano e preço. Cada membro tem seu tipo de dados, com "Make" e "Model" Strings, sendo o ano um INT, e o preço sendo o dobro.

#incluir
#incluir
usando namespace std;
carro de estrutura
string make;
modelo de string;
int ano;
preço duplo;
;
int main ()
const int num_cars = 3;
Carros de carros [num_cars];
para (int i = 0; i < NUM_CARS; i++)
cout << "Car " << i+1 << " Information:" << endl;
cout << "Enter car make: ";
CIN >> carros [i].fazer;
cout << "Enter car model: ";
CIN >> carros [i].modelo;
cout << "Enter car year: ";
CIN >> carros [i].ano;
cout << "Enter car price: ";
CIN >> carros [i].preço;

duplo total_price = 0;
para (int i = 0; i < NUM_CARS; i++)
cout << "Car " << i+1 << ":" << endl;
cout << "Make: " << cars[i].make << endl;
cout << "Model: " << cars[i].model << endl;
cout << "Year: " << cars[i].year << endl;
cout << "Price: $" << cars[i].price << endl;
cout << endl;
total_price += carros [i].preço;

cout << "Total price of all cars: $" << total_price << endl;
retornar 0;

Em seguida, começamos a função principal (). Criamos uma variedade de estruturas de "carro" chamadas "carros", com um tamanho de num_cars, que é definido como uma constante com um valor de 3 usando a palavra -chave const const. Isso significa que a matriz de carros pode manter até 3 objetos de carro. O loop for itera através de cada elemento da matriz de carros e leva o usuário a inserir uma informação sobre cada carro.

Dentro do loop, usamos a instrução Cout para exibir uma mensagem que pede ao usuário que insira uma informação sobre o carro atual, incluindo sua marca, modelo, ano e preço. Usamos a instrução CIN para ler a entrada do usuário para cada um desses campos e armazená -la na variável de membro correspondente do objeto de carro atual na matriz de carros. Especificamente, Cin lê na entrada do usuário como uma string para os campos "Make" e "Model" e como um número inteiro para o campo do ano, e como um duplo para o campo de preços. No final do loop, a matriz de carros é preenchida com 3 objetos de carros, cada um com informações inseridas pelo usuário.

Em seguida, calculamos o preço total de todos os carros que foram inseridos pelo usuário. Primeiro inicializamos uma variável chamada “total_price” como um dobro com um valor de 0. Esta variável é utilizada para manter o preço total de todos os carros na matriz de carros. Dentro do loop, ele imprime informações sobre cada carro para o console usando o cout. Ele imprime a marca, modelo, ano e preço do objeto de carro atual na matriz. A variável "total_price" também é atualizada adicionando o preço do objeto de carro atual ao valor atual do "total_price" usando o += operador.

Depois que o loop terminar, o código imprime o preço total de todos os carros usando o cout para exibir o valor de "Total_Price" no console. A saída é formatada para incluir um sinal de dólar na frente do preço total. Aqui está a saída:

Conclusão

Agora aprendemos qual é a variedade de estruturas na linguagem de programação C ++. Discutimos a implementação e declaração da estrutura na sessão. Implementamos alguns exemplos para entender mais sobre o conceito deste tópico.