Jump to content

Francisco Jr.

Members
  • Content count

    25
  • Joined

  • Last visited

Community Reputation

0 Comum

1 Follower

About Francisco Jr.

  1. Francisco Jr.

    Criar tabelas para agendamento

    Boa noite Motta. Antes de postar aqui procurei por vários exemplos na internet. Não encontrei nada parecido com o que eu preciso. Pelo menos nada de conteúdo livre. Por isso decidi pedir ajuda.
  2. Francisco Jr.

    Criar tabelas para agendamento

    Bom dia, estou com uma dúvida quanto a criação de algumas tabelas para agendamento de consultas de um pequeno sistema q estou criando. No sistema de agendamento é possível ver os horários, de acordo com os que o médico está na clinica. Como cada médico pode estar presente em dias e horários diferentes, preciso criar as tabelas de acordo com esta regra. Pensei em criar uma tabela com os horários, exemplo: 8:00, 8:15, 8:20, 8:30, etc sendo que o tempo de consulta depende de cada médico também. Outra tabela seria dos dias da semana, exemplo: segunda, terça, quarta, etc. E uma outra tabela faria a junção(cadastrar conforme o médico) de médico, dia e horários, exemplo: Médico Fulano, segunda: 8: 8:15, 8:30; Ciclano, terça: 10, 10:30, 11:00. Existe a tabela de agendamento, esta só seria preenchida se realmente tiver um agendamento evitando uso dos recursos do banco sem necessidade. Não sei como montar as tabelas, estou com problemas(falta de conhecimento) para modelar as mesmas.
  3. Francisco Jr.

    Problemas ao Iterar array multidimensional

    Olá! Estou enfrentando problemas para iterar um array multidimensional. O array possui uma estrutura assim: $meuArray['cliente']['tipoAtendimento']['subtipo']. Array ( [CLIENTE 1] => Array ( [TIPO ATENDIMENTO 1] => Array ( [OUTROS] => 14 [ELETRONICO] => 13 [TECNICO] => 21 [RRD] => 14 [TELEFONICO] => 15 ) [TIPO ATENDIMENTO 2] => Array ( [PESSOAL] => 17 [TELEFONE] => 1373 ) ) [CLIENTE 2] => Array ( [TIPO ATENDIMENTO 1] => Array ( [OUTROS] => 14 [ELETRONICO] => 13 [TECNICO] => 21 [RRD] => 14 [TELEFONICO] => 15 ) [TIPO ATENDIMENTO 2] => Array ( [PESSOAL] => 17 [TELEFONE] => 1373 ) ) ) Preciso iterar e inserir os dados em uma tabela desta forma: <table align="center" border="1" cellpadding="1" cellspacing="1" style="background-color:#ffffcc;border-collapse:collapse;border:1px solid #ffcc00;width:50%;"> <thead> <th width="105"><b class="fontcorpreta">Cliente</b></th> <th width="100"><b class="fontcorpreta">Tipo Atend.</b></th> <th width="100"><b class="fontcorpreta">Forma Atend.</b></th> </thead> <tbody> <tr> <td colspan="1" rowspan="9">$meuArray['cliente']</td> <td colspan="1" rowspan="2" style="text-align: center; vertical-align: middle;">$meuArray['cliente']['tipoAtendimento']</td> <td>$meuArray['cliente']['tipoAtendimento']['subtipo']</td> </tr> <tr> <td>$meuArray['cliente']['tipoAtendimento']['subtipo']</td> </tr> <tr> <td colspan="1" rowspan="7" style="text-align: center; vertical-align: middle;">$meuArray['cliente']['tipoAtendimento']</td> <td>$meuArray['cliente']['tipoAtendimento']['subtipo']</td> </tr> <tr> <td>$meuArray['cliente']['tipoAtendimento']['subtipo']</td> </tr> <tr> <td>$meuArray['cliente']['tipoAtendimento']['subtipo']</td> </tr> <tr> <td>$meuArray['cliente']['tipoAtendimento']['subtipo']</td> </tr> <tr> <td>$meuArray['cliente']['tipoAtendimento']['subtipo']</td> </tr> <tr> <td>$meuArray['cliente']['tipoAtendimento']['subtipo']</td> </tr> <tr> <td>$meuArray['cliente']['tipoAtendimento']['subtipo']</td> </tr> </tbody> </table> Segue uma imagem de como eu preciso estruturar a tabela: https://jsfiddle.net/fininhors/05L6k5fz/ Tentei iterar deste jeito mas não deu certo: <table class="estilo_tabela marginauto"> <thead> <tr> <th width="105"><b class="fontcorpreta">Cliente</b></th> <th width="100"><b class="fontcorpreta">Tipo Atend.</b></th> <th width="100"><b class="fontcorpreta">Forma Atend.</b></th> <th width="45"><b class="fontcorpreta">Parciais</b></th> <th width="45"><b class="fontcorpreta">Total</b></th> </tr> <tr> <td colspan="5"><hr width="100%"></td> </tr> </thead> <tbody> <?php foreach ((array)$_SESSION['SA_RELATORIO_RANKING'] as $cliente => $tipoAtend) { foreach ((array)$tipoAtend as $tipo => $subTipo) { foreach ((array)$subTipo as $chave => $valor) { ?> <tr> <td colspan="1" rowspan="9"><?php echo $cliente;?></td> <td colspan="1" rowspan="2" style="text-align: center; vertical-align: middle;"><?php echo $tipo; ?></td> <td><?php echo $_SESSION['SA_RELATORIO_RANKING'][$cliente][RA][RA-PESSOAL] ?></td> </tr> <tr> <td><?php echo $_SESSION['SA_RELATORIO_RANKING'][$cliente][RA][RA-TELEFONE] ?></td> </tr> <tr> <td colspan="1" rowspan="7" style="text-align: center; vertical-align: middle;"><?php echo $tipo; ?></td> <td><?php echo $chave; ?></td> </tr> <tr> <td><?php echo $chave; ?></td> </tr> <tr> <td><?php echo $chave; ?></td> </tr> <tr> <td><?php echo $chave; ?></td> </tr> <tr> <td><?php echo $chave; ?></td> </tr> <tr> <td><?php echo $chave; ?></td> </tr> <tr> <td><?php echo $chave; ?></td> </tr> <?php } }?> <?php } ?> </tbody> </table>
  4. Gostaria de saber como pegar os dados de um formulário e colocá-los num array associativo ou json e iterar. Exemplo tenho que gerar boletos bancários para contas a receber; só que cada conta a receber pertence a um banco diferente, então preciso gerar boletos diferentes. Podem haver varias contas a receber de um mesmo banco. <form id="frmGrid" name="frmGrid"> <table> <tr> <td align="center"> <input type='checkbox' name='vBoletoRegistro' value ='<?php echo $reg_post['CTRCODIGO']; ?>' id='vBoletoRegistro'/> <input type="hidden" name="hdn_banco" id="hdn_banco" value="<?php echo $reg_post['BANCO']; ?>"/><?php } ?> </td> </tr> <tr> <td align="center"> <a href='#frmGrid' class="btnImprimirMini" title="Imprimir Boleto" onclick="validaImprimirBoleto();"></a> </td> </tr> </table> </form> A função validaImprimirBoleto() faz o seguinte: function validaImprimirBoleto(){ var formBaixa = document.getElementById("frmGrid"); var valores = ''; var vSBanco = ''; for(i=0;i<formBaixa.elements.length;i++){ if(formBaixa.elements[i].type == "checkbox" && formBaixa.elements[i].checked == 1){ if(formBaixa.elements[i].name == "vBoletoRegistro") { if (valores == '') valores += formBaixa.elements[i].value; else valores += ','+formBaixa.elements[i].value; vSBanco = document.getElementById("hdn_banco").value; } } } if(!valores){ alert("Por favor selecione um registro para Imprimir o Boleto!"); return; } document.getElementById("hdn_oidList").value = valores; imprimirBoleto(valores, vSBanco); } E chama a função imprimirBoleto(): function imprimirBoleto(pLOIDLIST, pSBanco){ var banco = pSBanco; switch(banco){ case "104": window.open("../boletos/104/boleto_cef.php?vLOidList="+pLOIDLIST); break; case "001": window.open("../boletos/001/boleto_bb.php?vLOidList="+pLOIDLIST); break; case "341": window.open("../boletos/341/boleto.php?vLOidList="+pLOIDLIST); break; } return ; } Não sei como fazer, se alguem puder me ajudar agradeço a ajuda desde já.
  5. Francisco Jr.

    Capturar dados de cabeçalho de email

    Consegui achar o que eu tanto precisava. Se alguém passa ou passou pelo mesmo problema, eis o link para baixar a classe de IMAP: https://github.com/barbushin/php-imap
  6. Francisco Jr.

    Capturar dados de cabeçalho de email

    Olá. Estou realizando a atualização/manutenção de um sistema de helpdesk. Neste sistema os chamados são requisitados via e-mail. O problema é que o atendente tem q ler o e-mail e pegar os dados, para poder registrar o chamado. Foi-me pedido que pensasse em jeito de contornar isso. Tive a idéia de através dos próprios campos do e-mail, capturar e preencher os campos do registro de chamado. Exemplo: De: fulano@empresa.com.br Para: SAC@minhaempresa.com FINANCEIRO@minhaempresa.com VENDA@minhaempresa.com Assunto: QUALQUER UM o corpo do E-mail: CHAMADO PARA ALGUMA COISA A partir do campo "DE" verifica-se no banco de dados o usuário que solicita atendimento. A partir do campo "PARA" verifica-se a categoria(sac, vendas, etc...). A partir do campo "ASSUNTO" preenche-se o título do erro do chamado. A partir do campo "CORPO DO E-MAIL" preenche-se a descrição do chamado. Agradeço toda ajuda ofertada.
  7. Francisco Jr.

    Loja de CDs

    Boa tarde Isis. Eu não pus mesmo, desculpa. A chamada ficaria case 8 do switch: case 8: while(pTEMP){ gravarTxt((unsigned char *) pTEMP, sizeof(cd), fopen("bdados.txt","ab")); pTEMP = pTEMP->proximo; } break;
  8. Francisco Jr.

    Loja de CDs

    Sim, ele não criava e por consequência não inseria nada no arquivo.
  9. Francisco Jr.

    Manipulação de uma pilha

    Enfim consegui! Guidjos muito obrigado pela ajuda!!!!!! #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #define A 9 #define B 3 #define C 2 #define D 1 #define E 1 typedef struct { int valor[6]; int iIndice; }pilha; void Inicializa(pilha *pPilha) { memset(pPilha,0,sizeof(pilha)); pPilha->iIndice = -1; } int EhVazia(pilha *pPilha) { return (pPilha->iIndice < 0) ? 1 : 0; } int SUB(int a, int b) { int resultado; resultado = b - a; return resultado; } int MPY(int a, int b) { int resultado; resultado = a * b; return resultado; } int DIV(int a, int b) { int resultado; resultado = b / a; return resultado; } int ADD(int a, int b) { int resultado; resultado = a + b; return resultado; } int DEC(int a) { return --a; } void push(pilha *pPilha, int sInsere) { pPilha->iIndice++; pPilha->valor[pPilha->iIndice] = sInsere; } int top(pilha *pPilha) { return pPilha->valor[pPilha->iIndice]; } int pop(pilha *pPilha) { int retValor; retValor = pPilha->valor[pPilha->iIndice]; pPilha->iIndice--; return retValor; } int main() { pilha pValor; int x, y; Inicializa(&pValor); push(&pValor, A); push(&pValor, B); x = pop(&pValor); y = pop(&pValor); push(&pValor, SUB(x, y)); push(&pValor, C); push(&pValor, D); push(&pValor, E); x = pop(&pValor); y = pop(&pValor); push(&pValor, MPY(x, y)); x = pop(&pValor); y = pop(&pValor); push(&pValor, ADD(x, y)); push(&pValor, DEC(pop(&pValor))); x = pop(&pValor); y = pop(&pValor); push(&pValor, DIV(x, y)); printf("%d\n",pop(&pValor)); getchar(); }
  10. Francisco Jr.

    Loja de CDs

    Tenho que desenvolver um programa com a seguinte proposta: Desenvolver um aplicativo para cadastro de CDs. Este aplicativo deve manipular duas listas encadeadas uma para os CDs e outra para as músicas. A estrutura de dados a ser utilizada para isso está no arquivo “estrutura.h”. O aplicativo deve conter as seguintes funções: 1. Cadastra CD 2. Deleta CD 3. Lista as músicas de um CD 4. Lista todo o cadastro (CDs e suas respectivas músicas) 5. Pesquisa cadastro por código do CD ou por Nome do Conjunto. 6. Cadastra músicas em um CD 7. Deleta músicas em um CD 8. Grava o Cadastro em disco 9. Lê o cadastro do disco Formato do arquivo dos CDs: {Código do CD} [Nome do CD] [Nome do Conjunto] [Ano do CD] (Musica 1) Nome da trilha Tempo (Musica 2) Nome da trilha Tempo Tenho um arquivo de cabeçalho: #ifndef ESTRUTURA_H #define ESTRUTURA_H #define TAM_NOME 30 typedef struct MUSICA { int nPosicaTrilha; char szNomeDaTrilha[TAM_NOME]; int nTempo; struct MUSICA* proximo; }musica; typedef struct CD { int nCodigoCd; char szNomeDoConjunto[TAM_NOME]; char szNomedoCd[TAM_NOME]; int nAno; musica* psMusicas; struct CD* proximo; }cd; #endif E o arquivo principal: /*##########################################################################*/ /*--$# # # FILE NAME : Loja de CDs # AUTOR: Francisco S. S. Junior # #$--*/ /*##########################################################################*/ #include <string.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "Estrutura.h" int insereCD( cd **albumInicial, int codigoCD, char nomeConjunto[30], char nomeCD[30], int Ano){ cd *pstNovo, *p; pstNovo = (cd*)calloc(1,sizeof(cd)); pstNovo->nCodigoCd = codigoCD; strcpy(pstNovo->szNomeDoConjunto, nomeConjunto); strcpy(pstNovo->szNomedoCd, nomeCD); pstNovo->nAno = Ano; if(*albumInicial == NULL){ *albumInicial = pstNovo; }else{ for(p = *albumInicial; p->proximo; p = p->proximo); p->proximo = pstNovo; } return codigoCD; } void deletarCD( cd **primeiroAlbum, int codigo ){ cd *p, *auxiliar; p = *primeiroAlbum; if(p->nCodigoCd == codigo ){ *primeiroAlbum = p->proximo; } else { for(;p;p=p->proximo){ if(p->proximo != NULL && p->proximo->nCodigoCd == codigo ){ if( p->proximo->proximo == NULL){ p->proximo = NULL; } else { auxiliar = p->proximo->proximo; p->proximo = auxiliar; } } } } } void insereMusica( cd **albumInicial, int codigoCD, int nPosicaTrilha, char szNomeDaTrilha[30], int nTempo){ cd *p; p = *albumInicial; for(;p;p=p->proximo){ if(p->nCodigoCd == codigoCD ) { musica *musicaNova, *pMusicaAuxiliar; musicaNova = (musica*)calloc(1, sizeof(musica)); musicaNova->nPosicaTrilha = nPosicaTrilha; musicaNova->nTempo = nTempo; strcpy(musicaNova->szNomeDaTrilha,szNomeDaTrilha); if(p->psMusicas == NULL){ p->psMusicas = musicaNova; } else { for( pMusicaAuxiliar = p->psMusicas; pMusicaAuxiliar->proximo; pMusicaAuxiliar=pMusicaAuxiliar->proximo); pMusicaAuxiliar->proximo = musicaNova; } } } } int adicionarCD( cd **primeiroAlbum, int nCodigoCd, char szNomeDoConjunto[TAM_NOME], char szNomedoCd[TAM_NOME], int nAno ){ cd *pstNovo, *p; pstNovo = (cd*)calloc(1, sizeof(cd)); pstNovo->nAno = nAno; pstNovo->nCodigoCd = nCodigoCd; strcpy(pstNovo->szNomeDoConjunto,szNomeDoConjunto ); strcpy(pstNovo->szNomedoCd,szNomedoCd ); if(*primeiroAlbum == NULL){ *primeiroAlbum = pstNovo; } else { for(p=*primeiroAlbum;p->proximo;p=p->proximo); p->proximo = pstNovo; } return nCodigoCd; } void listarMusicasCD(cd **albumInicial, int codigo){ cd *p; p = *albumInicial; musica *pm; for(;p;p=p->proximo){ if(p->nCodigoCd == codigo ) { printf("\n--------------------------------------\n"); printf("Listagem de Musicas do album %s\n\n", p->szNomedoCd ); pm = p->psMusicas; for(;pm;pm=pm->proximo){ printf("%d - %s - %d\n", pm->nPosicaTrilha, pm->szNomeDaTrilha, pm->nTempo); } printf("\n--------------------------------------"); break; } } } void gravarTxt( unsigned char *psEstrutura, int tamanho, FILE *arquivo ){ if( arquivo == NULL ){ printf( "Arquivo nao existe..\n" ); } else { fwrite( psEstrutura, tamanho, 1, arquivo ); fclose( arquivo ); printf( "Fila salva com sucesso...\n" ); } } void carregarTXT( cd **psEstrutura, FILE *arquivo ){ if( arquivo == NULL ){ printf( "Arquivo nao existe..\n" ); } else { while(!feof(arquivo)) { cd stLido; int BytesLidos; memset(&stLido,0,sizeof(cd)); BytesLidos = fread(&stLido, 1, sizeof(cd), arquivo ); if(BytesLidos == sizeof(cd)) insereCD(psEstrutura,stLido.nCodigoCd, stLido.szNomeDoConjunto, stLido.szNomedoCd, stLido.nAno); } fclose( arquivo ); printf( "Fila carregada com sucesso...\n\n" ); } } void listar( cd **s ){ cd *p; int index = 1; p = *s; printf("--------Albuns---------------\n"); for(;p;p=p->proximo){ printf("Album: %i\nCodigo: %i\nNome do conjunto: %s\nTitulo do album: %s\nAno: %i\nNumero da faixa: %i\nNome da faixa: %s\nDuracao: %i\n\n", index++, p->nCodigoCd, p->szNomeDoConjunto, p->szNomedoCd, p->nAno, p->psMusicas->nPosicaTrilha, p->psMusicas->szNomeDaTrilha, p->psMusicas->nTempo); } printf("--------------------------------\n"); } int main( int argc, char** argv ) { cd *ponteiroCD = NULL; int opcao = 1, opcadastro; int codAlbum, anoAlbum; char opc, nomeBanda[30], nomeAlbum[30]; cd *pTEMP = ponteiroCD; do { printf("\n\tEscolha a opcao desejada\n\n"); printf("1. Cadastra CD\n"); printf("2. Deleta CD\n"); printf("3. Lista as musicas de um CD\n"); printf("4. Lista todo o cadastro (CDs e suas respectivas musicas)\n"); printf("5. Pesquisa cadastro por codigo do CD ou por Nome do Conjunto\n"); printf("6. Cadastra musicas em um CD\n"); printf("8. Grava o Cadastro em disco\n"); printf("9. Le o cadastro do disco\n"); printf("0. Sair\n"); printf("\n\nEscolha uma opcao: "); scanf("%d", &opcao); system("cls || clear"); switch(opcao) { case 1: insereCD( (cd**)&ponteiroCD, 10, "Jota", "Azul", 2010); insereCD( (cd**)&ponteiroCD, 20, "Legiao", "Vermelho", 2007); insereCD( (cd**)&ponteiroCD, 30, "Paralamas", "Amarelo", 1989); insereCD( (cd**)&ponteiroCD, 40, "Titas", "Verde", 1995); break; case 2: deletarCD((cd**)&ponteiroCD, 10); break; case 3: listarMusicasCD((cd**)&ponteiroCD, 10); break; case 4: listar((cd**)&ponteiroCD); break; case 5: break; case 6: insereMusica( (cd**)&ponteiroCD, 10, 1, "Intro", 2); insereMusica( (cd**)&ponteiroCD, 20, 1, "Intro", 2); insereMusica( (cd**)&ponteiroCD, 30, 1, "Intro", 2); insereMusica( (cd**)&ponteiroCD, 40, 1, "Intro", 2); break; case 8: break; case 9: break; case 0: printf("\n\n O Programa foi fechado!"); break; default: printf("Digite uma opcao valida\n"); } } while(opcao); fflush(stdin); getchar(); } Infelizmente não consegui implementar as opções 8 e 9, pois ele não inseria no arquivo. Só me falta esse conhecimento para poder ir adiante em C. Peço ajuda gentilmente.
  11. Francisco Jr.

    Manipulação de uma pilha

    #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #define A 9 #define B 3 #define C 2 #define D 1 #define E 1 typedef struct { int valor[6]; int iIndice; }pilha; void Inicializa(pilha *pPilha) { memset(pPilha,0,sizeof(pilha)); pPilha->iIndice = -1; } int EhVazia(pilha *pPilha) { return (pPilha->iIndice < 0) ? 1 : 0; } int SUB(int a, int b) { int resultado; resultado = b - a; return resultado; } int MPY(int a, int b) { int resultado; resultado = a * b; return resultado; } int DIV(int a, int b) { int resultado; resultado = b / a; return resultado; } int ADD(int a, int b) { int resultado; resultado = a + b; return resultado; } int DEC(int a) { return --a; } void push(pilha *pPilha, int sInsere) { pPilha->iIndice++; pPilha->valor[pPilha->iIndice] = sInsere; } int top(pilha *pPilha) { return pPilha->valor[pPilha->iIndice]; } int pop(pilha *pPilha) { int retValor; retValor = pPilha->valor[pPilha->iIndice]; pPilha->iIndice--; return retValor; } int main() { pilha pValor; int x, y; Inicializa(&pValor); push(&pValor, A); push(&pValor, B); x = pop(&pValor); y = pop(&pValor); push(&pValor, SUB(x, y)); push(&pValor, C); push(&pValor, D); push(&pValor, E); x = pop(&pValor); y = pop(&pValor); push(&pValor, MPY(x, y)); x = pop(&pValor); y = pop(&pValor); push(&pValor, ADD(x, y)); push(&pValor, DEC(pop(&pValor))); x = pop(&pValor); y = pop(&pValor); push(&pValor, DIV(x, y)); printf("%d\n",pop(&pValor)); getchar(); } Consegui implementar as outras funções: Multiplicação, Divisão, etc.. O problema agora, apesar de parecer simples, é imprimir na tela os valores que estão na pilha. Ou seja, após cada operação mostrar quais os valores que estão na pilha. Só consegui mostrar o valor final, tentei utilizar para mostrar os valores na pilha, mas não consegui o resultado esperado. Se alguém puder me ajudar nessa parte eu agradeço desde já.
  12. Francisco Jr.

    Manipulação de uma pilha

    1) A tabela abaixo mostra as operações para a manipulação de uma pilha. (1,0) PUSH: coloca um elemento novo na pilha. POP: Retira o elemento do topo da pilha. Operação Unária: Efetua a operação sobre o elemento do topo da pilha e substitui o elemento do topo pelo resultado. operações disponíveis: DEC (subtrai o valor 1 do elemento). Operação binária: Efetua a operação sobre os 2 elementos do topo da pilha, retira os dois elementos do topo da pilha e coloca o resultado da operação no topo da pilha. Operações disponíveis: ADD (adição -> X+Y), SUB (subtração-> Y-X), MPY (multiplicação -> X*Y) e DIV (divisão -> X/Y), onde Y é o elemento no topo da pilha e X o elemento abaixo do Y. Utilizando as definições acima, a sequência de instruções a seguir foi implementada para avaliar o resultado de uma expressão, sendo A, B, C, D e E os operandos desta expressão. O resultado da avaliação é acumulado em F. PUSH A PUSH B SUB PUSH C PUSH D PUSH E MPY ADD DEC DIV POP F Com base no que foi exposto acima, se A, B, C, D e E apresentarem, respectivamente, os valores 9, 3, 2, 1 e 1, qual o valor armazenado em F após a execução da instrução POP F? A resposta é 3. #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #define A 9 #define B 3 #define C 2 #define D 1 #define E 1 typedef struct { int valor[6]; int iIndice; }pilha; void Inicializa(pilha *pPilha) { memset(pPilha,0,sizeof(pilha)); pPilha->iIndice = -1; } int EhVazia(pilha *pPilha) { return (pPilha->iIndice < 0) ? 1 : 0; } int SUB(int a, int b) { int sub; sub = b - a; return sub; } int MPY(int a, int b) { int mult; mult = a * b; return mult; } void push(pilha *pPilha, int sInsere) { pPilha->iIndice++; pPilha->valor[pPilha->iIndice] = sInsere; } int top(pilha *pPilha) { return pPilha->valor[pPilha->iIndice]; } int pop(pilha *pPilha) { int retValor; retValor = pPilha->valor[pPilha->iIndice]; pPilha->iIndice--; return retValor; } int main() { pilha pValor; int x, y, F; Inicializa(&pValor); push(&pValor, A); push(&pValor, B); x = pValor.valor[pValor.iIndice]; y = pValor.valor[pValor.iIndice - 1]; pop(&pValor); pop(&pValor); push(&pValor, SUB(x, y)); push(&pValor, C); push(&pValor, D); push(&pValor, E); x = pValor.valor[pValor.iIndice]; y = pValor.valor[pValor.iIndice - 1]; pop(&pValor); pop(&pValor); push(&pValor, MPY(x, y)); getchar(); } Como podem ver estou repetindo a chamada para as variáveis x e y. Não consegui terminar essa implementação. Agradeço toda a ajuda
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.