Odmiana słowa minuta w c++ zależnie od czasu odjazdu

Odpowiedz Nowy wątek
2019-10-07 09:15
0

Hej,
muszę odmienić słowo minuta zależnie od pozostałej ilości czasu do odjazdu, ale nie za bardzo wiem ja kto zrobić (pomijając "łopatologiczny" sposób).
Chodzi o to, że mamy tekst "ODJAZD ZA x MINUT" i forma słowa zmienia się zależnie od ilości minut:
1 - minutę
2,3,4, - minuty
5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 - minut
22, 23, 24 - minuty
25, 26, 27, 28, 29, 30, 31 - minut

itd. itd.

nie za bardzo widzę tutaj jakąś zbieżność by wyliczyć to np. jakimś modulo czy czymś, tak jak się to robi np. w przypadku normalnych liczb w języku angielskim (1st,2nd,3rd etc)
byłbym bardzo wdzięczny za pomoc, wydaje mi się ze jest to bardzo proste tylko mój mózg coś nie trybi :D

edytowany 1x, ostatnio: hanzoc, 2019-10-07 09:17
Jaki to byłby niełopatologiczny sposób? Albo jaki to jest ten łopatologiczny wg ciebie? Może się po prostu nie da inaczej niż myślisz. - szweszwe 2019-10-07 09:20
łopatologicznie byłoby każdy przypadek od 1-59 obsłużyć ręcznie :D - hanzoc 2019-10-07 09:22

Pozostało 580 znaków

2019-10-07 09:25
1

Ok, znalazłem rozwiązanie, teraz aż mi trochę głupio. Znalazłem jakąś funkcję z tego tematu: Odmiana słów
przerobiłem pod minuty i działa, wielkie dzięki Panu CeKa :D

Pozostało 580 znaków

2019-10-07 11:18
1

Przejdź na język na angielski, szach mat.

Pozostało 580 znaków

2019-10-07 11:37
0

W czym piszesz? Może jest gotowe rozwiązanie?
Przykładowo Qt funkcja QObject::tr używana do lokalizacji aplikacji (różne wersje językowe), ma opcję zmiany tłumaczenia zależnie od wartości liczby podanej jako ostatni argument.
https://doc.qt.io/qt-5/i18n-s[...]slation.html#handling-plurals


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: MarekR22, 2019-10-07 12:30

Pozostało 580 znaków

2019-10-07 11:56
0

https://www.unicode.org/cldr/[...]language_plural_rules.html#pl

Po prawej masz “rules”. i to liczba całkowita która cię interesuje. v możesz zignorować (v = 0), bo dotyczy floatów.
Czyli zostaje ci:

Category Rules
one i = 1
few i % 10 = 2..4 and i % 100 != 12..14
many i != 1 and i % 10 = 0..1 or i % 10 = 5..9 or i % 100 = 12..14

dokładne znaczenie literek jest tutaj:

http://unicode.org/reports/tr[...].html#Plural_Operand_Meanings

edytowany 1x, ostatnio: Azarien, 2019-10-07 11:57

Pozostało 580 znaków

2019-10-07 12:11
3

Zrób skrót min.


Każdy programista przybywający z innego miasta jest fachowcem.
popieram. Zawsze tak robię - AnyKtokolwiek 2019-10-07 12:19
Gdybym mógł to bym tak zrobił :D niestety był taki wymóg i nic innego by nie przeszło. Tak czy siak problem już rozwiązany. - hanzoc 2019-10-07 19:51

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0