Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Maior e menor número

Estou estranhando que meu compilador não está recebendo o operador lógico &&.

Estou fazendo os exercvícios de um livro em que devo ficar inserindo numeros num loop infinito até que esse número seja negativo para que depois o programa diga o maior e o menor programa. Achando que seria chato o menor número ser sempre o negativo, quis criar uma condição para que o menor fosse o menor número inserido salvo os negativos. Segue o código:



#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{


    int maior=0, menor=0, num;
    printf ("Digite um número\n");
    scanf ("%d",&num);
    maior=menor=num;
    do{
        printf ("Digite um número\n");
        scanf ("%d",&num);
        if (num>maior)
        maior=num;
        if ((num>=0) && (num<menor));
        menor=num;


        }while (num>=0);

        printf ("O maior é %d e o menor é %d ", maior, menor);



    return 0;
}

O programa compila tranquilamente, mas retorna o menor como negativo, como se não compilasse o " && (num>=0)".

Em que minha lógica está errada?

1 resposta
solução!

Já resolvi. Tinha ponto e vírgula após o if.