Цикл For в каждом 4-х экземплярах, но также отслеживать общее значение счетчика - PullRequest
0 голосов
/ 06 июня 2019

Приведенный ниже код генерирует одно «поле для подписи» при наличии «почтового ящика», а затем увеличивает «поле для подписи» с каждыми 4 «почтовыми ящиками».

Моя проблема в том, что мне нужно вычислить «знак»вес »на основе подсчета« почтового ящика »и сброса на каждые 4« почтовых ящика ».Но поскольку цикл проходит приращение один раз.Я не могу удержать общее количество «почтовых ящиков».

ПРИМЕЧАНИЕ: Приведенный ниже код является простой демонстрацией действительного кода.

double qPostBox = 3.0; // for example I have 3 post boxes
int signCount = 0;
int postCount = 0;
for (int i = 0; i < qPostBox; i++)
{
    postCount++;
    if (i % 4 == 0)
    {
        signCount++;
        Console.WriteLine("SIGN BOX# " + signCount + " SIGN WEIGHT: " + postCount * 4);
        postCount = 1;
    }
    Console.WriteLine("POST BOX# " + postCount);
}

Вывод:

SIGN BOX# 1 SIGN WEIGHT: 4
POST BOX# 1
POST BOX# 2
POST BOX# 3

Желаемый вывод:

SIGN BOX# 1 SIGN WEIGHT: 12
POST BOX# 1
POST BOX# 2
POST BOX# 3

1 Ответ

2 голосов
/ 06 июня 2019

Ваша проблема в том, что вы делаете что-то.

Подсчитайте поля и , затем покажите общий вес ...

int postBoxCount = 5;
int signCount = 0;
int postCount = 0;

for (int i = 0; i < postBoxCount; i++)
{
    // don't show the total at the very beginning (when i == 0)
    if (i != 0 && i % 4 == 0)
    {
        signCount++;
        Console.WriteLine("SIGN BOX# " + signCount + " SIGN WEIGHT: " + postCount * 4);
        postCount = 0;
    }
    postCount++;
    Console.WriteLine("POST BOX# " + postCount);
}

// show the final total
signCount++;
Console.WriteLine("SIGN BOX# " + signCount + " SIGN WEIGHT: " + postCount * 4);

Вотрабочий пример ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...