Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Validação?

<meta charset="UTF-8">

<script>

    function pulaLinha() {
        document.write('<br>');
    }

    function mostra(texto){
        document.write(texto);
        pulaLinha();
    }


    function pedirIdades(){
        idade1 = prompt('Digite a idade do seu irmão:');
        idadeEu = prompt('Digite sua idade:');
        diferencaIdade = (idade1 - idadeEu);
    }

    function exibeResultado(){
        pedirIdades
        mostra( 'A idade de meu irmão é: ' + idade1);
        mostra( 'A minha idade é: ' + idadeEu);
        if (diferencaIdade == 1){
            mostra('Nossa diferença de idade é de um ano.');
        }
        else{
            document.write('Nossa diferença de idade é de: ' + diferencaIdade + " anos.");
        }
    }

    pedirIdades();
    exibeResultado();

</script>

Uma olhadinha pra verificação é só o que precisa- funcionar funciona!

1 resposta
solução!

Oi Giovana! Tudo tranquilo por aí?

O seu código está funcionando. E ficou interessante o modo como você fez tudo por meio de funções.

Mas tem alguns pontos que podemos melhorar e corrigir, vamos lá:

No caso da função pedirIdades, temos:

 function pedirIdades(){
        idade1 = prompt('Digite a idade do seu irmão:');
        idadeEu = prompt('Digite sua idade:');
        diferencaIdade = (idade1 - idadeEu);
    }

Nesse caso, você precisará da variável diferencaIdade na outra função exibeResultado, certo? Para que você utilize essa variável nessa outra função é interessante que no final de pedirIdades você retorne a variável diferencaIdade.

 function pedirIdades(){
        idade1 = prompt('Digite a idade do seu irmão:');
        idadeEu = prompt('Digite sua idade:');
        diferencaIdade = (idade1 - idadeEu);
        return diferencaIdade;
    }

Essa funcionalidade de retornar variáveis de uma função será explicada de maneira mais detalhada nas próximas aulas do curso. Mas basicamente, o que ela faz é devolver o valor da variável quando a função for chamada em outro lugar.

Agora, no caso da função exibeResultado:

function exibeResultado(){
        pedirIdades
        mostra( 'A idade de meu irmão é: ' + idade1);
        mostra( 'A minha idade é: ' + idadeEu);
        if (diferencaIdade == 1){
            mostra('Nossa diferença de idade é de um ano.');
        }
        else{
            document.write('Nossa diferença de idade é de: ' + diferencaIdade + " anos.");
        }

É importante que sempre que for chamar uma função você utilize os parênteses, ficando assim: pedirIdades();. Além disso, agora que adicionamos o comando return na função de pedirIdades, quando ela for chamada, ela irá enviar a variável diferençaIdade, certo?

Sendo assim, o ideal seria declarar uma nova variável na função exibeResultado() para que ela receba o valor que será retornado pela função pedirIdades, quando for chamada. Essa variável pode ter qualquer nome, inclusive pode ter o mesmo nome da variável diferençaIdade da função que pede as idades. Vamos chamá-la de recebeDiferencaIdade:

function exibeResultado(){
        var recebeDiferencaIdade = pedirIdades();
        mostra( 'A idade de meu irmão é: ' + idade1);
        mostra( 'A minha idade é: ' + idadeEu);
        if (recebeDiferencaIdade == 1){
            mostra('Nossa diferença de idade é de um ano.');
        }
        else{
            document.write('Nossa diferença de idade é de: ' + recebeDiferencaIdade + " anos.");
        }

E por fim, como você já está chamando a função pedirIdades dentro da função exibeResultado, não é necessário que você chame ela novamente embaixo, sendo necessário chamar apenas a exibeResultado, ficando assim:

\\ codigo anterior

    exibeResultado();

</script>

O professor fez de uma maneira diferente, utilizando menos funções, caso queira ver basta clicar em " Ver opinião do instrutor ":

Imagem do enunciado do exercício com uma seta vermelha apontando pra opção de ver a opinião do instrutor

Continue sempre praticando. Qualquer dúvida estaremos por aqui :)

Bons estudos!