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.

O que eu fiz:

#include <math.h>
#include <stdio.h>
#include <iostream>

using namespace std;

int main()
{
 int number1l = 0;
 int number2q = 0;
 int m1 = 0;

 while (number1l != -1) {
 printf ("Digite os litros usados (-1 para fim):\n");
 scanf ("%d",&number1l);

 printf ("Digite os quilômetros dirigidos:\n");
 scanf ("%d",&number2q);

 m1 = number2q / number1l;

 printf ("Os quilômetros/litro para esse tanque foram: ");
 printf ("\n%d", &m1);
 scanf ("%d",&m1);

}

 printf ("Média total:\n");
 average =  &m1;
 return 0;

}

Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde, Não entedi porque a passagem de endereço de memória de m1 para avarage (average = &m1;) e pra não ficar no loop infinito.

Na declaração das variaveis tira a atribuição 0 (ZERO) que vai funciona... e outra dica

esperimenta fazer com

do{

while(condição);

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim

#include <math.h>
#include <stdio.h>
#include <iostream>

using namespace std;

int main()
{
int number1l = 0;
int number2q = 0;
int m1 = 0;

while (number1l != -1) {
printf ("Digite os litros usados (-1 para fim):\n");
scanf ("%d",&number1l);
if (number1l == -1)
break;

printf ("Digite os quilômetros dirigidos:\n");
scanf ("%d",&number2q);

m1 = number2q / number1l;

printf ("Os quilômetros/litro para esse tanque foram: ");
printf ("\n%d", &m1);
scanf ("%d",&m1);

}

printf ("Média total:\n");
average =  &m1;
return 0;

}

Ou seja, adicionei o if, se for igual a -1 break (pare)

if (number1l == -1)

break;

abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigada pessoal, mas ainda tem um problema... :wacko:

Ficou assim:

#include <math.h>

#include <stdio.h>

#include <iostream>

using namespace std;

int main()

{

int number1l;

int number2q;

int m1;

while (number1l != -1) {

printf ("Digite os litros usados (-1 para fim):\n");

scanf ("%d",&number1l);

if (number1l == -1)

break;

printf ("Digite os quilômetros dirigidos:\n");

scanf ("%d",&number2q);

m1 = number2q / number1l;

printf ("Os quilômetros/litro para esse tanque foram:\n");

printf ("%d",&m1);

scanf ("%d",&m1);

}

printf ("Média total:\n");

printf ("%d",&m1);

return 0;

}

Mas continuo sem saber como calculo a média. :( Coloquei para mostrar o &m1, mas ele mostra a última média calculada, preciso que mostre a média total (cálculo envolvendo todas as médias informadas). Como faço isso?

Link para o comentário
Compartilhar em outros sites

  • 0
Obrigada pessoal, mas ainda tem um problema... :wacko:

Ficou assim:

#include <math.h>

#include <stdio.h>

#include <iostream>

using namespace std;

int main()

{

int number1l;

int number2q;

int m1;

while (number1l != -1) {

printf ("Digite os litros usados (-1 para fim):\n");

scanf ("%d",&number1l);

if (number1l == -1)

break;

printf ("Digite os quilômetros dirigidos:\n");

scanf ("%d",&number2q);

m1 = number2q / number1l;

printf ("Os quilômetros/litro para esse tanque foram:\n");

printf ("%d",&m1);

scanf ("%d",&m1);

}

printf ("Média total:\n");

printf ("%d",&m1);

return 0;

}

Mas continuo sem saber como calculo a média. :( Coloquei para mostrar o &m1, mas ele mostra a última média calculada, preciso que mostre a média total (cálculo envolvendo todas as médias informadas). Como faço isso?

estou indo dormi amanhacedo eu resp

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,3k
×
×
  • Criar Novo...