Jump to content
mbsd

programa em c com erro

Recommended Posts

mbsd

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 qq, que recebe o quociente calculado por essa rotina.

Quest~ao 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).

#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);

}

o programa da erro a meter a variavel.

Edited by apocsantos
tag code + geshi

Share this post


Link to post
Share on other sites
bubulindo

Lês duas vezes a variável num2...

O teu if não faz o que pretendes.

Numeros negativos também se dividem.

A função div serve para quê?

Edited by bubulindo

include <ai se te avio>

Mãe () {

}

Share this post


Link to post
Share on other sites
HappyHippyHippo

Lês duas vezes a variável num2...

O teu if não faz o que pretendes.

Numeros negativos também se dividem.

A função div serve para quê?

tens razão em todos esses erros tirando a última questão, pois faz parte do enunciado fazer os cálculos dentro da função Div que irá fazer o cálculo da divisão inteira sem usar o operador '%'.

agora, no que toca ao erro descrito pelo criador do tópico, o problema é este:

quando usas qualquer umas das funções da família *scanf, tens de passar como argumento da função onde queres guardar os valores lidos.

ao escreveres desta forma:

scanf("%d", num2);

estás a passar o valor contido na variável para a função. e não o local da variável para a função saber onde guardar o valor lido.

necessitas de adicionar à expressão um operador que indica o local da variável ficando então assim:

scanf("%d", &num2);
//          A
//          |
//   operador referência
//posição de memória da variável


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
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
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.