Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LeandroFerreiradeMoura

Problema com função While

Recommended Posts

Olá amigos, venho por meio deste para soliciar ajuda na resolução de um exercício proposto por meu professor de Informática do curso de Engenharia Civil.

 

Segue o enunciado:

"Criar uma função que verifique quantas vezes um número é divisível por outro."

 

E segue a resolução desenvolvida por mim:

 

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

float vezes();

main()
{
float r;

r=vezes();

printf("O dividendo e %2.0f vezes divisivel pelo divisor.\n", r);

printf("\n\n\n");
system("pause");
}

float vezes()
{
int divisor, dividendo, cont, i;

cont = 0;

printf("Digite o dividendo: \n");
scanf("%d", &dividendo);

printf("Digite o divisor: \n");
scanf("%d", &divisor);

for(i=1; i<=100000; i++)
{
while((dividendo%divisor)==0)
{
cont=(cont+1);
}

}

return cont;

}

-

 

Por favor, peço que me ajudem a corrigir meus erros para que eu possa obter aprendizado!

 

Muito obrigado desde já.

 

att, Leandro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia explicar melhor o que está acontecendo.

 

Olhando o código rapidamente vejo problema nestas linhas:

  printf("Digite o dividendo: \n");
      scanf("%d", &dividendo);
      
      printf("Digite o divisor: \n");
      scanf("%d", &divisor);

Desta forma está mantendo um '\n' no buffer de entrada a cada scanf lido.

Recomendo utilizar scanf("%d%*c", &variavel). Desta forma vai ler o inteiro e descartar o '\n' do enter.

 

Porque está incluindo a conio.h se não a está utilizando? Dificilmente vai usar esta biblioteca por ser antiga e estar descontinuada.

Também está incluindo a biblioteca math sem necessidade. O mesmo vale para a iostream, ela é uma biblioteca c++ e seu código é c.

 

O system("PAUSE") torna seu código exclusivo para ambiente windows. Imagino que seja para parar o programa e visualizar os dados então, recomendo o uso da função getchar() para deixar o código padrão Ansi c.

Pela boa prática de programação recomendo o uso do return 0 ao sair da função main.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.