Ir ao conteúdo
  • Cadastre-se

XenoStory

Membro Pleno
  • Posts

    37
  • Cadastrado em

  • Última visita

Tudo que XenoStory postou

  1. Boa tarde, @ZaaptBR Como os colegas acima comentaram, não é possível realizar esse tipo de funcionalidade apenas com o uso do HTML. Mas, como você comentou que está ok em usar PHP, por exemplo, acredito que não seja muito difícil... Segue uma ideia do que você pode fazer para construir esse tipo de aplicação: Quando o usuário clicasse no botão para solicitar a validação das respostas, você poderia enviar uma requisição para o backend (onde o seu PHP entrará). Como, pelo que comentou, você deseja fazer a validação das respostas, de forma assíncrona (mais detalhes sobre o conceito: aqui), utilize o ajax (mais detalhes sobre o conceito: aqui), para permitir que as validações sejam feitas sem a necessidade de que a página seja atualizada ou redirecionada. Para enviar as respostas para o server-side, você poderia criar um array com todas as respostas (pegando os valores dos selects utilizando o JS/jQuery), depois serializar o array e enviar para o servidor através do ajax. Do lado do servidor, as validações seriam feitas conforme sua necessidade. Com as validações feitas, você poderia criar um padrão de retorno, que mostrasse os dados necessários (quantidade de acertos/erros, flag aprovado ou não etc). Para esse tipo de resolução, você teria que ter conhecimento em JavaScript, PHP e HTML. Você já possui esse tipo de conhecimento ou precisa de ajuda com os conceitos também? Qualquer coisa, é só falar. Bons estudos.
  2. Bom dia, @Vinícius Nóbrega Conforme o diagrama, é de responsabilidade das classes filhas (Teórica e Prática) implementar o método de cálculo de média, onde cada classe filha possui uma implementação diferente desse método. Você deve declarar esse método, na classe pai de forma abstrata, e implementar nas classes filhas. Já estudou esses conceitos? Se não, dá uma lida nesse link aqui. A ideia é de cada classe filha implementar o método calcularMedia() da sua forma, conforme o diagrama. Qualquer dúvida, é só falar.
  3. @giu_d , me parece correta a estruturação da classe, só o @Vinícius Nóbrega seguir a mesma ideia para as outras classes e tudo deve funcionar conforme o diagrama. Só um adendo, se caso um dia precisar trabalhar com uma lista de objetos, onde não seja obrigatório o uso de vetor/matriz, aconselho o uso do List, que comentei anteriormente, pois com ele não é necessário alocar o tamanho da memória que será dedicado àquele vetor, diferente do array. Em outras palavras, você não precisa colocar uma constante ou valor fixo para o array, pois ele é dimensionado de forma dinâmica, tornando-se muito mais prático, evitando o problema de atingir o limite de memória do array. Qualquer dúvida, é só falar. Bons estudos.
  4. Boa noite, @Vinícius Nóbrega Você pode tratar como listas, você já estudou a respeito? Basicamente, a ideia é criar uma lista onde você irá inserir uma quantidade X de objetos, onde esta lista seria atributos das classes que possuem vetores. A sintaxe, pelo que me lembre, é essa aqui: List<Objeto> lista = new ArrayList<Objeto>(); Onde Objeto, seria a classe que você gostaria de armazenar em formato de lista (Aluno por exemplo). Para adicionar novos objetos nessa lista, você usa o método add, conforme exemplo abaixo: Aluno a = new Aluno(); lista.add(a); Aconselho você dar uma estudada com mais calma a respeito, pois é um conceito importante. Tente dar uma olhada nesse vídeo aqui, pode lhe ser útil. Se as dúvidas continuarem, é só postar. Bons estudos.
  5. Boa tarde, @edineudo castro Quais suas dificuldades exatamente? O que já tem feito? Posta aí, pra podermos te ajudar. Abraços.
  6. Bom dia, @Glouk Sim, é possível. Até onde eu sei, é possível realizar esse tipo de alteração sem envio de um submit através do uso de Ajax, você tem conhecimento em tal? A ideia é, de forma resumida, enviar uma requisição para o backend sem a necessidade de recarregar a página. O próprio jQuery pode te ajudar nesse tipo de requisição, segue um exemplo de requisição, utilizando o jQuery: var loginData = parent.find('input'); $.post('/user/home/', loginData, function(returnData) { if(!returnData.status) { parent.find('button').next().html(returnData['msg']); parent.find('button').next().addClass('error'); parent.find('button').next().show(); } else { $(location).attr('href', returnData.redirect_url+'?login=yes'); } }); No exemplo acima, estou pegando todos os inputs de uma determinada div e enviando para o backend na url /user/home/, através da variável loginData, onde o retorno dos dados no backend será atribuído à variável returnData. Se tiver alguma dúvida, consulta a documentação aqui. No seu caso, a ideia é realizar uma requisição ao backend, quando o valor do select for alterado, pelo qu entendi. Deixo o resto com você. Se mesmo assim não conseguir, é só postar aí. Valeu.
  7. Boa tarde, @Iking1 O erro está sendo causado, pois você deve completar com parenteses as expressões que estão validadas com o e, ficando assim: se (n1 >= 2) e (n2 <= 4) entao // Resto da lógica fimse De resto, me parece funcional. Porém, podemos melhorar o algoritmo utilizando o se/senao, onde evitaria validações desnecessárias, no seu caso. Supondo que a média digitada seja >= 9, não seria necessário executar todos os outros se, pois já encontramos qual o conceito em que a média se encaixa, portanto, seria interessante utilizar o senao com um se, onde os outros se seriam executados apenas se as condições dos anteriores não forem atingidas. A ideia é mais ou menos essa: se num >= 9.0 entao escreval("Conceito A", nome, " aprovado!") senao se (num >= 7.5) e (num < 9.0) entao escreval("Conceito B", nome, " aprovado!") fimse Da forma que você está fazendo, mesmo que uma das condições do se seja atingida, ele irá verificar todos os outros se de forma desnecessária. Com o exemplo acima, evitaríamos essas validações desnecessárias. Se tiver alguma dúvida em relação ao se, dá uma olhadinha nesse link aqui. Caso as dúvidas persistirem, é só postar. Bons estudos.
  8. Boa noite, @IceCube.sp Faz um bom tempo que não mexo com VisualG, mas pelo que olhei na documentação, a estrutura do seu ESCOLHA-CASO está inválida, onde o correto seria inicializar a validação de qual tipo de operação está sendo realizado, com o comando ESCOLHA, onde este diria qual é a variável em questão sendo validado nos CASOS, conforme exemplo abaixo: escolha(variavel) caso 1 escreval("Primeira opção...") caso 2 escreval("Segunda opção...") outrocaso escreval("Nenhum das opções cadastradas") fimescolha Note que o seu algoritmo irá realizar as duas primeiras comparação (caso 1 e caso 2), se a validação não coincidir com nenhuma das duas opções, será executado o outro caso. Mesmo assim, testei o seu código com sua atual comparação de strings (somar, substrair e multiplicar) e ele não as reconhece, por alguma razão. Como não tenho muito mais contato com a ferramenta, espero que alguém possa explicar a razão, pois eu realmente não sei. Uma solução, temporária, é alterar os valores recebidos na variável problema, pelos seus operadores (+, -, *). Testei dessa forma e funcionou aqui. Qualquer dúvida, é só falar. Bons estudos.
  9. Boa tarde, Nunca usei também o VS Code para desenvolvimento Java, porém acredito que esse erro esteja sendo causado porque você não configurou as variáveis do sistema para suportar o Java via command line. Não sei se já configurou o JAVA_HOME no seu Windows, se não dá uma olhada aqui, depois da figura 9. Depois de realizar o processo, tenta executar o mesmo processo que você está fazendo pelo console do VS Code (javac ...) pelo terminal do próprio Windows e vê se funciona. Se funcionar pelo Windows, deve funcionar pelo VS Code também. Qualquer coisa, posta aí.
  10. @Rafael V.F boa, a minha ideia era essa mesma. O que você pode fazer pra não precisar declarar essa variável z, é utilizar o resultado da expressão contida nele direto no if (talvez você tenha tentado fazer isso antes). Ficando assim: if(x%n == 0) divCount++; De resto, me parece tudo certo. Qualquer coisa, posta aí.
  11. Boa tarde, @Rafael V.F Sua lógica me parece um pouco errada, seguindo essa ideia de usar apenas um laço, pois no início do laço de repetição os valores inicias não serão divisíveis pelos números mais altos (pensando em números primos), então você deveria dividir pelos números menores ou iguais ao número em questão sendo consultado (seguindo a ordem do contador do laço de repetição). Pensei em uma solução, neste caso, utilizando dois laços de repetição, um deles responsáveis por percorrer os números de 2 até 10 e outro responsável por percorrer os valores dos números menores ou iguais aos valores do primeiro laço de repetição, dessa forma você dividiria apenas pelos valores menores ou iguais ao número sendo verificado. A ideia é mais ou menos a seguinte: int x; // Valor inicial da consulta do seu laço de repetição int num = 10; // Quantidade dos números que você deseja verificar se são primos ou não int divCount; for(x=2;x<=num;x++) { // Laço responsável por percorrer cada número no range que você determinou na variável num divCount = 0; // Reseta a quantidade de divisões a cada novo número sendo verificado for(int n=1;n<=x;n++) { // Laço responsável por percorrer os números entre 1 e o valor de x // Lógica para verificar se o número é primo ou não } } Basicamente a lógica para verificar seria quase a mesma que você estava realizando, porém ao invés de dividir por todos os números de forma fixa, você divide pelo valor de n, que é a variável que responsável por ser o divisor de x. Toda vez que um um número tiver o resultado da sua divisão igual a zero, isto é, n for == 0, use a variável divCount para saber quantos divisores aquele número (variável x) possui. Deixo o resto da lógica com você, qualquer dúvida é só postar aí. Bons estudos.
  12. Bom dia, @RaquelAmaral Você está no caminho, porém tem algumas coisas para serem ajustadas. A primeira dica seria não utilizar acentos ou caracteres especiais em nome de variáveis. O próximo passo, para o programa ficar mais "user friendly", seria colocar o comando ESCREVAL antes de receber o valor da variável em LEIA, para que o usuário entenda o que está sendo requisitado. O cálculo para calcular o salário me parece correto, o único problema é que você fez uma pequena confusão em relação ao Novo_Salario, onde você está executando o comando LEIA de forma desnecessária, onde vai acabar recebendo um segundo valor de salário que não será necessário. Portanto, você só precisa receber uma vez o salário, feito aqui: Salário <- Salário + (salário *0.10) e depois mostrar esse valor na tela. Não me lembro bem, pois faz muito tempo que não mexo com portugol, mas acho que o correto para mostrar o valor da variável seria: ESCREVAL("Valor total do novo salário: ", Salario) Na linha de comando acima, você está escrevendo um texto e concatenado o valor da sua variável com o texto, o resultado final seria (supondo que o salário informado foi 10): Valor total do novo salário: 11 Se tiver mais alguma dúvida, é só postar aí.
  13. Boa noite, Bom, pelo que dei uma olhada, sua lógica está estruturada em dois arquivos: um deles é responsável por receber os dados via input do usuário e gerar a requisição post, o outro por receber e tratar esses dados, é isso mesmo? Se sim e se sua lógica estiver estruturada na mesma ordem que você colocou lá, o arquivo/imagem estão sendo gerados antes mesmo de você validar os arquivos. O que você precisaria fazer nesse caso, é fazer toda aquela validação dos inputs antes da sua lógica de gerar .txt/imagem. Minha dica, nesse caso, seria você criar um array que teria como função armazenar os erros encontrados, com um índice de status, talvez. Então, ao invés de atribuir os erros à variáveis únicas, você atribuiria ao array de erros e no final, verificaria se o seu array de erros não possuir erros, ele executa a lógica de gerar o arquivo/imagem. Como vi que você está utilizando as variáveis únicas de cada tipo de erro para mostrar o erro no frontend, talvez seja interessante você criar índices para cada tipo de erro e no final só verificaria no frontend se o índice daquele tipo de erro possui erros ou não. Outra dica, para otimizar um pouco seu código, seria você criar um método que realiza as validações de se os dados estão vazios, para evitar repetição de código e realizaria as validações únicas de cada input (como e-mail, por exemplo) de forma isolada ou no próprio método também. Faz sentido isso que falei ou acabei viajando? Qualquer coisa, posta aí. Valeu! Edit: Olhei com mais calma e agora vi que é tudo em um arquivo só e você manda a requisição pra mesma página, mas as alterações devem ser as mesmas ainda.
  14. Bom dia, Pelo que me lembre, o file_put_contents não aceita array como parâmetro de conteúdo, nesse caso, talvez seja interessante você serializar os dados do $_POST e quando você consultar os dados novamente, poderia deserializar o conteúdo do arquivo. Acha que faz sentido? Você pode também criar alguma lógica que transforma cada índice do seu array em uma string e ir concatenando um por um. Se tiver alguma dúvida sobre os métodos de serialização, dá uma olhada na documentação: Serialize: http://php.net/manual/pt_BR/function.serialize.php Unserialize: http://php.net/manual/pt_BR/function.unserialize.php Valeu.
  15. Boa noite, Não tenho muita experiência com linguagem C, mas acredito que o erro causado esteja sendo o famoso division by zero, onde não é possível dividir um valor por zero, o que ocasiona um erro. Acredito que você já tenha conhecimento disso e exatamente por causa disso, queira tratar esse tipo de input. A sua lógica está correta, pelo que vi, em questão de tratar os números recebidos, o único problema é a ordem que você desenvolveu o algoritmo. Note que você está realizando a divisão e atribuindo seu valor na variável resultado, antes mesmo de realizar a validação dos dados, então seguindo essa lógica, é normal que o seu programa não funcione. Portanto, a solução seria realizar essa divisão apenas após validar os números, atribuindo o valor da divisão à variável no else. Acredito que a mesma coisa deva ser feito com a variável contador, para contabilizar apenas os inputs que realmente foram calculados, conforme suas regras. Outra coisa, o operador que você realiza a comparação dos números válidos, me parece inválido, você está usando >-. Não sei se existe algo na linguagem, pois dei uma breve pesquisada e não encontrei nada a respeito, então seria legal validar isso também. Se me permite uma última dica, lembre-se sempre de identar o seu código, fica muito mais legível e bem estruturado. Por último, lembre-se de colocar o seu código com o elemento de inserir código aqui do próprio fórum, ao invés de uma imagem, é muito mais fácil para o pessoal analisar e te dar uma força. Qualquer coisa, só postar.
  16. Boa tarde, Acredito que esse problema esteja acontecendo, pois nenhum dado está sendo retornado na sua query, portanto, ele está retornando um valor booleano (false) e o método rowCount() não consegue tratar esse tipo de dado. Verifique se a query retorna normalmente, quando executada diretamente na base de dados. Qualquer dúvida, segue documentação para consulta: PDO::Query: http://php.net/manual/pt_BR/pdo.query.php PDO::RowCount: http://php.net/manual/pt_BR/pdostatement.rowcount.php Qualquer coisa, comenta aí. Valeu.
  17. Boa tarde, @fredkissfree Acredito que não seja necessário utilizar duas máscaras mesmo, pelo que olhei no site do plugin, a máscara "São Paulo Celphones" já atende suas necessidades, pois padroniza corretamente ambos os casos (celulares ou telefones comuns), então acho que é tranquilo utilizar apenas essa máscara. Abraços.
  18. Boa tarde, @JrPaulino Acredito que pras suas necessidades, devido sua falta de experiência, talvez seja interessante iniciar utilizando o MySQL/PHP mesmo, a curva de aprendizado do PHP é muito alta, então acredito que possa ser o ideal pra você. Além disso, você pode utilizar alguns frameworks que podem agilizar seu processo de desenvolvimento (porém eu indicaria você aprender a desenvolver com o PHP puro inicialmente). Basicamente, você utilizaria o HTML/CSS para desenvolver toda a estrutura do frontend e utilizaria o PHP para gerenciar a lógica do backend. Qualquer dúvida, é só falar. Abraços.
  19. Boa tarde, @Larissa Tauane Pelo que entendi, você gostaria que ao clicar em entrar, a janela que está aberta fechasse, é isso mesmo? Se sim, você pode utilizar o próprio jQuery para realizar essas ações, você tem conhecimento em JS/jQuery? Basicamente, a ideia seria, ao clicar nesse botão, chamaria uma função que fecharia essa janela. Você sabe me dizer se essa janela, foi feita com o modal do bootstrap? Se sim, você pode utilizar o próprio modal hide para fechar a janela. Um exemplo de código, seria: $( ".id_do_botao" ).on( "click", function() { // Método executado quando o botão de class id_do_botao for pressionado $('.id_do_modal').modal('hide'); // Esconde o modal de classe id_do_modal (funciona com o modal do bootstrap) }); Porém me sobra uma dúvida, o que exatamente você faz com esse valor que o usuário seleciona no select? Tem que atualizar algum valor no frontend? Porque aí precisaríamos executar algumas outras mudanças no frontend. No aguardo.
  20. Boa tarde, @suelen22 Você poderia, por favor, nos informar o progresso que já fez desenvolvendo o exercício? É contra as regras do fórum realizar o desenvolvimento de exercícios por completo e até melhor pra você também. Quais são suas dúvidas exatamente? Esse exercício, acredito que seja bem simples de desenvolver, você só precisaria receber o valor do salário e armazenar uma variável, multiplicar o valor informado por 0.10, somar com o valor original e mostrar na tela o resultado. Em etapas então, para ficar mais fácil para você desenvolver: 1. Receber o valor numérico do usuário (comando ESCREVAL) 2. Salvar o valor recebido em uma variável (comando LEIA) 3. Realizar a multiplicação (variável <- variável + (variável * 0.10)) 4. Exibir o resultado da multiplicação (comando ESCREVAL novamente) Qualquer dúvida é só postar que tentaremos te dar o suporte necessário. Abraços.
  21. Boa tarde, @Glouk Acredito que essa questão de aparecer o menu para usuários com valor igual a 2, talvez você possa guardar esse valor do tipo de conta do usuário na sessão, assim que o usuário realizar o login e realizar essa validação no frontend, se exibe ou não o menu para aquele usuário específico que realizou o login? Algo como: No backend, salvar o valor do tipo de conta na sessão junto aos outros dados: $_SESSION['status'] = $usuario->status; No frontend, verificar qual o tipo de status do usuário e exibir o menu, para aquele usuário específico se estiver nas condições if($_SESSION['status'] == 2) { // Estrutura do seu menu } Acha que essa solução faz sentido para sua necessidade? Se não era bem isso que queria, só avisar que tentamos alinhar melhor e trazer uma possível solução para você. Edit: Outra coisa, estava analisando o seu código e possui alguns códigos que meio que se repetem em ambas as condições nesse switch, então acho que seria legal você validar isso de uma vez pra evitar repetição de código, é uma boa prática. O que eu faria se fosse você, com seu atual código, seria deixar apenas o case 0, pois é quando o usuário deve ser tratado de uma forma diferente das outras duas e utilizaria um default para realizar a lógica repetida para usuários ativos. Como é um dado que é você quem tratará no backend (o valor do status), acho que é tranquilo realizar a validação da forma que comentei. Acha que faz sentido? Abraços.
  22. Boa noite, @Lucas Da Silva Aleixo Em relação a sua pergunta, sim, é possível utilizar o comando REPITA quantas vezes forem necessárias no seu algoritmo. Porém, achei um pouco confusa a sua pergunta, você quis dizer utilizar duas vezes o comando de forma encadeada (isto é, um dentro do outro) ou simplesmente dois comandos em posições diferentes no seu algoritmo? Como não entendi exatamente o que você quer, vou responder de forma a utilizar o comando de forma encadeada, pois da outra opção que comentei, é só utilizar o comando normalmente. Basicamente, é possível você realizar a execução de laços de repetição, neste caso o repita, de forma encadeada, isto é, terá um laço de repetição dentro do outro, onde o primeiro laço ficará "pausado" até que o segundo laço atinja sua condição de finalização. Quando o segundo laço for finalizado, o primeiro laço será executado novamente e o segundo laço consequentemente também, pois essa é a ideia da estrutura. Por exemplo: REPITA // Lógica do primeiro laço REPITA // Lógica do segundo laço ATE condicao_laco_2 ATE condicao_laco_1 Então, supondo que o primeiro laço será executado até o valor de uma variável auxiliar atingir o valor inteiro 5, supondo que a cada ciclo seja acrescido mais 1 nessa variável auxiliar, o laço de repetição encadeado (isto é, o segundo laço de repetição) será executado no mínimo 5 vezes, junto com o primeiro laço, independente da sua condição de finalização, pois todas as vezes que o primeiro laço de repetição for acionado, o segundo também será. Talvez tenha ficado um pouco confusa a explicação, mas poste o exemplo prático do que exatamente você está tentando fazer pra tentarmos te direcionar melhor. Se não era exatamente essa sua dúvida, posta aí também que tentamos ajustar as coisas! No aguardo.
  23. Opa, boa tarde cisneiro Fico feliz que esteja iniciando sua vida no mundo de desenvolvimento. Acredito que o problema no seu caso, está na forma em você estruturou o código mesmo. As divs, devem seguir a seguinte estrutura de criação: <div id="nome"> <p>Conteúdo</p> </div> Note que no seu código, você está usando : para declarar a criação de duas das divas, conforme abaixo: <div id:"content"> <!-- Toda sua estrutura --> </div> Conforme expliquei, o certo seria então: <div id="content"> <!-- Sua estrutura --> </div> Em HTML, todos os atributos de uma tag serão tratados da mesma forma, utilizando um = para definir o valor daquele atributo. Espero que isso funcione! Qualquer coisa dúvida, é só postar que tentamos te ajudar. Abraços!
  24. Boa tarde, kadafimatatu Pelo que andei lendo do tópico, perguntas e respostas, acredito para sua última dúvida, em relação às turmas, consigo pensar em uma solução utilizando uma matriz. Você conhece esse conceito? Onde cada linha da matriz, com suas respectivas colunas, representariam uma turma. Para que não haja divergências no tamanho das colunas, pois uma turma pode ter mais alunos que outra turma, sugiro que você armazene nesse array apenas os valores que serão comuns, no caso a soma da turma e a média final (seguindo o padrão de lógica do seu código). Basicamente você validaria as notas uma por uma, porém só armazenaria no array os valores que são comuns para todas as turmas, a média final e soma da turma. Acredito que não alteraria muito a sua lógica, só seria necessário utilizar um laço de repetição para validar a quantidade de alunos por turma e somar os valores nos índices correto. Qualquer dúvida, só comentar aí que tentamos te dar uma luz. Abraços e bons estudo!
  25. Boa tarde, Kiwsty Sim, é possível, porém seria necessário utilizar uma linguagem server-side e um banco de dados. O banco de dados seria para armazenar o valor deste campo (se foi marcado ou não), então quando sua página fosse carregada pelo usuário, a linguagem server-side (como PHP, por exemplo) realizaria a requisição dessa informação para o banco de dados, passando essa informação para a sua a View (página em que o raddio button está), fazendo com que ele fique marcado ou desmarcado. Basicamente, a ideia é essa. Você conhece os conceitos citados? Ficou alguma dúvida? Comenta aí que vamos te dando o suporte! Abraços e bons estudos.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!