Schleifenbach
Просветленный
(27557)
1 месяц назад
чет мудрЁно очень, можно же проще написать
// Функция для правильного склонения слова "жалоба"
String getComplaintsString(int J) {
if (J == 0) {
return "жалоб не поступило";
} else if (J % 10 == 1 && J % 100 != 11) {
return String(J) + " жалоба";
} else if ((J % 10 >= 2 && J % 10 <= 4) && (J % 100 < 10 || J % 100 >= 20)) {
return String(J) + " жалобы";
} else {
return String(J) + " жалоб";
}
}
// Функция для правильного склонения слова "предложение"
String getSuggestionsString(int Q) {
if (Q == 0) {
return "предложений не поступило";
} else if (Q % 10 == 1 && Q % 100 != 11) {
return String(Q) + " предложение";
} else if ((Q % 10 >= 2 && Q % 10 <= 4) && (Q % 100 < 10 || Q % 100 >= 20)) {
return String(Q) + " предложения";
} else {
return String(Q) + " предложений";
}
}
void setup() {
Serial.begin(115200);
// Пример значений
int J = 0; // Количество жалоб
int Q = 1; // Количество предложений
// Выводим количества
Serial.println(getComplaintsString(J)); // Вывод: "жалоб не поступило"
Serial.println(getSuggestionsString(Q)); // Вывод: "1 предложение"
}
J = countOfficial
Q = countUnofficial
' Ветвим логику в зависимости от значений J и Q
If J + Q = 0 Then
resultText = "За прошедшую неделю благодарностей от заказчика не поступало."
ElseIf J + Q = 1 Then
If J = 1 Then
resultText = "За прошедшую неделю получена 1 официальная благодарность от заказчика."
Else
resultText = "За прошедшую неделю получена 1 неофициальная благодарность от заказчика."
End If
ElseIf J > 1 And Q = 0 Then
resultText = "За прошедшую неделю получено " & J & " официальных благодарностей от заказчика."
ElseIf Q > 1 And J = 0 Then
resultText = "За прошедшую неделю получено " & Q & " неофициальных благодарностей от заказчика."
ElseIf J = 1 And Q = 1 Then
resultText = "За прошедшую неделю получено 1 официальная и 1 неофициальная благодарность от заказчика."
ElseIf J > 1 And Q = 1 Then
resultText = "За прошедшую неделю получено " & J & " официальных и 1 неофициальная благодарность от заказчика."
ElseIf J = 1 And Q > 1 Then
resultText = "За прошедшую неделю получено 1 официальная и " & Q & " неофициальных благодарностей от заказчика."
ElseIf J > 1 And Q > 1 Then
resultText = "За прошедшую неделю получено " & J & " официальных и " & Q & " неофициальных благодарностей от заказчика."
End If
' Выводим результат в ячейку (укажите нужную ячейку, например, C4)
ws.Range("C4").Value = resultText
' Закрываем файл без сохранения изменений
sourceWb.Close False
End Sub