2015-03-19 1 views
0

Я пытаюсь написать программу, которая вводит оценки кредитной карты и в конечном итоге усредняет их. Значения должны быть между 300-800, я использую int для моего CreditScore. Я знаю, проблема в том, что каждый раз, когда я пытаюсь ввести значение, я получаю сообщение об ошибке, которое я создал, когда значение находится за пределами диапазона. Однако я не уверен, как исправить эту проблему, потому что я, очевидно, не могу установить int всего на 300 и 800, поскольку между ними по-прежнему существует широкий диапазон чисел. Я довольно новичок в C# и буду признателен за любую помощь.Написание кредитной оценки программы. Не могу понять, как заставить мою ценность int работать

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace CreditScores 
{ 
    class Program 
    {//Joshua Belcher 
     static void Main(string[] args) 
     { 
      int CreditScore = 0; 
      Console.WriteLine("Please enter a Credit Score"); 
      CreditScore = Convert.ToInt32(Console.ReadLine()); 

      if ((CreditScore <= 300) && (CreditScore >= 800)) 
      { 
       Console.WriteLine("Continue"); 
      } 
      else 
      { 
       Console.WriteLine("Error, value not accepted"); 
      } 

      Console.ReadLine(); 
     } 
    } 
} 
+3

Вы изменили свои условия ... и если никогда не будет правдой. Прочтите это вслух для себя. –

ответ

5
if ((CreditScore <= 300) && (CreditScore >= 800)) 

Как любое число может быть меньше или равно 300, и в то же время, большей или равной 800?

У вас есть замеченные симптомы.

if ((CreditScore >= 300) && (CreditScore <= 800)) 
+0

Вау, это было совершенно ненаблюдаемо, спасибо за помощь. – laxplayerj93

+1

@ laxplayerj93 Вот почему мне нравится писать этот тип сравнения как «300 <= CreditScore && CreditScore <= 800'. Это ближе к естественному математическому выражению '300 <= CreditScore <= 800'. – juharr

Смежные вопросы