2015-12-08 2 views
0

Im совершенно новый для кодирования, и мне было предложено создать гистограмму, попросив пользователя для ввода определенного количества номеров по строкам. Который я выполнил цикл for для обработки без проблем. Трудность, с которой я сталкиваюсь, - это попытка использовать строку, которую я назвал (x) и содержит («»). Задача состоит в том, чтобы дубликат символа () дублироваться до величины, введенной пользователем ... Просто интересно, как я мог бы кодировать его таким образом, чтобы он сравнивал номер входного значения пользователя для печати (*), то же количество, равное введенному числу!Попытка создать гистограмму с помощью строки для печати того же количества раз, равного значению целочисленного пользовательского ввода

namespace Exercise_4 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      int[] userVal = new int[8]; 
      string x = ("*"); 


     for (int count = 0; count < userVal.Length; count++) 
     { 
      if (userVal[count] <= 10) 
      { 
       Console.WriteLine("Please enter Number"); 
       userVal[count] = int.Parse(Console.ReadLine()); 
      } 

      else 
      { 
       Console.WriteLine("ERROR, Number too BIG!"); 
      } 
     } 

     for (int count= 0; count < userVal.Length; count ++) 
     { 




     } 
+0

Добро пожаловать на переполнение стека. Можете ли вы, пожалуйста, сначала показать свою работу и четко объяснить, где вы застряли? Вы можете прочитать [FAQ], [ask] и [help] в качестве старта .. –

+0

Покажите нам код: D –

+0

там мы идем :) его немного грязно в том, как он был вставлен – DanLewis

ответ

0

Простой способ может быть перебирать ответы, и использовать строку (голец, CNT) конструктор https://msdn.microsoft.com/en-us/library/xsa4321w(v=vs.110).aspx.

Он заполняет строку конкретным символом и определенной длиной.

например.

namespace Exercise_4 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     {  
      int numberToCollect = 10;  
      int[] answers = new int[numberToCollect]; 
      int numberCollected = 0; 

      while(numberCollected<numberToCollect) 
      { 
       int parsedInt = 0; 

       if (int.TryParse(intConsole.ReadLine(),out parsedInt)) 
       { 
        answers[numberCollected++] = parsedInt; 
       } 
       else 
       { 
        Console.WriteLine("Invalid number, try again!"); 
       } 
      } 

      for(var cnt in answers) 
      { 
       Console.WriteLine(new String('*',cnt)); 
      } 
     } 
    } 
} 
+0

Привет, спасибо за комментарий! Каким образом можно реализовать это в моем коде, чтобы принять целое число ввода пользователя, чтобы создать строку для печати, равную значению целого числа? – DanLewis

+0

Итак, в случае моего кода выше ответы var могут быть var userVal в случае для моего массива? Я не буду в состоянии хранить определенные значения в массиве, который должен оставаться пустым и заполняться только пользователем. – DanLewis

+0

см. Измененный ответ – sambomartin

0
namespace Exercise_4 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      int[] userVal = new int[8]; 


     for (int count = 0; count < userVal.Length; count++) 
     { 
      if (userVal[count] <= 10) 
      { 
       Console.WriteLine("Please enter Number"); 
       userVal[count] = int.Parse(Console.ReadLine()); 
      } 

      else 
      { 
       Console.WriteLine("ERROR, Number too BIG!"); 
      } 
     } 

     foreach (var cnt in userVal) 
     { 
      Console.WriteLine(new String('*', cnt)); 
     } 

     Console.ReadKey(); 

    } 
} 

} 

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

  • Нет связанных вопросов^_^