Jump to content
Fórum Script Brasil
  • 0

programa c++ /


ruben g

Question

descrição do objectivo:
Codique uma rotina Div que receba como par^ametros formais dois inteiros x>0 e
y>0, e coloque numa variavel de retorno q o quociente da divis~ao inteira de x por
y. Por exemplo, se x=10 e y=3, a rotina devera retornar q=3. A rotina devera ser
demonstrada atraves de um programa que l^e, do teclado, os valores de duas variaveis
xx e yy, que ser~ao par^ametros atuais da rotina Div, devendo ser apresentado, no ecr~a,
o valor de uma variavel qualquer, que recebe o quociente calculado por essa rotina.
Questao 1.1 Apresente o codigo C necessario para resolver o problema descrito
(implementac~ao da func~ao Div, e da main que invocara Div), sem recorrer aos operadores
*, / e % da linguagem C. Certique-se que o programa funciona corretamente
(o programa devera produzir resultados correctos para x < y, x == y e x > y).
meu programa (erro: deixa de funcionar quando meto a 1 variável)
#include <stdio.h>
#include <stdlib.h>


int Div (int x,int y){
int q=0;
while(x>=y){


(x=x-y,   q++);


}
return q;
}






int main (){
int num1,num2, fim, div;


printf("insira o numero x: " );
scanf("%d",num1);
printf("insira o numero y: ");
scanf("%d", num2);
scanf("%d", num2);
if(num1 && num2>0)
fim= Div(num1,num2);


printf("o quociente é %d\n", fim);


}


 

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Olá!

Olha sou iniciante em C e não sou muito bom em matematica, só mudei pequenos detalhes no seu codigo:

#include <stdio.h>
#include <stdlib.h>


int Div (int x,int y)
{
  int q=0;
  while(x>=y)
{
    (x=x-y,   q++);
}
    return q;
}


int main ()

{

int num1,num2, fim;


printf("insira o numero x: " );
scanf("%d",&num1);

printf("insira o numero y: ");
scanf("%d", &num2);

if(num1 && num2>0)
fim= Div(num1,num2);

printf("o quociente é %d\n", fim);

return 0;

}

1 - você esqueceu o & nos scanf, provavelmente o motivo de seu programa parar de funcionar na primeira variavel !

2 - com relação a variavel div ela não foi usada em nenhuma parte deste codigo, então a exclui

3 - é sempre bom apos os scanf, por alguma função que limpe o buffer de entrada para evitar problemas com a leitura de dados inseridos anteriormente, quando da utilização de varios scanf seguidos, existem N formas de se fazer isso procure a mais adequada a você !

Bom, acho que é só isso!

Espero ter Ajudado ! ! !

Edited by Felipe-Petrópolis
Link to comment
Share on other sites

  • 0

Olá, amigos.

Se vocês declarem "q" como int, ao fazer q = x/y automaticamente vocês já terão o valor do quociente inteiro.

Suponha x = 5, y = 3:

5/3 = 1,66 --> q = parte inteira de 1,66 = 1

x = 6, y = 4:

6/4 = 1,5 --> q = parte inteira de 1,5 = 1

x = 29, y = 3

29/3 = 9,66 --> q = parte inteira de 9,66 = 9

Att.,
Pedro

Edited by PedroCunha
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...