Jump to content

Dúvida Iniciante| Programa para comparar numeros


LagMaster
 Share

Recommended Posts

Boas 😛

Estou a ver-se aprendo C, e estou a ver uns tutoriais to "The New Boston" no youtube.

Então estive a seguir um tutorial acerca de "If Statement Decision"

Então fiquei com este código:

#include <stdio.h>
#include <conio.h>
int main (void)
{
  int num1;
  int num2;
  printf("Enter 2 number:");
  scanf ("%d%d",num1, &num2);
  
  if (num1 == num2){
      printf ("They are equal"); 
  }
  if (num1 < num2) {
      printf ("%d is less than %d",num1, num2);
  }
  if (num1 > num2) { 
      printf ("%d is greater than %d", num1, num2);
  }
  
  getch();
  
    }

Ao que me parece está igual ao do criador do tut, mas mesmo assim quando faço "Compile & Run" insiro um nº mas depois da erro e para de funcionar :S

Sabem o que se passa de mal ? Provavelmente será um erro no código que não estou a ver..

Agradecido

LagMaster ?

YOU SHALL NOT PASS !!!

Link to comment
Share on other sites

porque é que no scanf fazes

scanf("%d %d",num1,&num2);

e não :

scanf("%d %d",num1,num2);

ou:

scanf("%d %d",&num1,&num2); <- querias era ter escrito isto, btw.

?

se tens 3 if's e eles são alternativos (se executas o 1º, não executas o 2º nem o 3º; se executares o 2º, não executas o 1º nem o 3º), usa o if-else com ifs encadeados, assim:

if ( num1 ==  num2){
// codigo caso num1==num2
} else if (num1 < num2){
// codigo caso num1 < num2
} else { // não é preciso por if (num1 > num2), porque vai dar sempre verdade ao ser chamado este else;
// codigo caso num1 > num2
}

e para parar de funcionar vais precisar de carregar no enter.

XX SINFO - Semana Informática

Link to comment
Share on other sites

Estava a tentar fazer como no tutorial e salvo erro estava como pus..

Mesmo assim alterando continua a deixar-me digitar o primeiro numero so que apos esse enter diz que o programa deixa de funcionar como á pouco..  😛  

Que se passará ? ?

Já a parte dos ifs vou trocar isso que postou pelo que está no tut , pois assim parece mais lógico..

Obrigado pela ajuda 😄

YOU SHALL NOT PASS !!!

Link to comment
Share on other sites

experimenta assim

#include <stdio.h>

int main (void)
{
  int num1;
  int num2;
  printf("Enter 2 number:");
  scanf ("%d %d",&num1, &num2);

    if(num1 == num2)
        printf ("They are equal");
    else
    {
        if(num1<num2)
            printf ("%d is less than %d",num1, num2);
        else
            printf ("%d is greater than %d", num1, num2);
    }

  getch();//ira fazer get ao ENTER que esta no buffer por causa do \n
     scanf("%d",&num1); //para nao terminar
}

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • 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.