Библиотека
Дневники
Фотогалереи
Легкий форум
Архив
Поиск
Здравствуйте Гость (Вход|Регистрация)   
Студенческий форум
 
 


  Ответ в темуСоздание новой темыСоздание опроса

> Грамотность как показатель уровня качества

дед_мажор
Быстрая цитата




Уважаемый крутой перец
Group Icon

Профиль
Группа: Декан
Сообщений: 2405
Регистрация: 11.11.2005
Репутация: 156

Место учебы: да


Когда у меня 22 новых письма, то вверху написано: "22 новых писем".

Ара, по-русски писать надо, да.
Или вообще ничего не писать, чтобы безграмотность не показывать свою.
PMПисьмо на e-mail пользователю
Top
Klepa
Быстрая цитата




Уважаемый Кандидат наук
*****

Профиль
Группа: Пользователи
Сообщений: 907
Регистрация: 29.05.2006
Репутация: 88

Место учебы: ...


Нда, а ещё очень популярно и "захватывает" молодёжь "Албанский".Скоро эти "медведы", "креведко" и тд. и тп. "съедят" мозг всех - это меня тоже гнетёт
PMПисьмо на e-mail пользователюICQ
Top
RoDen
Быстрая цитата




Уважаемый Председатель ученого совета
Group Icon

Профиль
Группа: Серый кардинал
Сообщений: 3285
Регистрация: 10.03.2005
Репутация: 248

Место учебы: политех


дед_мажор
ну что ты предпочтешь:

22 новых писем
или
новых писем: 22 (как вариант: новые письма (22))

?


первое информативнее, второе правильнее.
есть конечно готовые библиотеки для склонения русских слов, но это геморрой..
PM
Top
digital_fox
Быстрая цитата




Уважаемый Доктор наук
******

Профиль
Группа: Пользователи
Сообщений: 1775
Регистрация: 14.11.2007
Репутация: 93

Место учебы: ОрелГТУ'05


RoDen

А что сложного?
если на конце 1 кроме 11 - "Новое письмо"
на конце от 2 до 4, кроме 12-14 - "Новых письма"
в остальных случаях - "Новых писем"
PMПисьмо на e-mail пользователюICQ
Top
digital_fox
Быстрая цитата




Уважаемый Доктор наук
******

Профиль
Группа: Пользователи
Сообщений: 1775
Регистрация: 14.11.2007
Репутация: 93

Место учебы: ОрелГТУ'05


Код
$mcount="0".$mcount;
if ((substr($mcount,length($mcount),1)=="1") and (substr($mcount,length($mcount)-1,1)!="1")
{$str="Новое письмо";}
else
  {if ((substr($mcount,length($mcount),1)>="2") and (substr($mcount,length($mcount),1)<="4") and (substr($mcount,length($mcount)-1,1)!="1")
{$str="Новых письма";}
   else {$str="Новых писем";}
   }



Где $mcount - переменная количества писем, $str - то,что выводить на страницу;
PMПисьмо на e-mail пользователюICQ
Top
дед_мажор
Быстрая цитата




Уважаемый крутой перец
Group Icon

Профиль
Группа: Декан
Сообщений: 2405
Регистрация: 11.11.2005
Репутация: 156

Место учебы: да


RoDen
да как угодно, лишь бы по-русски =)
PMПисьмо на e-mail пользователю
Top
дед_мажор
Быстрая цитата




Уважаемый крутой перец
Group Icon

Профиль
Группа: Декан
Сообщений: 2405
Регистрация: 11.11.2005
Репутация: 156

Место учебы: да


digital_fox
substr($mcount,length($mcount),1)
всегда будет false.

и никто не говорит 0 новых писем, говорят: новых писем нет.
PMПисьмо на e-mail пользователю
Top
digital_fox
Быстрая цитата




Уважаемый Доктор наук
******

Профиль
Группа: Пользователи
Сообщений: 1775
Регистрация: 14.11.2007
Репутация: 93

Место учебы: ОрелГТУ'05


дед_мажор
простите мой ПХП - давно это было ))
Ну а насчет нуля - просто еще одно условие ))
PMПисьмо на e-mail пользователюICQ
Top
дед_мажор
Быстрая цитата




Уважаемый крутой перец
Group Icon

Профиль
Группа: Декан
Сообщений: 2405
Регистрация: 11.11.2005
Репутация: 156

Место учебы: да


раз такая тривиальная задача вызывает столько вопросов, то придется провести внеочередной урок программирования от деда_мажора.

Код

 /**
  * Selects russian case for number.
  * for example:
  *  1 результат
  *  2 результата
  *  5 результатов
  * @param $number integer
  * @param $cases words to select from array('результат', 'результата', 'результатов')
 **/
 public static function selectCaseForNumber($number, $cases)
 {
  if (($number % 10) == 1 && ($number % 100) != 11) {
   
   return $cases[0];
   
  } elseif (
   ($number % 10) > 1
   && ($number % 10) < 5
   && ($number < 10 || $number > 20)
  ) {
   
   return $cases[1];
   
  } else {
   return $cases[2];
  }
 }


пользуйтесь на здоровье.
PMПисьмо на e-mail пользователю
Top
whisk
Быстрая цитата




Уважаемый Кандидат наук
*****

Профиль
Группа: Пользователи
Сообщений: 975
Регистрация: 29.03.2005
Репутация: 87

Место учебы: ОрёлГТУ


дед_мажор
Цитата

112 результата
113 результата
114 результата

и не работает с отрицательными числами.
PMПисьмо на e-mail пользователюСайт пользователяICQ
Top
дед_мажор
Быстрая цитата




Уважаемый крутой перец
Group Icon

Профиль
Группа: Декан
Сообщений: 2405
Регистрация: 11.11.2005
Репутация: 156

Место учебы: да


whisk
авторство — не мое, поэтому отправил багрепорт всем разработчикам.

спасибо за тестирование, почти два года никто не замечал =)
PMПисьмо на e-mail пользователю
Top
дед_мажор
Быстрая цитата




Уважаемый крутой перец
Group Icon

Профиль
Группа: Декан
Сообщений: 2405
Регистрация: 11.11.2005
Репутация: 156

Место учебы: да


Цитата (whisk)
и не работает с отрицательными числами.

а с иррациональными и комплексными работает?
PMПисьмо на e-mail пользователю
Top
дед_мажор
Быстрая цитата




Уважаемый крутой перец
Group Icon

Профиль
Группа: Декан
Сообщений: 2405
Регистрация: 11.11.2005
Репутация: 156

Место учебы: да


whisk
вот мой патч:
Код

                       } elseif (
                               ($number % 10) > 1
                               && ($number % 10) < 5
-                               && ($number < 10 || $number > 20)
+                               && ($number % 100 < 10 || $number % 100 > 20)
                       ) {

                               return $cases[1];


теперь должно все работать.
PMПисьмо на e-mail пользователю
Top
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
 
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:o  :D  :rolleyes:  :cry2: 
:unsure:  :cry:  :angry:  :bleh: 
:dev:  :flowers:  :fool:  :old: 
:shook:  :angel:  :wor:  :rotfl: 
:kov:  :chair:  :friends:  :wub: 
       
Показать всё


 
Опции сообщения  Включить смайлики?
 Включить подпись?
 Использовать AJAX?

Опции темы Ответ в темуСоздание новой темыСоздание опроса

 

Студенческий клуб ostudent.ru и его создатели не несут ответственности за достоверность самостоятельно размещаемой посетителями сайта информации и не могут подтвердить или опровергнуть её.

Этот сайт защищен «Site Guard»