Как сохранить несколько значений из цикла и отобразить звездочки на основе ввода

#c#

#c#

Вопрос:

В этом вопросе предлагается написать программу, которая принимает входные данные для пяти «хранилищ». В идеале входные данные должны быть в диапазоне от 100 до 2000. Каждый ввод должен быть разделен на 100, и эта сумма должна отображаться в звездочках (т. Е. 500 — это * и т. Д.). Я полагаю, что у меня есть первая часть, но я понятия не имею, как делать все остальное. Я не могу использовать массивы, так как я их еще не изучил, и я хочу научиться этому сам, а не просто копировать-вставлять у другого ученика. Пока у меня есть только

 int loop;
loop = 1;

while (loop <= 5)
{
    string input1;
    int iinput1, asteriskcount1;
    Console.WriteLine("Input number of sales please!");
    input1 = Console.ReadLine();
    //store value?

    loop = loop   1;
    input1 = Convert.ToInt32(input1);
    asteriskcount1 = iinput1 / 10;
}
 

Комментарии:

1. Два вопроса домашнего задания за час? Похоже, вам следует немного почитать.

2. На самом деле я боролся с шестью из них за последние 5 часов. Я смог выполнить остальные четыре, используя книгу без проблем, но я просто не мог понять эти два

3. Я рад, что этот сайт не существовал, когда я изучал информатику. Часть процесса обучения написанию кода — это метод проб и ошибок.

Ответ №1:

Не уверен, понимаю ли я, что вы пытаетесь сделать. Но, возможно, это поможет. Это непроверено, но оно должно делать то, что, я ДУМАЮ, вы просите, но я не уверен, что вы хотели сделать со звездочками. Пожалуйста, объясните подробнее, если это не то, к чему вы стремились.

     string Stored = "";
    for (int i=0; i < 5; i  ;)
    {
        string input1;
        int iinput1, asteriskcount1;
        Console.WriteLine("Input number of sales please!");
        input1 = Console.ReadLine();
        //Adds to existing Stored value
        Stored  = input1   " is "; 

        //Adds asterisk
        iinput1 = Convert.ToInt32(input1);
        asteriskcount1 = iinput1 / 100;
        for(int j = 0; j < asteriskcount1; j  )
        {
             Stored  = "*";
        }

        //Adds Comma
        if(i != 4)
             Stored  = ",";

    }
    Console.WriteLine(Stored); //Print Result
 

Ответ №2:

Не хочу писать это для вас, но вот несколько мыслей…

во-первых, вы можете выполнить цикл for для 5 хранилищ:

 for (int loop = 0; loop < 5; loop  )
 

Вероятно, вам понадобится asterickCount (а не asterickCount1), поскольку вы находитесь в цикле. Вы также захотите разделить на 100, поскольку ваш диапазон составляет до 2000, а на консоли у вас 80 символов. Это означает, что он будет печатать до 20 звездочек.

Вам понадобится функция PrintAstericks(int count);, которую вы вызываете сразу после вычисления вызываемого вами значения asterickCount . Эта функция просто отключается и вызывает консоль.Напишите (не WriteLine), чтобы записать звездочку n раз (новая строка перегружена, чтобы принимать char и count).

Но этот шаблон будет печатать звездочки после каждого ввода. Если вы хотите, чтобы шаблон был (1) принимать значения для пяти хранилищ, а затем (2) печатать строки со звездочками для всех пяти, вам понадобится массив с 5 слотами для хранения входных данных, затем перебирать массив и печатать строки со звездочками.

Наконец, вы захотите выполнить некоторую проверку входных данных. Посмотрите на Int32.Попробуйте проанализировать:

http://msdn.microsoft.com/en-us/library/bb397679.aspx

Ответ №3:

Супер просто

int asteriskCount = int.Parse(input1)/ 100;
вывод строки = новая строка ('*', asteriskCount );