Попробую объяснить. К примеру, в форме я ввел цифру. Надо после отправки формы чтобы вывелось число + слово склоняющееся с числом.
Например, я ввел 12.
Вывод: 12 баллОВ.
Ввод: 21
Вывод; 21 балл
Ввод: 42
Вывод: 42 баллА.
Подскажите как так сделать? Хотя бы в пределах сотни...
Другие языки программирования и технологии
После ввода числа определить слово. PHP.
В предыдущем ответе не учтена еще одна особенность числительных - числа оканчивающиеся на 11,12....18,19 тоже должны заканчиваться на "ов"
вот готовый пример:
function sayBall($num){
echo $num," балл"; // выводим саму цифру и первую часть слова
$div100 = $num % 100; // получаем остаток от деления числа на 100
$div10 = $num % 10; // и на 10
if (($div100>10 && $div100 < 20) || ($div10 > 4 && $div10 <10) || 0 == $div10){
// если остаток от деления на 100 находится в промежутке от 11 до 19
// или остаток от деления на 10 находится в промежутке от 5 до 9
// или остаток от деления на 10 равен 0
echo 'ов';
} elseif($div10 > 1 && $div10 <5){
// остаток от деления на 10 находится в промежутке от 2 до 4
echo 'а';
}
}
sayBall(intval($_POST['submit']));
// profit
вот готовый пример:
function sayBall($num){
echo $num," балл"; // выводим саму цифру и первую часть слова
$div100 = $num % 100; // получаем остаток от деления числа на 100
$div10 = $num % 10; // и на 10
if (($div100>10 && $div100 < 20) || ($div10 > 4 && $div10 <10) || 0 == $div10){
// если остаток от деления на 100 находится в промежутке от 11 до 19
// или остаток от деления на 10 находится в промежутке от 5 до 9
// или остаток от деления на 10 равен 0
echo 'ов';
} elseif($div10 > 1 && $div10 <5){
// остаток от деления на 10 находится в промежутке от 2 до 4
echo 'а';
}
}
sayBall(intval($_POST['submit']));
// profit
дак задай ему (языком не скажу как, давно не пользовался php) условно как че делать. if text="*1"(не помню как любой символ поставить перед 1) то echo то и то, else if text="+2" то пиши то и то, в противном случае пиши это.
куда еще проще, вот твой пример отредактировал с использованием \d - любая цифра
if ($_POST[submit] == \d1) {echo "балл";}
if ($_POST[submit] == \d2) {echo "балла";}
куда еще проще, вот твой пример отредактировал с использованием \d - любая цифра
if ($_POST[submit] == \d1) {echo "балл";}
if ($_POST[submit] == \d2) {echo "балла";}
Используйте условие if-elseif-else.
Просчитайте максимальное кол-во баллов и изменяйте окончания.
____________ДОБАВЛЕНО_____________
А кто вам говорит пишите столько в ручную?
Проверяйте приблизительно так:
Если в числе последняя ЦИФРА 1, то БАЛЛ
ЕСЛИ в числе последняя ЦИФРА 2,3,4, то БАЛЛА
ЕСЛИ в числе последняя ЦИФРА 5,6,7,8,9 то БАЛЛов
Более компактно? Тернарное условие:
$a = 1==0 ? "first value" :
(2==0 ? "second value" :
(3==3 ? "result value" : "default value"));
Как определить последнюю цифру?
Все просто: раздели это число по модулю 10.
Например, наше число 124
http://pastebin.com/YE0xXipw
Просчитайте максимальное кол-во баллов и изменяйте окончания.
____________ДОБАВЛЕНО_____________
А кто вам говорит пишите столько в ручную?
Проверяйте приблизительно так:
Если в числе последняя ЦИФРА 1, то БАЛЛ
ЕСЛИ в числе последняя ЦИФРА 2,3,4, то БАЛЛА
ЕСЛИ в числе последняя ЦИФРА 5,6,7,8,9 то БАЛЛов
Более компактно? Тернарное условие:
$a = 1==0 ? "first value" :
(2==0 ? "second value" :
(3==3 ? "result value" : "default value"));
Как определить последнюю цифру?
Все просто: раздели это число по модулю 10.
Например, наше число 124
http://pastebin.com/YE0xXipw
Похожие вопросы
- Как на паскале написать код программы,которая при вводе числа,выводит его словами?
- Ввод чисел в ASM
- Набираю в TURBO Pascal самую обычную программу (решение заданных чисел) но почему то при вводе числа 3,14(и всех дробей)
- даны 3 разл целых числа a,b,c используя оператор GOTO составить программу для ввода чисел в порядке убывания
- НАПИСАТЬ ПРОГРАММУ В ПАСКАЛЬ! Нахождение суммы чисел в матрице, ввод чисел осуществить из файла matrix.txt вывод на экран.
- Помогите составить прогу в паскале: А в степени N, чтобы высчитывала ответ при вводе числа и её степени.Заранее спасиб
- Вводится целое положительное число. Определить количество чётных и нечётных цифр в числе в Си++
- составить программу решения задачи дано 10 чисел определить сколько из них принимает наибольшее значение.как решить?*(((
- программирование в pascal. Даны 3 числа. Определить сколько среди них нулей
- Как можно решить такое задание : " Ввести из клавиатуры шестизначное число, определить цифры, которые находится рядом