0% acharam este documento útil (0 voto)
23 visualizações1 página

Alocação Dinâmica em C para Cadastro de Clientes

Enviado por

gi.lorenceti02
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
23 visualizações1 página

Alocação Dinâmica em C para Cadastro de Clientes

Enviado por

gi.lorenceti02
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

Em algumas situações, para a implementação de um sistema computacional, não se

conhece, previamente, qual o tamanho da massa de dados que será efetivamente


manipulada. Em tais casos, pode ser usado o recurso de alocação dinâmica de
memória. Com tal recurso, uma região de memória poderá ser alocada, sob demanda de
modo a tornar o programa mais flexível em relação à quantidade de itens a serem
manipulados. Essa flexibilidade torna o programa escalável.

O objetivo desta questão é exercitar a manipulação de ponteiros em um cenário onde


se exige a alocação dinâmica de memória através da implementação de um programa
computacional.

Antes de falarmos das funcionalidades do programa a ser implementado, convém


mencionar que, em algumas situações o espaço previamente alocado deve ser
redimensionado devido, à por exemplo, um aumento ou diminuição inesperada na
quantidade de itens manipulados. Para realizar o redimensionamento, pode-se, na
linguagem C, utilizar a função “realloc()”. Essa função segue a seguinte sintaxe:

void *realloc (void *ptr_original, size_t);

A função “realloc()” retorna a posição do bloco realocado com a nova dimensão. No


trecho de código acima, o parâmetro “ptr_original” representa o bloco previamente
alocado com a função “malloc()” ou “calloc()”. Detalhes destas funções, inclusive a
“realloc()” poderão ser obtidas acessando-se (GARCIA, 2016) através do link:
<[Link]

Para a realização desta atividade, suponha a necessidade de cadastrar clientes de


uma loja. Por ser uma loja nova e com produtos inovadores, pouco se sabe do mercado
a ser atingido, sendo assim, não se sabe a quantidade de clientes poderão ser
cadastrados. Estima-se, inicialmente, em 10 clientes. Cada cliente terá os
seguintes
campos:

- nome (suponha um nome com, no máximo, 30 caracteres)

- ano de nascimento

- montante de gastos realizados no mês (quanto o clinte pagou em suas compras


dentro do mês corrente)

Para tanto, o sistema deverá oferecer as seguintes funcionalidades:

- incluir um novo cliente

- remover cliente - atualizar o montante de compras do cliente realizadas no mês


corrente

- zerar todos os montantes de compras por ocasião da virada de mês

- listar o cliente melhor comprador

- exibir um montante de compras de um cliente específico.

O programa deverá, ainda, prever a situação que a quantidade de clientes a ser


cadastrados supere a previsão inicial. Neste caso, quando o espaço de memória
destinado a receber dados dos clientes estiver cheia, deve-se ampliar esse espaço -
sempre em blocos de 10.

Poste o código, implementado em C, em seu portfólio.

Você também pode gostar