Jump to content

Duvida sobre estruturas


Primordius
 Share

Recommended Posts

Bom Dia, estou a fazer um projecto e eu tenho que guardar no maximo 100 movimentos(receitas e despesas) por dia, eu ja tenho o projecto todo concluido para funcionar com 1 movimento por dia, mas como tenho que armazenar até 100 movimentos por dia, isto nao funciona. Agora a minha duvida é, existe alguma forma de criar uma estrutura automaticamente? ou seja, eu pretendo criar uma estrutura individual para cada movimento de cada dia, ou seja 10 movimentos no dia 2, eu crio 10 estruturas, uma por cada movimento.

typedef struct movimento
{int montante, periodo;
char descri, tipo;
} movimento;

eu pretendo criar por exemplo para o dia 1, movimento 1 fazer:

 struct movimento dia1.mov1 

e arranjar uma forma para criar automaticamente para o dia 1 movimento 2 etc...

ou seja, o problema é arranjar uma forma para criar várias estruturas com diferentes números (do dia e do movimento).

quando o utilizador escreve o input do dia e o montante do movimento, eu tenho que criar logo uma estrutura com aquele nome especifico.

Espero que me possam Ajudar,

Muito Obrigado

Link to comment
Share on other sites

Boas

Usa uma estrutura <dia> que tem dentro dela tem apenas um vector com capacidade para 100 estruturas <movimento>

tipo isto:

struct dia{
movimento mov[100];
}

depois é só acederes à posição do vector que queres, podendo incluires a posição actual na própria estrutura.

Se estiveres a guardar vários dias faz um outro vector Dia[MAX_DIAS] dias;

assim acedes a um elemento assim: dias[ x ].movimento[ y ], em que x é o dia actual e y o movimento no dia x

Como estás limitado a 100 movimentos por dia não tens muito problema, mas o ideia era usares memória dinamica para ires aumentando o tamanho do vector à medida que queres ir adicionando novos elementos.

XX SINFO - Semana Informática

Link to comment
Share on other sites

Acho que deves criar um vector de estruturas e alocar memória para ela dinamicamente.

typedef struct movimento
{int montante, periodo;
char descri, tipo;
} movimento;

struct movimento dia[100];

Depois seria mais interessante (a meu ver e não sei muito mais sobre o projecto), no final do dia guardar os 100 movimentos para um ficheiro com a data desse dia e reinicializar o espaço das 100 estruturas a zeros para um dia novo.

include <ai se te avio>

Mãe () {

}

Link to comment
Share on other sites

Muito Obrigado 😁 Chegei á soluçao hj e até era bastante simples, bastava fazer uma estrutura e depois fazer assim

struct movimento movimentos[1000][100]

desta forma dá para armazenar 1000 dias com 100 movimentos cada

assim concegui aceder a tudo o que queria, de uma forma bastante simples:)

eu nao fiz com memoria dinamica pq ainda nao dei essa parte da materia.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.