Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

mbsd

programa em c com erro

Mensagens Recomendadas

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.

Editado por apocsantos
tag code + geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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ê?

Editado por bubulindo

include <ai se te avio>

Mãe () {

}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.