Como finalizar a entrada de dados, quando deve digitar –1?

int n, menor=0;

        Console.WriteLine("digite numero");
        n = int.Parse(Console.ReadLine());
        menor = n;
       
        for (int i=1;i<=1000;i++)
        {
            Console.WriteLine("digite numero");
            n = int.Parse(Console.ReadLine());
            {
                if (n < menor)
                {
                    menor = n;
                    
                    
                }
                 if (n == -1)    <<<<-------- eu devo digitar -1 ,entao tem  problema, eu usei -1, apareceu -1 no menor, como tirar -1 no dentro de n.
                {
                    Console.WriteLine("Saida");
                    break;
                }

            }
            

        }


       Console.WriteLine("Menor é : " + menor );
            Console.ReadKey();
    }

A verificação se n é igual a -1 tem que ser antes da comparação com o menor, para que o break seja chamado antes:

for (int i=1;i<=1000;i++)
        {
            Console.WriteLine("digite numero");
            n = int.Parse(Console.ReadLine());
            {
              if (n == -1)   
                {
                    Console.WriteLine("Saida");
                    break; // vai sair do for antes da comparação do menor
                }

                if (n < menor)
                {
                    menor = n;
                }
                
            }
        }

Obs: ao invés de fazer um loop até 1000, experimente usar um while.

Abraço.

1 curtida

valeuu !