Respostas no Fórum
-
AutorPosts
-
Tutora MaylaMestre
João, o seu código está quase todo certo, parabéns!
O único problema aqui é que a seguinte atribuiçãomaiori = idade[0]
se encontra dentro do laço, dessa forma a cada iteração seu valor vai ser reescrito paraidade[0]
perdendo assim a informação que tinha sido conseguida. O erro aparece ao inserir a pessoa de maior idade no meio, caso seja a primeira ou a ultima funciona, mas caso seja alguma do meio não sairá com a resposta correta.
Para solucionar isto basta colocar tal atribuição para antes dopara
.
Quanto ao código estar diferente do do professor, há várias formas de solucionar o problema, a sua forma está correta também, após esse pequeno acerto.
Parabéns e bons estudos, quaisquer dúvidas basta entrar em contato.Tutora MaylaMestreWesley, poderia por favor nos um mandar print do problema?
Tutora MaylaMestreJoão, para que o resultado de uma operação seja do tipo
real
, é necessário utilizar uma variável do tiporeal
e que ao menos um dos valores na conta seja do tiporeal
.
No seu caso a variávelmedia
está comointeiro
, então não suporta um valor real. Coloquemedia
do tiporeal
e procure sobre a funçãointeiro_para_real()
aqui no fórum e veja alguns comentários sobre este problema.
Espero ter ajudado, quaisquer outras dúvidas estamos a disposição.Tutora MaylaMestreGuilherme, imagino que deseja arredondar a resposta da conta
(preco-(preco*5/100))
para isto é necessário utilizar a função de arredondamento no resultado dela, por exemplo:resultado = (preco-(preco*5/100)) escreva(“Com 5% de desconto, o produto sai por R$ ” + mat.arredondar(resultado, 2))
ou então:
escreva(“Com 5% de desconto, o produto sai por R$ ” + mat.arredondar((preco-(preco*5/100)), 2))
Da forma que está sendo feito no seu código, o que está sendo arredondando é
preco
porém ao realizar a divisão o resultado da divisão não terá a quantidade de casas decimais arredondado.
Em alguns casos pode ser necessário arredondar antes da conta, neste caso não é necessário. É necessário apenas que se arredonde o resultado que irá aparecer na tela, como no exemplo que dei.
Espero ter ajudado, caso a dúvida persista por favor entre em contato novamente.Tutora MaylaMestreJoseph, o seu código está correto, a única coisa que percebi é que no HTML em
<input type="button" value="Verificar" onclick="Verificar">
está faltando os parênteses para chamar a funçãoVerificar
, sendo o correto<input type="button" value="Verificar" onclick="Verificar()">
. Modificando isto o funcionamento do exercício deve seguir conforme o esperado.Caso persista algum erro teste em outros navegadores e nos informe o resultado.
Espero ter ajudado, quaisquer dúvidas estamos à disposição.
Tutora MaylaMestreMatheus, parabéns pelo seu código, fico feliz que tenha tido a iniciativa de utilizar uma biblioteca pois no dia a dia da computação as bibliotecas nos ajudam muito!
Porém aqui como estamos em um contexto educacional a ideia do exercício é exercitar a utilização de condições aninhadas, o que o seu código não faz.
Tente refazer o exercício, utilizando as dicas que dei anteriormente sobre essa questão, e utilizando condições aninhadas!
Depois poste aqui para compartilhar com a comunidade qual foi o seu resultado!
Bons estudos, quaisquer dúvidas estamos a disposição.Tutora MaylaMestreGuilherme, para realizar uma divisão real é necessário que um dos elementos seja do tipo real. No seu código ambos estão do tipo inteiro. Para converter um dos dois é possível utilizar a função
inteiro_para_real(num)
da biblioteca Tipos por exemplo:
inclua biblioteca Tipos --> t
–para incluir a biblioteca Tipos
t.inteiro_para_real(n1)/n2
–para realizar a conversão
Espero ter ajudado, caso a dúvida continue basta entrar em contato novamente que lhe ajudaremos.Tutora MaylaMestreGabriel, neste exercício está sendo trabalhado o uso de variáveis. Neste caso está sendo lido o nome e depois escrito na tela.
O comando
escreva (“qual é o seu nome?/n”)
serve para que apareça a pergunta “qual o seu nome?” na tela dando uma noção ao usuário de o que deve digitar em seguida. Note que o “\n” serve para que a próxima coisa que for aparecer na tela, apareça na linha abaixo. Caso não utilizado o próximo texto seria ao lado.
Após esse comando deve ser feita a leitura da variável, com o comandoleia(nome)
, este comando fará com que o programa fique esperando uma entrada de texto, após inserido o nome o programa irá continuar.
Depois de ter lido o nome, a ideia é apresenta-lo na tela, para isto iremos fazer:escreva ("olá " + nome+ " tudo bem? é um grande prazer te conhecer")
e assim irá aparecer escrito o nome que foi digitado dentro da mensagem.Logo o código ficou:
escreva (“qual é o seu nome?/n”) leia(nome) escreva ("olá " + nome+ " tudo bem? é um grande prazer te conhecer")
Espero ter ajudado, caso a dúvida persista volte a entrar em contato que lhe ajudaremos.
Tutora MaylaMestreVitor, as atribuições de valores às variáveis devem ser feitos fora do
escreva
para que funcionem corretamente. Tente atribuir os valores antes doescreva
e depois fazerescreva("a: ", a," b: ", b, " c: ", c)
.Espero ter ajudado, quaisquer outras dúvidas basta entrar em contato
Tutora MaylaMestreJoseph, poderia por favor enviar o seu código completo para podermos lhe ajudar da melhor forma.
Tutora MaylaMestreJoseph, tem alguma extensão habilitada no seu navegador? Tente desabilitar todas as extensões e nos diga se o erro persiste.
Espero ter ajudado, quaisquer dúvidas estamos à disposição.
Tutora MaylaMestreArthur, tem alguma dúvida no exercício? Como podemos te ajudar?
Quaisquer dúvidas estamos à disposição.
Tutora MaylaMestreVinicius, movi o seu tópico para um tópico já existente sobre o assunto. Sempre antes de criar um novo tópico é bom verificar se já existe um tópico sobre o assunto no fórum.
Parabéns por ter concluído o exercício! O seu código está bom e correto pois tem a saída desejada, mas verifique neste tópico e nesse Duvida enorme sobre ex. 25 algumas respostas minhas e do Icaro sobre essa questão que podem lhe ajudar a continuar evoluindo e construir um código melhor.
Quaisquer dúvidas basta entrar em contato que lhe ajudaremos.Tutora MaylaMestreVinicius, movi o seu tópico para um tópico já existente sobre o assunto. Sempre antes de criar um novo tópico é bom verificar se já existe um tópico sobre o assunto no fórum.
Parabéns por ter concluído o exercício! O seu código está bom e correto pois tem a saída desejada, mas verifique neste tópico e nesse Duvida enorme sobre ex. 25 algumas respostas minhas e do Icaro sobre essa questão que podem lhe ajudar a continuar evoluindo e construir um código melhor.
Quaisquer dúvidas basta entrar em contato que lhe ajudaremos.Tutora MaylaMestreArthur, parabéns! Seu código está correto pois tem a saída desejada, só fique atento as variáveis
maior
emenor
pois elas não estão sendo utilizadas após a sua atribuição.Quaisquer outras dúvidas estamos a disposição. Bons estudos!
Tutora MaylaMestreAndre, o
fgets
quando lê uma string que seja menor que o tamanho informado, deixa um caracter'\n'
ao final dessa string, fazendo com que quando escrevemos essa string com umprintf
tenha essa quebra de linha. Este comportamento não ocorre com a funçãogets
porém esta função sofre com alguns problemas de segurança.
É possível continuar utilizando afgets
e resolver este problema, mas para isso precisamos saber em qual posição da cadeia se encontra este caracter'\n'
e substituí-lo pelo marcador de fim de string'\0'
. Uma forma é utilizando a funçãostrcspn
da bibliotecastring.h
que encontra a primeira ocorrência de um caracter dentro de uma cadeia, conforme o exemplo a seguir:printf("Qual seu nome? "); fgets(nome, 30, stdin); int quebra = strcspn(nome, "\n"); nome[quebra] = '\0'; printf("Prazer em conhecê-lo %s seja bem vindo!", nome);
Para utilizar esta função é necessário incluir a biblioteca
string.h
.Espero ter ajudado, caso a dúvida persista basta entrar em contato.
Tutora MaylaMestreCedrick, obrigada por compartilhar a solução com o colega Gabryel.
Há mais sobre este assunto no tópico Módulo 1 – Exercício 12.Bons estudos!
Tutora MaylaMestreVitória, movi o seu tópico para o fórum referente a Linguagem C.
Ao ler o peso está sendo feitoscanf(“%0.f”, &peso);
. Isto pode causar erros de execução, troque o%0.f
por apenas%f
e a leitura do valor será realizada corretamente. Para que o valor apareça formatado na tela, esta formatação deve ser realizada noprintf
.Espero ter ajudado, quaisquer dúvidas estamos à disposição.
Tutora MaylaMestreVitória, movi o seu tópico para o fórum referente a Linguagem C e o adicionei a um tópico já existente sobre o assunto. Antes de postar fique atenta se já existe um tópico sobre o assunto.
Para resolver o seu problema, adicione o & nosscanf
ao ler as notas, ficando por exemploscanf("%f", ¬a);
Espero ter ajudado, quaisquer dúvidas estamos à disposição.
Tutora MaylaMestreAmauri, que bom que conseguiu encontrar o seu problema! Compartilhe conosco aqui no fórum qual era e como conseguiu resolver seu problema. Assim ajudará a outros que tiverem o mesmo problema que o seu.
Quaisquer dúvidas basta entrar em contato.
Tutora MaylaMestreMário, seu código está correto e funcional! Porém o programa não pausa antes de terminar, portanto ocorre isto de ele fechar rapidamente após inserir a operação. Para sanar isto tente adicionar um
getchar()
ao final do código, antes de fechar a funçãomain
. Isto fará com que o programa pare esperando o usuário pressionar ENTER para então fechar.Espero ter ajudado, quaisquer dúvidas estamos à disposição.
Tutora MaylaMestreAmauri, o warning significa que a função
cripto
não tem retorno, logo a variável$txt
não recebe valor nenhum(void). Tente modificar o código da funçãocripto
para que retornar a senha criptografada.
Caso o erro persista volte a entrar em contato que lhe ajudaremos.
Quaisquer outras dúvidas estamos a disposição.Tutora MaylaMestreRômulo, que bom que conseguiu resolver seu problema e que contribuiu com a comunidade colocando a solução aqui!
Quaisquer outras dúvidas estamos a disposição.Tutora MaylaMestreArthur, o correto nesse caso, para inverter a lógica seria por
(r!=N e r!=n)
. Nos casos onde a resposta for sim, significa que a resposta não será não. Ou seja : (S ou s) = (não N e não n).
Se quiser entender um pouco mais do porque ao inverter vira e procure sobre a lei de equivalência lógica de De Morgan, pois aqui ela é aplicada.
Espero ter ajudado, bons estudos!
Quaisquer dúvidas estamos a disposição.Tutora MaylaMestreFelippe, tente uma solução usando a função
str_replace
do próprio PHP para realizar a troca de vírgulas por pontos e vice-versa antes de enviar para o banco de dados e veja se assim o valor é salvo corretamente.Espero ter ajudado, quaisquer dúvidas basta entrar em contato.
Tutora MaylaMestreJosé, o AndroidStudio permite a visualização do layout apenas para os códigos XML, que definem a estrutura da tela. Procure por um arquivo dentro da pasta
res/layout
e veja se este aparece a opção de visualizar o layout deste arquivo.Espero ter ajudado, caso o problema persista volte a entrar em contato, se possível nos envie um print da tela do seu AndroidStudio.
Tutora MaylaMestreJoão, mesclei o seu tópico com um já existente sobre o assunto, antes de criar um tópico sempre procure se já existe um tópico sobre o assunto.
Vamos fazer um passo a passo sobre o seu código:- Ao fazer
sort = u.sorteia(1,10)
está sendo sorteado um novo número a cada iteração do laço, sendo que o objetivo do exercício é que seja gerado um número uma única vez ao início do programa. Tente levar esta linha para fora do laço para resolver este problema. - Após a leitura do chute do usuário, é feita uma verificação se o
contador == 3
. Esta verificação faz com que o programa saia do laço na terceira tentativa, porém antes de realizar o teste se o chute do usuário está correto. Pense em uma maneira de modificar o código de forma a garantir que todos os 3 chutes do usuário sejam verificados antes de sair do laço. - Quando o usuário acerta o chute, é feito um
escreva("\nACERTOU em 1 tentativa!")
, mas seguindo a ideia do exercício de ser gerado apenas um número no início do programa e o usuário ter 3 tentativas para adivinhar o número, este escreva deveria apresentar ao usuário o valor decontador
, e não apenas o valor1
Reforço que seu código está bom, tente apenas acertar estes pontos que mencionei acima e veja se está de acordo com a proposta do exercício. Tente usar o painel de inspecionar do Portugol Studio para auxiliar nos testes do seu código.
Espero ter ajudado, quaisquer dúvidas basta entrar em contato
Tutora MaylaMestreJoão, que bom que os passos que o Bruno compartilhou te ajudaram a resolver o seu problema!
Se houverem quaisquer dúvidas basta entrar em contato que lhe ajudaremos.Tutora MaylaMestreEurico e Ana, é possível que a hash salva no banco de dados tenha sido gerada sem a aplicação da função de criptografar, isto é, a hash salva no banco é referente à palavra “admin” e, ao aplicarmos a função de criptografia estaremos testando a hash de “benjo”. Isto irá falhar pois as hashes destas duas palavras não são compatíveis. Para continuar utilizando a função de criptografar, façam o procedimento de gerar uma nova hash e salvá-la no banco de dados, mas uma solução também válida é parar de utilizar a função de criptografar, conforme a Ana fez.
Espero ter ajudado, quaisquer outras dúvidas estamos à disposição.
Tutora MaylaMestreGisele, como o aluno Arthur respondeu muito bem, basta trocar a virgula pelo ponto na entrada do salário que irá funcionar.
Os números reais nesse contexto tem as casas decimais após o ponto e não após a virgula.
Espero ter ajudado, quaisquer dúvidas estamos a disposição. - Ao fazer
-
AutorPosts