• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Margas

Somar valores dentro de um Array???

11 mensagens neste tópico

Boas.

Depois de evoluir mais um pedaço deparo-me, com outro problema.A soma de valores dentro de um Array....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok.

Até um certo ponto da minha função está tudo ok.Ou seja são atribuidos valores para dentro dum array e depois pretendo saldo, mas não estou a conseguir...

}

void carrega(void){
int c_carrega,i3;
float valor,saldo;
int pos,indice2;

struct tm * tm;
	time_t t;
	time(&t);
	tm = localtime(&t);

printf("Insira o numero do cartao a carregar\n");
fflush(stdin);
scanf("%d",&c_carrega);
i3=c_carrega-1;
printf("Qual o valor a carregar\n");
fflush(stdin);
scanf("%0.2f",&valor);

	for(pos=0;pos<10;pos++)//Este ciclo deveria colocar os valores no array transacao[]
		{
			if(cartoes[i3].transacao[pos].montante==0)
				{
					indice2=pos;
					break;
			    }
	    }

    cartoes[i3].transacao[indice2].montante=valor;//Até aqui tudo bem...



     cartoes[i3].transacao[indice2].saldo1=+valor;//Aqui será o problema
//cartoes[i3].transacao[indice2].saldo1;


fflush(stdin);
strftime(cartoes[i3].transacao[indice2].data1, 20, "%d-%m-%y", tm);
//printf("Saldo---->%0.2f\n",cartoes[i3].transacao[indice2].saldo1);
//printf("Data transacao---->%s\n",cartoes[i3].transacao[indice2].data1);



}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Julgo que é necessário compreender a organização das estruturas e a declaração das tuas variáveis para poder ajudar..

cartoes[i3].transacao[indice2].montante

O que são os cartoes e as transacao?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
typedef struct {
            char data1[9]; /*data da transacao*/
            TIPO_MOVIMENTO movimento; /*carregamento, transferencias, debitos*/
            float montante; /*valores utilizados*/
            //char data2[9];
		    float saldo1; /*saldo apos transacao*/
            OBSERVA observacoes; /*bar, livraria, etc*/
           }TRANSACAO;

//typedef enum{Aluno=0, Docente, Funcionario }TUTENTE;/*variavel tipo de utente*/
//typedef enum{Activo, Inactivo }ESTADO;/*estado do cartao activo ou inactivo*/

typedef struct {
                int utnumero;/*numero do cartao*/
			char utnome[50];/*nome do utente*/
			char utente[20];/*tipo de utente*/
			char data2[9];/*data de criacao do cartao*/
			TRANSACAO transacao[10];/*transacoes*/
			char estado[10];
		   }REGISTOS;



int num=1;
int indice=0;
//int indice2=0;
REGISTOS cartoes[101];

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para te ajudar-mos a ver qual é o problema precisamos de perceber o código. para perceber-mos o código é conveniente que este esteja bem identado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Compreendo perfeitamente!!!

Já resolvi a questão do total do saldo.

Agradeço a vossa ajuda, mas entendam que para um novato não é fácil a organização estando a pensar no resultado final.

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É muito mais fácil chegar ao resultado final pensando na organização.

Quer usando indentação adequada, como usando funções em vez de ser tudo a monte para dentro do main (não estou a dizer que seja esse o caso, nem vi o main no teu código)

Não importa muito se usas uma indentação única e exclusiva inventada por ti, a menos que queiras que mais gente leia e ajuda no código (como é o caso)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora