1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Verificar pequeno problema em C

Discussão em 'Programação' iniciada por bloodrider, 10 de Junho de 2007. (Respostas: 3; Visualizações: 567)

  1. bloodrider

    bloodrider Power Member

    Boas!

    Tenho este código para o seguinte enunciado: É inserida uma sequência de números, que termina quando é inserido o 0. No fim diz qual é o menor número maior do que o primeiro a ser inserido.

    Código:
    #include <stdio.h>
    
    int main()
    {
        int primeiro, input, menor, sair;
    
        printf("Insira o nº referencia: ");
        scanf("%d", &primeiro);
        
        printf("Insira outro nº: ");
        scanf("%d", &input);
        
        if(input > primeiro)
        {menor = input;}
        else
        {   
            if(input == 0)
            {
                     sair = 1;
            }
            else
            {   
                while(input < primeiro)
                {
                            if(input == 0)
                            {
                                     sair = 1;
                                     input = input + primeiro;
                            }
                            else
                            {
                                            printf("Insira outro nº: ");
                                            scanf("%d", &input);
                            }
                }
            }
        }
                    
                    
        if(sair == 1)
        {
                    printf("nao existe nenhum\n\n");
                    system("pause");
        }
        else
        {
            while(input != 0)
            {
                    if(input > primeiro && input < menor)
                    {
                             menor = input;
                    }
                    
                    printf("Insira outro nº: ");
                    scanf("%d", &input);
            }
            printf("O menor é: %d\n\n", menor);
            system("pause");
        }
    }
    
    Provavelmente o código podia ser melhor, mas só quero confirmar se o código resolve todas as situações ;)
     
  2. raVemjr

    raVemjr I'm cool cuz I Fold

    Creio que sim...compila e faz alguns testes...

    No entanto acho que esse código podia ser muito mais comprimido..
     
  3. bloodrider

    bloodrider Power Member

    Já o testei :P é só mesmo para ter a certeza que não me escapou nada!
    Tal como eu tinha dito, provavelmente pode-se poupar umas linhas de código, mas só me interessa que esteja a funcionar :)
     
  4. Datwo

    Datwo I'm cool cuz I Fold

    com um ciclo ficava mais bonito e elegante...
     

Partilhar esta Página