Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

osbornehell

Comparando entradas

Recommended Posts

ola pessoal estou com um trabaho para fazer cheguei ao um ponto que preciso comparar entradas,

se algumem sober ou tiver ideias

 

 

 

//Estrutura utilizada para armazenar uma data
typedef struct Data
{
	int iDia;
	int iMes;
	int iAno;		
} stData;

//Estrutura utilizada para armazenar uma hora
typedef struct Horario
{
	int iHora;
	int iMinuto;	
}stHorario;

//Estrutura utilizada para representar uma transação efetuada na conta ou cartão de crédito
typedef struct Transacao
{  
	float fValor; 
	stData sData;
	int iOperacao;
	stHorario sHorario; 
	struct Transacao *prProximo;	
}stTransacao;

//Estrutura utilizada para representar uma lista de transações
typedef struct Lista
{
	stTransacao *prInicio;
	stTransacao *prFim;
}stLista;

como comparar ?

 

a ideias é mais ou menos isso, comparar se iDia & iMes & iAno digitado pelo usuario na froma dd/mm/aa é igual ao salvo em um arquivo entrada

 

if(stTransacao.sData.iDia == sDataInicial.iDia,
		&& stTransacao.sData.iMes == sDataInicial.iMes,
		&& stTransacao.sData.iAno == DataInicial.iAno) 
	  
		if(stTransacao.sData.iDia == sDataFinal.iDia,
		&& stTransacao.sData.iMes == sDataFinal.iMes,
		&& stTransacao.sData.iAno == sDataFinal.iAno)

stLista* CriaSubListaContaOrdenada(stLista* pListaConta, stConta *pConta, stData pDataInicial, stData pDataFinal, char psNomeArquivo[])
{
	 //Declara um ponteiro para a estrutura de um arquivo
	FILE *prArquivoEntrada = NULL;

	//Declara uma string para a leitura da linha
	char sLinha[TAM_STRING];

	//Declara um ponteiro para transaçao
	stTransacao *prTransacao = NULL;

	//Faz as inicializaçoes das estruturas lista
	pListaConta->prInicio = NULL;
	pListaConta->prFim = NULL;


	//Faz as inicializações da estrutura conta
	pConta->fSaldoAnterior = 0.0f;
	pConta->fSaldoAtual = 0.0f;

	//Faz a abertura do arquivo
	prArquivoEntrada = fopen(psNomeArquivo,"r");

	//Testa se o arquivo foi aberto com sucesso
	if (!prArquivoEntrada)
	{
		printf("Nao foi possivel abrir o arquivo de entrada");
		return(0);
	}

	//Le a primeira linha do arquivo (cabecalho)
	fgets(sLinha,TAM_STRING,prArquivoEntrada);

	//Invoca a função que separa as informaçoes do cabeçalho
	LerCabecalho(pConta,sLinha);

	//Enquanto existirem transasões a serem lidas
	while (!feof(prArquivoEntrada))
	{
			//Faz a leitura de uma linha no arquivo contendo os dados da transação
		fgets(sLinha,TAM_STRING,prArquivoEntrada);
		
		//Testa se não é linha em branco
		if (sLinha[0]=='\n')
		{
				continue;
			}
	 		//Aloca memória para uma nova transação
		prTransacao = (stTransacao*)malloc(sizeof(stTransacao));

			//Quebra os dados da transação e preenche as estruturas
		PreencheTransacao(prTransacao,sLinha);

			//Verifica o tipo da operação e insere na lista do cartão ou da conta corrente:
			//código 1 a 4: operações de conta corrente
			//código 5 e 6: operações do cartão de crédito
		if (prTransacao->iOperacao < 4)
		{
			InsereTransacao(pListaConta,prTransacao);
		}

	}

		  

		/******************************************
																				 
 	  if(stTransacao.sData.iDia == sDataInicial.iDia,		
		 && stTransacao.sData.iMes == sDataInicial.iMes,	  
		 && stTransacao.sData.iAno == DataInicial.iAno)	   
	  
		 if(stTransacao.sData.iDia == sDataFinal.iDia,
		 && stTransacao.sData.iMes == sDataFinal.iMes,
		 && stTransacao.sData.iAno == sDataFinal.iAno)
		
		****************************************/

	

 //Cria um ponteiro para o nó inicial de uma lista
	  
	  stLista* prSubLista  = NULL;
	  stLista* prSubLista = (stLista*)malloc(sizeof(stLista));
	  
	 if (sListaConta==NULL)
   {
	 printf("Erro de alocacao\n");
	 return 0;
   }

   //sListaConta->sDataInicial = sConta;
   //sListaConta->sDataFinal = NULL;

   if (prSubLista==NULL)
	  prSubLista = sListaConta;
   else {
	  //sListaConta->sDataFinal = prSubLista;
	  //prSubLista  = sListaConta;
	}

	   //Implemente aqui
	
	  //Retorna a lista ordenada
	  return prSubLista;
	

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

como oq você qr comparar é do tipo string.

entaum veja sobre os comandos strcmp() e stricmp();

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.