Ir para conteúdo
Fórum Script Brasil

Jonathan Queiroz

Membros
  • Total de itens

    3.718
  • Registro em

  • Última visita

Tudo que Jonathan Queiroz postou

  1. Foi mal, é que alterei o código pra ficar mais fácil de testar e removi essa linha. Esse problema é realmente muito estranho. Para ser sincero, acredito que possa ser algum erro do navegador. E isso só ocorre quando a ação executada no onclick do botão chama a função alert. Tentei colocar os dois eventos (clique do botão e movimento do mouse) para mostrar um texto na tela e funcionou perfeitamente. Ao alterar o clique do botão para o alert novamente, o problema voltou.
  2. Ocorre algum erro na compilação ou o erro de lógica? Obs.: Não cheguei a analisar completamente seu código, mas aparentemente está bem repetitivo. Isso poderia ser melhorado organizando-o em arrays e utilizando loops.
  3. Tente compilar o programa e abrir via prompt de comando. Vá em Executar (Winkey + R) e digite cmd. Depois basta navegar até a pasta do programa e digitar o nome do executável. Também é possível pausar via código com a função system (a partir do comando pause). Exemplo: system("pause") Talvez existam formas melhores, mas não sei quase nada de Ruby.
  4. O tópico pode ser marcado com o Resolvido? Quer dizer, você já testou? Uma forma mais fácil de se fazer é diminuir o número de alunos (só pra testes). Se quiser pode colocar de acordo com uma variável.
  5. Diz que a função printf não está declarada? Se possível poste a descrição completa do erro. Edit: Como já concertou o erro, tente trocar: if(nota[i] >= 6.0 && frequencia[i] >= 40) printf("aprovado\n"); else { Por: if(nota[i] >= 6.0 && frequencia[i] >= 40) printf("aprovado\n"); }else { Faltou uma chave ali.
  6. Qual o erro? A porcentagem está sendo calculada com erros? Se for isso, tente assim: (float)reprovado_falta / 40 * 100
  7. Tente declarar a variável global t antes. O seguinte código deve funcionar: var t = null function fnTimeOut() { clearTimeout(t); t = setTimeout(fnAlert, 5000); } Mas o movimento do mouse não tem nenhuma relação com o clique do botão.
  8. Qual erro o IE mostra? De qualquer forma, o melhor a se fazer é criar um campo no formulário para que seu valor seja recuperado ao invés de mudar a URL para incluir o valor via GET (querystring).
  9. Para calcular a maior e menor nota, você pode percorrer todas num loop e deixar uma variável para salvar a menor e a maior. Algo assim: int maior=-1, menor=-1; //coloquei como -1 para indicar que nenhuma nota foi verificada ainda for(int i=0;i<40;i++){ if(notas[i]<menor||menor==-1){ menor=notas[i]; } if(notas[i]>maior){ //não preciso comparar com -1 porque qualquer nota será maior que -1 maior=notas[i]; } } Poste aí se funcionou ou não. Edit: Os if's não estão certos porque há um array com 40 notas (uma por aluno). Você vai ter que percorrer todos os alunos e fazer os cálculos com cada um deles.
  10. Jonathan Queiroz

    Microsoft.XMLHTTP

    Não, você só pode baixar a página inteira. Nesse caso, o melhor a fazer é achar um padrão para limitar as informações recebidas do site. Infelizmente o fato de baixar a página inteira vai deixar o processamento mais lento, mas não há outra opção.
  11. Jonathan Queiroz

    Microsoft.XMLHTTP

    Se a parte que você deseja estiver num frame, você pode trazer somente o conteúdo daquele frame. Do contrário, terá que baixar a página inteira e encontrar uma forma de descobrir os locais onde as informações começam e terminam.
  12. Se não me engano é possível forçar a quebra de página usando CSS (atributos page-break-before e page-break-after).
  13. Tente trocar o Insert Dados por Insert into Dados. Poste aí se funcionou ou não.
  14. O objetivo é mostrar o alerta ao mexer o mouse ou clicar no botão?
  15. Encher o saco não, fórum é pra isso mesmo: ajudar e ser ajudado. Mas qual o erro que está ocorrendo? Erro de compilação ou o programa compila e não roda como o esperado? Se o programa não está rodando como esperado quando se escreve mais de um nome, tente modificar o programa para alocar memória suficiente para todos os nomes de uma só vez (dessa forma, as variáveis serão alocadas de forma linear) e retornar o ponteiro só no final do programa. O código pode ficar mais ou menos assim: int numero; pilha *tElemento; printf("\nQuantos nomes?: "); scanf("%d",&numero); tElemento=((pilha*)malloc(sizeof pilha*numero)); //se desejar, também pode utilizar a função calloc for(numero;numero>0;numero--) { printf("Nome: "); scanf("%s", tElemento[numero] -> nome); } return tElemento; //retorna o elemento Nota: tElement[indice] = *(tElemento + indice) Ponteiros podem ser escrito na forma de arrays e vice-versa.
  16. Uma solução é passar o endereço do ponteiro para a função empilhar e de lá modificar o lugar para o qual o ponteiro aponta (usando ponteiros de ponteiros, meio complexo). Outra solução mais simples (e mais recomendável nesse caso) é fazer com que a função empilhar retorne o endereço que foi alocado. A função main pode ficar mais ou menos assim: pilhar*tElemento; inicializar(tElemento); ... tElemento=empilhar(); E a função empilhar, assim: pilha* empilhar(){ ... tElemento = ((pilha*)malloc(sizeof(pilha))); ... //No fim da função retornamos o novo elemento return tElemento; } Poste aí se funcionou ou não.
  17. Acho que o Durub se referiu a outras estruturas de dados, possivelmente listas encadeadas.
  18. Peço que evite a postagem de tópicos repetidamente, basta postar em uma única área. Obs.: Mantive o tópico na área Demais Bancos por ser uma área mais geral e removi os outros dois.
  19. Quando a função valida_cidade retorna um valor verdadeiro o formulário o action do formulário é modificado e ele é enviado. Não era pra isso acontecer?
  20. Como você falou, nesse caso você vai precisar de AJAX. Se não tiver conhecimento, recomendo olhar os links sobre o assunto no tópico Lista de Cursos para a linguagem JavaScript, mais precisamente esse aqui: Curso Básico de Ajax (tableless.com.br) Você vai precisar de uma página que escreva a lista de cidades vindas do banco para que possa requisitar essa página e obter os dados. O código ficaria mais ou menos assim: function AtualizaLista() { //Cria o objeto XMLHTTP var xmlhttp try { xmlhttp = new XMLHttpRequest() } catch (ee) { try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") } catch (E) { xmlhttp = false; } } } //Verifica se houve sucesso if (!xmlhttp) { return; //O navegador não suporta AJAX } //Cria a requisição xmlhttp.open("GET", "pagina_que_lista_cidades.php", true) xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4) { //retorno var retorno = xmlhttp.responseText var arr = retorno.split("\n") //gera um array separando o retorno por quebras de linha (\n) //gera um array separando o ID da cidade e seu nome var cidades = new Array() for (var i = 0; i < arr.length; i++) { //separa o ID do nome por um hífen (-) var aux = arr[i].indexOf("-") //adiciona uma posição no nosso array de cidades cidades[i] = new Array() //preenchemos com os valores cidades[i]["id"] = arr[i].substr(0, aux) cidades[i]["nome"] = arr[i].substr(aux + 1, arr[i].length) } //pega o combobox que lista as cidades var cboCidades = document.getElementById("id_do_combo") //limpa as cidades do combo cboCidades.innerHTML = "" //percorre as cidades e as inclui no combo for (var i = 0; i < cidades.length; i++) { //cria um novo elemento <option> var novaCidade = document.createElement("option") //atribui valor e texto ao elemento novaCidade.value = cidades[i]["id"] novaCidade.innerHTML = cidades[i]["nome"] //aplica o elemento como um filho do cboCidades cboCidades.appendChild(novaCidade) } } } //Envia a requisição xmlhttp.send(); } Recomendo que não utilize essa função para substituir o código HTML que o PHP imprime na página referente à lista de cidades, e sim que use o código como um complemento para atualizar os dados. Dessa forma, o usuário terá acesso às funcionalidades básicas (utilizar a lista de cidades, sem alterá-la) mesmo utilizando um navegador sem suporte a Javascript ou AJAX. Se desejar, pode também utilizar bibliotecas que facilitem o trabalho com AJAX. Aqui mesmo no Repositório de Scripts você encontra algumas classes (uma delas minha e a outra do Eduardo). Poste aí se funcionou.
  21. Parabéns pelo excelente trabalho, muito merecido mesmo. Boa sorte no novo cargo e, precisando de alguma coisa, é só falar!
  22. Valeu aí, galera! Espero que consiga realizar um bom trabalho.
×
×
  • Criar Novo...