Primordius Posted March 27, 2012 at 09:51 AM Report #445861 Posted March 27, 2012 at 09:51 AM 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
Diutsu Posted March 27, 2012 at 09:59 AM Report #445863 Posted March 27, 2012 at 09:59 AM 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
bubulindo Posted March 27, 2012 at 10:00 AM Report #445864 Posted March 27, 2012 at 10:00 AM 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 () { }
Primordius Posted March 27, 2012 at 10:40 PM Author Report #446034 Posted March 27, 2012 at 10:40 PM 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now