Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

311
Visualizações
C#: WHILE loop continúa, aparentemente ignorando la condición

Estoy escribiendo un programa básico de trivia para ayudarme a familiarizarme con C#. Estoy en las primeras etapas de desarrollo y me encontré con un problema que me cuesta entender. Aquí está el código, seguido de lo que he intentado hasta ahora.

 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TriviaProject { internal class Program { static void Main(string[] args) { var q1 = "x"; int totalCorrect = 0; int totalIncorrect = 0; Console.WriteLine("Question 1: What is the answer?"); Console.WriteLine("A. Correct Answer"); Console.WriteLine("B. Incorrect Answer"); Console.WriteLine("C. Incorrect Answer"); while (q1 != "A" || q1 != "B" || q1 != "C") { q1 = Console.ReadLine(); switch (q1) { case "A": Console.WriteLine("{0} is the correct Answer!", q1); ++totalCorrect; break; case "B": Console.WriteLine("{0} is not correct.", q1); ++totalIncorrect; break; case "C": Console.WriteLine("{0} is not correct.", q1); ++totalIncorrect; break; default: Console.WriteLine("{0} is not a valid entry. A, B or C.", q1); break; } } Console.WriteLine("You got {0} correct and {1} incorrect. Your total score is: ", totalCorrect, totalIncorrect); } } }

Comportamiento deseado Si la respuesta es A, entonces la cuenta totalCorrect debería aumentar y mostrarse. Si la respuesta es B o C, entonces la cuenta total incorrecta debería aumentar y mostrarse.

Intenté hasta ahora

  • Si elimino B y C de la declaración WHILE, el programa funciona como se esperaba si respondo "A"
  • Para remediar el escenario anterior, agregué B y C a la declaración WHILE asumiendo que vería un comportamiento similar al responder B y C
  • Cuando B y C se incluyen en la declaración Mientras, obtengo la respuesta adecuada (Correcto o Incorrecto) pero el ciclo continúa independientemente de lo que ingrese (el programa nunca pasa a los resultados)

También probé diferentes combinaciones de usar CONTINUE en lugar de BREAK.

Si alguien pudiera explicar este comportamiento, sería muy apreciado.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Su bucle while es, lógicamente, while (true) .

 q1 != "A"

Eso es falso si q1 es A, de lo contrario es verdadero

 q1 != "B"

Eso es falso si q1 es B, de lo contrario es verdadero

Dado que A no es B, no hay forma de que ambas declaraciones puedan ser falsas al mismo tiempo, por lo que tiene

  • A) falso || verdadero
  • B) cierto || falso
  • otro) cierto || verdadero

Dado que verdadero o cualquier cosa es verdadero, su condición es simplemente true .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda