Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda


Natalie M.

Pergunta

O programa recebe como entrada os quilômetros rodados e os litros gastos para cada tanque. Calcula e exibe os quilômetros por litro obtidos para cada tanque.

O problema é que após exibir o resultado ele continua perguntando várias vezes, mesmo depois de eu ter digitado -1, que é o comando que deveria finalizar. Como resolvo isso?

Depois de resolver esse problema, tenho que fazer outras coisas:

"Depois de processar todas as informações fornecidas, o programa deve calcular e imprimir os quilômetros por litro obtidos por todos os tanques combinados (média)."

Como armazeno as informações anteriores, sendo que não há um número de entradas definido? Usei while, mas não consigo calcular a média, já que não sei quantas vezes o usuário informou, não sei pelo que dividir.

#!/usr/bin/perl

$number1l = 0;
$number2q = 0;
$m1 = 0;

 while ($number1l != "-1") {
 print "Digite os litros usados (-1 para fim):\n";
 chomp ($number1l = <STDIN>);
  
 print "Digite os quilômetros dirigidos:\n";
 chomp ($number2q = <STDIN>);

 $m1 = $number2q / $number1l;

 print "Os quilômetros/litro para esse tanque foram: ";
 print $m1;
 chomp $m1;

}

 print "Média total:\n";
 $average =  $m1;

Editado por Natalie M.
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Hi.

O ideal é modelar o algoritmo pra executar a ação fora e dentro do while.

Mas, dá pra fazer um XGH e usar o "last" pra sair do while caso a opção seja igual a "-1".

Algo tipo isso:

#!/usr/bin/env perl

use strict;
use warnings;
use feature qw(say);

my $number1l = 0;
my $number2q = 0;
my $m1 = 0;

while ($number1l != "-1") {
    say "Digite os litros usados (-1 para fim):";
    chomp ($number1l = <STDIN>);
    last if $number1l eq '-1';
      
    say "Digite os quilômetros dirigidos:";
    chomp ($number2q = <STDIN>);

    $m1 = $number2q / $number1l;

    say "Os quilômetros/litro para esse tanque foram: " . $m1;
}

say "Média total:\n$m1";

[]'s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...