Int reconhece todas as entradas como positivos

Olá, pessoal
Novato em programação, seguindo pelo livro do DEITEL
fiz uma aplicaçãomas todos os valores ( negativo, positivo ou zero) são reconhecidos como positivo e a primeira entrada ( -2 ), se negativa também é reconhecida como positivo e não como negativo, já utilizei >= 1 e <= -1 além de >0 e <0, mas erro permace. A aplicação é somente usando ‘if’ para resolver o problema.
agradeço a ajuda

Bom dia, manda seu código para ter uma ideai maior sobre o problema.

Valeu Breno,
já estava a alguns dias com este problema, um amigo me propos, agora pouco, reali\zar o tratamento de uma variavel por vez, estava tratando todas em um bloco por vez (primeiro igual, depois positivo epor ultimo negativo), entao fiz para ‘a’ todos os testes e depois para ‘b’ e assim por diante e resolveu o problema, ficou assim.
agradeço a atrenção.

    // identifica o valor de 'a'
    if( a == 0 ){
        igual = 1;
    }
    if( a > 0 ){
        positivo = 1;
    }
    if( a < 0 ){
        negativo = 1;
    }
    
    // identifica o valor de 'b'
    if( b == 0 ){
        igual = igual + 1;
    }
    if( b > 0 ){
        positivo = positivo + 1;
    }
    if( b < 0 ){
        negativo = negativo + 1;
    }

Que ótimo, mas só uma coisa. Pelo que entendi só é possível para a uma condição e o mesmo para b, então não é ideal você usar tantos if, pois mesmo que para a ele entre na primeira condição, ele vai tentar as outras condições de a o mesmo vale para b.

Então recomendo usar else if para resolver esse problema, pois ao entrar em uma condição de a ele não tenta as outras condições e irá entrar no bloco de execução de b. Exemplo de a:

if (a == 0) {
   igual = 1;
} else if (a > 0) {
   positivo = 1;
} else {
   negativo = 1;
}

É que os exercicio são solicitados para serem realizados somente com as instruções já apresentadas, como não apresentaram else ainda e necessário realizar desta forma.
Mas já devemos evoluir no proximo capitulo.
valeu