Ir para conteúdo
Fórum Script Brasil

MicheL Vilela

Membros
  • Total de itens

    18
  • Registro em

  • Última visita

Tudo que MicheL Vilela postou

  1. Obrigado Anarquista, testei com a primeira opção e funcionou certinho! Abraço!
  2. Bom dia pessoal, queria a ajuda de vocês. Tenho um link que está da seguinte forma: <? if(empty($diretorio)) {echo '<a href="'.$diretorioR.'" title="'.titulo.'">'.titulo.'</a><br />'; } else { echo '<a href="'.$diretorio.'" title="'.titulo.'">'.titulo.'</a><br />'; }?> Porém queria fazer com que o mesmo abrisse em um pop-up. Então acrescentei na página o seguinte comando: <script language="JavaScript1.2"> function openwindow() { window.open("'.$diretorioR.'", "mywindow","location=1,status=1,scrollbars=1,width=100,height=100"); } </SCRIPT> e alterei meus links para o formato abaixo: <? if(empty($diretorio)) {echo '<A href="java script: openwindow()">Clique aqui para abrir</A>'; } else { echo '<A href="java script: openwindow()">Clique aqui para abrir</A>'; } ?> O pop-up aparece mas ele não conseque ler o conteúdo da minha variável. O link que se abre vem com o seguinte endereço http://localhost/'.$diretorioR.', quando deveria vir com o conteúdo da variável; mais ou menos assim http://localhost/teste.php. Alguém sabe uma forma de fazer isso? Obrigado a todos!
  3. Obrigado pela ajuda pessoal!! Deu certinho aqui...tinha deixado passar batido uma { Moderadores, podem encerar o tópico. Abraço a todos!!
  4. Olá comunidade, não tenho tanta prática assim com o PHP e estou apanhando um pouco.... Meu problema é o seguinte: Tenho o bloco abaixo e gostaria de acrescentar mais uma condição. <? }elseif($area=="usuarios"){ include"usuarios.php"; } else{ echo"<font face=\"Tahoma\" size=\"1\">Escolha uma opção no menu</font>"; } ?> Se a área=agenda então carrega outra página PHP, então fiz assim <? }elseif($area=="usuarios"){ include"usuarios.php"; } }elseif($area=="agenda"){ include"agenda.php"; } else{ echo"<font face=\"Tahoma\" size=\"1\">Escolha uma opção no menu</font>"; } ?> Porém ao fazer isso a página não carrega, dando a mensagem de Parse Error. Se alguém puder me ajudar. Abraço!
  5. Amigo, primeiramente obrigado pela ajuda. Tentei resumir o meu problema mas vou tentar te explicar o que preciso da forma real. Imagine a seguinte situação... A coluna PROVISAO foi criada por mim e ela retorna valores maiores que zero ou zero conforme resultado abaixo: Ela foi criada da seguinte forma: PROVISÃO = CASE WHEN F.IDLAN =(SELECT TOP 1 FLAN.IDLAN FROM FLAN (NOLOCK) WHERE FLAN.IDMOV = F.IDMOV AND FLAN.CODCOLIGADA=@CODCOLIGADA ORDER BY 1 )THEN (SELECT TOP 1 CAST(TMOV.VALORLIQUIDO AS FLOAT) FROM TMOV (NOLOCK) WHERE TMOV.IDMOV = T.IDMOV AND TMOV.CODCOLIGADA=@CODCOLIGADA ORDER BY 1 DESC )ELSE '' END, RESULTADO: PROVISAO 415,8 402,6 405,9 409,2 409,2 402,6 0 Já minha coluna PAGAMENTO só pode trazer valor se as condições forem seguidas: 1) campo F.IDFAT >0; 2) campo F.IDMOV IS NULL 3) campo F.DATABAIXA <= 31/12/2007 3) o RESULTADO da minha coluna PROVISAO for igual a ZERO. Atualmente minha coluna PAGAMENTO está assim: PAGAMENTO = CASE WHEN F.DATABAIXA >= @DATAFINAL THEN 0 ELSE F.VALORBAIXADO - F.VALORJUROS END, O que pensei em fazer foi alterar minha coluna PAGAMENTO conforme abaixo: PAGAMENTO =CASE WHEN F.IDFAT> 0 AND F.IDMOV IS NULL AND F.DATABAIXA>=@DATAFINAL AND PROVISAO = 0 THEN F.VALORBAIXADO-F.VALORJUROS ELSE 0 END, Só que ao fazer isso ocorre o seguinte erro: Msg 207, Level 16, State 1, Line 45 Invalid column name 'PROVISAO'. O que preciso fazer é isso, ao invés de ter o resultado de um campo como validador preciso ter o resultado de uma coluna. Abraço. MicheL Vilela
  6. Olá pessoal, tenho uma consulta com o pedaço abaixo: SELECT DISTINCT F.IDLAN, F.IDFAT, VALIDA = CASE WHEN F.IDFAT IS NULL AND F.IDMOV IS NULL THEN 0 ELSE 1 END, Tenho uma coluna que chama "PROVISAO", e preciso acrescentar o resultado dela como sendo mais um validador acima. Minha coluna "VALIDA" ficaria assim: VALIDA = CASE WHEN F.IDFAT IS NULL AND F.IDMOV IS NULL AND "RESULTADO COLUNA PROVISAO"= 0 THEN 0 ELSE 1 END, Alguém tem idéia como faço isso? Abraço a todos!
  7. Estou fazendo uma consulta na TRELSLD para conseguir buscar a movimentação em uma determinada data. Estou apenas com uma dúvida para finalização. select top 1 saldoanterior from trelsld where idprd='38' and codfilial='2' and datamovimento>='2007-10-31' Quando faço isso a consulta não retorna nada, porque não tenho nenhuma movimentação após a data informada. Porém no dia 28-10 tenho uma movimentação de 6000. Queria que minha consulta retornasse esse valor,(ou seja,sempre o valor válido anterior a data) porém não sei como fazer. Tentei fazer como abaixo mas não trouxe nada. Acho que não posso colocar o TOP 1 também. select top 1 saldoanterior from trelsld where idprd='38' and codfilial='2' and datamovimento>='2007-10-31' and not exists (SELECT TOP 1 saldoanterior from trelsld where idprd='38' and codfilial='2' and datamovimento<='2007-10-31' and saldoanterior<>0 ) Se alguém puder me dar uma força agradeço.
  8. Valeu Kuroi! Obrigado pela força! ^_^
  9. Olá pessoal, estou com uma dúvida para retornar uma consulta no SQL. Preciso retornar o nome do país que foi sede do maior número de competições (Ou seja, EUA nesse caso) usando a tabela abaixo. Como faço essa consulta? Obrigado pela ajuda!! -------------------------------------------------------------------------------- tipo_comp pais_comp ------------------------------ ------------------------------ COPA DO MUNDO ALEMANHA PANAMERICANO ARGENTINA OLIMPIADA AUSTRALIA PANAMERICANO BRASIL PANAMERICANO CANADA OLIMPIADA COREIA PANAMERICANO CUBA OLIMPIADA ESPANHA COPA DO MUNDO ESTADOS UNIDOS PANAMERICANO ESTADOS UNIDOS OLIMPIADA ESTADOS UNIDOS COPA DO MUNDO FRANÇA OLIMPIADA GRECIA COPA DO MUNDO ITALIA COPA DO MUNDO JAPAO PANAMERICANO REPUBLICA DOMINICANA
  10. Valeu pela ajuda pessoal!! Certinho!
  11. Olá pessoal! olhem esse pedaço de código e vejam se podem me ajudar: Quando o nsq é maior que 400 ( ou seja, quando você passa a informação > que 20 para o N ele dá a mensagem e sai do programa. Até aí tudo bem. Agora; quando é menor que 200 tenho que fazer um ELSE abaixo para ele alocar o espaço, mas quando coloco o else ele dá a mensagem parse error before `else'. int main ( int argc, char **argv ) { bool ok; // printf("Tamanho do tabuleiro = "); // scanf("%d", &n); if (argc != 2) exit(-1); printf("\n Utilizacao: %s %s. \n",argv[0],argv[1]); //system("PAUSE"); n=atoi(argv[1]); //converta string para inteiro nsq = n*n; if (nsq>400) printf("Faixa valida de 5 a 20!"); exit(-1); // Aloca espaço para o tabuleiro T= new(int* [n]); for (int i=0; i < n; i++) T[i]= new(int[n]); for (int i=0; i < n; i++) for (int j=0; j < n; j++) T[i][j]=0; T[0][0]=1; //primeira posicao ocupada ok= tenta_mov(2,0,0); // andar mais duas - chama funcao, I=2,x=0,z=0 if (ok) { for (int i=0; i < n; i++) { for (int j=0; j < n; j++) printf("%d ", T[i][j]); printf("\n"); getch(); } } else printf("Faixa valida de 5 a 20!"); delete T; getch(); return 0; }
  12. Olá pessoal, quero validar a saida desse programa mas não estou conseguindo. O tamanho de n não pode ser maior que 20 e nem menor que 5, porém ao informar um número superior a esse o programa executa o código. Quando o valor é menor que 5 a mensagem aparece.Quando é maior que 20 ele continua processando. Obrigado pela atenção. Aí está o código: // CIENCIA DA COMPUTACAO - FUMEC // ESTRUTURA DE DADOS I // MICHEL MARTINS VILELA #include <stdio.h> #include <conio.h> #include <stdlib.h> int n; //tamanho do tabuleiro struct desloc { // Usado para sistemas de pontos,onde há deslocamentos nas direções x e y int dx; int dy; }; // vetor de deslocamentos que define os possíveis // movimentos do cavalo no tabuleiro de xadrez - maximo de 8 posicoes desloc mov_cav[8]={{ 2, 1},{ 1, 2},{-1, 2},{-2, 1}, {-2,-1},{-1,-2},{ 1,-2},{ 2,-1}}; int **T; // tabuleiro int nsq; // número de posiçoes no tabuleiro quando n^2 bool tenta_mov(int i, int x, int y) { int u,v; // posição do próximo movimento bool que; // quando true => movimento com sucesso int k; k=0; do { que=false; u = x+mov_cav[k].dx; v = y+mov_cav[k].dy; k=k+1; // verifica se a posição é válida no tabuleiro // e se a posição ainda não foi visitada if (0 <= u && u < n && 0 <= v && v < n && T[u][v]==0) { //valida se posicoes u/v são menores que tam tabuleiro, se não estao //preenchidas e se o tabuleiro na posicao u/v não esta ocupada T[u][v]=i; // registra a visita if (i < nsq) { // i menor que numero de posicoes tabuleiro // ainda há posições no tabuleiro não visitadas que = tenta_mov(i+1,u,v); if (!que) // movimento sem sucesso T[u][v]=0; // remova o registo de "visita" } else que=true; } } while (!que && k<8); return que; } int main ( int argc, char **argv ) { bool ok; // printf("Tamanho do tabuleiro = "); // scanf("%d", &n); if (argc != 2) exit(-1); printf("\n Utilizacao: %s %s. \n",argv[0],argv[1]); //system("PAUSE"); if (n>20){ printf("Faixa valida de 5 a 20!"); } else n=atoi(argv[1]); nsq = n*n; // Aloca espaço para o tabuleiro T= new(int* [n]); for (int i=0; i < n; i++) T[i]= new(int[n]); for (int i=0; i < n; i++) for (int j=0; j < n; j++) T[i][j]=0; T[0][0]=1; //primeira posicao ocupada ok= tenta_mov(2,0,0); // andar mais duas - chama funcao, I=2,x=0,z=0 if (ok) { for (int i=0; i < n; i++) { for (int j=0; j < n; j++) printf("%d ", T[i][j]); printf("\n"); getch(); } } else printf("Faixa valida de 5 a 20!"); delete T; getch(); return 0; } [/b]
  13. Nando, deu certo cara, valeu demais!! Grande abraço e obrigado mais uma vez! Precisando de algo (que não seja C!! hehehe) estamos aí!! MicheL Vilela
  14. Ok Nando, Deu pra entender o argc e argv, mas veja se pode me dar mais uma luz. Acredito que é nessa parte que tenho que acrescentar o código do argc e argv, porém não sei onde nem como fazê-lo. int main ( int argc, char **argv ) { bool ok; printf("Tamanho do tabuleiro = "); scanf("%d", &n); nsq = n*n; // Aloca espaço para o tabuleiro T= new(int* [n]); for (int i=0; i < n; i++) T= new(int[n]); for (int i=0; i < n; i++) for (int j=0; j < n; j++) T[j]=0;
  15. Olá comunidade, estou com um programa pronto aqui em C mas estou com dúvida. Queria que esse programa, ao ser executado pela linha de comando fizesse como um exemplo que tenho aqui. Digitando o nome do programa no DOS da seguinte forma; C:\PROGRAMA 5 - ONDE 5 é o tamanho da tabuleiro...dou enter ele me retorna o resultado. No meu programa ao digitar isso ele aparece a mensagem: Entre com o tamanho do tabuleiro. Queria omitir essa mensagem como no exemplo. Sei que uso argc e argv, mas onde uso eles no código. Se puder me dar mais essa ajuda. Valeu pela força! Abração!! Código completo: #include <stdio.h> #include <conio.h> int n; //tamanho do tabuleiro struct desloc { // Usado para sistemas de pontos,onde há deslocamentos nas direções x e y int dx; int dy; }; // vetor de deslocamentos que define os possíveis // movimentos do cavalo no tabuleiro de xadrez - maximo de 8 posicoes desloc mov_cav[8 ]={{ 2, 1},{ 1, 2},{-1, 2},{-2, 1}, {-2,-1},{-1,-2},{ 1,-2},{ 2,-1}}; int **T; // tabuleiro int nsq; // número de posiçoes no tabuleiro quando n^2 bool tenta_mov(int i, int x, int y) { int u,v; // posição do próximo movimento bool que; // quando true => movimento com sucesso int k; k=0; do { que=false; u = x+mov_cav[k].dx; v = y+mov_cav[k].dy; k=k+1; // verifica se a posição é válida no tabuleiro // e se a posição ainda não foi visitada if (0 <= u && u < n && 0 <= v && v < n && T[v ]==0) { //valida se posicoes u/v são menores que tam tabuleiro, se não estao //preenchidas e se o tabuleiro na posicao u/v não esta ocupada T[v ]=i; // registra a visita if (i < nsq) { // i menor que numero de posicoes tabuleiro // ainda há posições no tabuleiro não visitadas que = tenta_mov(i+1,u,v); if (!que) // movimento sem sucesso T[v ]=0; // remova o registo de "visita" } else que=true; } } while (!que && k<8); return que; } int main ( int argc, char **argv ) { bool ok; printf("Tamanho do tabuleiro = "); scanf("%d", &n); nsq = n*n; // Aloca espaço para o tabuleiro T= new(int* [n]); for (int i=0; i < n; i++) T= new(int[n]); for (int i=0; i < n; i++) for (int j=0; j < n; j++) T[j]=0; T[0][0]=1; //primeira posicao ocupada ok= tenta_mov(2,0,0); // andar mais duas - chama funcao, I=2,x=0,z=0 if (ok) { for (int i=0; i < n; i++) { for (int j=0; j < n; j++) printf("%d ", T[j]) ; printf("\n") ; getch(); } } else printf("não há solucao!"); getch(); return 0; }
  16. Olá pessoal, estou com o seguinte problema, tenho um arquivo TXT e preciso montar uma matriz com esse arquivo. Será que alguém pode me ajudar?? Obrigado a todos!! O arquivo segue o seguinte padrão: o arquivo correspondente ao exemplo no inıcio deste enunciado e: 6 2 6 1 2 100 1 3 15 2 3 40 2 4 180 2 5 200 3 4 45 3 5 90 4 6 101 5 6 120 -1 -1 -1 O formato do mesmo deve ser o seguinte: Primeira linha: <numero de cidades> <origem> <destino> onde <numero de cidades> indica a quantidade de cidades (nos) do grafo e origem e destino são, respectivamente, os numeros das cidades de origem e destino. • Linhas de conteudo: <cidade1> <cidade2> <distancia> Cada linha de conte´udo indica a distˆancia entre duas cidades (ou seja, traz informacoes sobre um arco do grafo). <cidade1> e <cidade2> são os numeros das cidades envolvidas e <distancia> a distancia entre as mesmas (caso exista uma ligacao entre elas). • Linha final: -1 -1 -1 Valores negativos indicam que as informa¸c˜oes terminaram e a leitura do arquivo pode ser interrompida. O arquivo deve ser lido e seu conteudo utilizado para montar a matriz de distancias e todas as demais estruturas de dados auxiliares que forem necess´arias. Todas elas devem ter alocacao dinamica2 (não utilize vetores ou matrizes estaticas em seu programa).
  17. Olá amigo, o que preciso é o seguinte: Se puder dar uma força: A moda de um vetor de numeros é o numero "m" no vetor que é repetido com maior frequencia. Se mais de um numero for repetido com frequencia maxima igual, não existira uma moda. Escreva uma funcao double moda(double ¤vet, int tam) que receba uma vetor de numeros positivos e retorne a moda ou uma indicacao de que a mesma não existe (por exemplo, o valor -1). Teste a sua funcao com valores aleatorios Obrigado!
  18. Olá pessoal! Estou apanhando pra fazer um programinha famoso, o tal da Moda do Vetor. Alguém tem ele pra me mandar ou me dar uma luz de como devo fazer? Abraço a todos!!
×
×
  • Criar Novo...