![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Na wielu stronach www można znaleźć liczniki osób. Jednak z reguły treść jest taka: "licznik osób" lub odwiedziło nas osób:"
Ja natomiast chciałbym stworzyć licznik bardziej inteligentniejszym i w zależności od tego jaka ilość osób będzie w zmiennej dopasuje on odpowiednie sformuowanie i wyświetli je. Problemu by nie było gdybym wiedział jak to ukrócić. Przecież nie mogę pisać warunku dla każdej liczby. Chodzi o to żeby skrypt brał pod uwagę dwie ostatnie cyfry z całego ciągu znaków. Np.: Jak mam 113863 osoby (to tylko 63). Oczywiście jeśli ciąg jest większy od dwucyfrowej liczby. No i jeszcze jakiś wyjątek dla liczby 1, ponieważ nie może być 1 osób tylko 1 osoba, ale już 11 osób, ...,111 osób, itd. Podobnie dla 2 będzie osoby, dla 12 osób, dla 22 osoby, 32 osoby, ..., 102 osoby, itd Dla pozostałych cyfr według powyższych reguł. To trzeba wziąć pod uwagę! Oczywiście takie rozwiązanie można by zastosować nie tylko w licznikach. Na razie kod wygląda tak:
Mam nadzieję, że to dobra pętla do tego zadania. Może da się to jakoś uprościć żeby nie wpisywać tylu warunków. Jestem też otwarty na inne rozwiązania jeżeli moje okaże się błędne!!! Ten post edytował Szunaj85 9.09.2008, 21:23:04 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 35 Dołączył: 5.12.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Problemu by nie było gdybym wiedział jak to ukrócić. Przecież nie mogę pisać warunku dla każdej liczby. Ogólnie do programowania przydaje się czasami znajomość matematyki a przynajmniej jej bazowych operacji takich jak: dodawani, odejmowanie, mnożenie, dzielenie no i modulo (reszta z dzielenia). Ta ostatnia znakomicie się przydaje jeżeli chcesz wiedzieć dwie ostatnie cyfry z liczby. Chodzi o to żeby skrypt brał pod uwagę dwie ostatnie cyfry z całego ciągu znaków. Np.: Jak mam 113863 osoby (to tylko 63). Oczywiście jeśli ciąg jest większy od dwucyfrowej liczby.
Ale zastanawiam się czy nie wystarczy ci znajomość ostatniej cyfry. Za wyjątkiem wspomnianej 12 to chyba nie wiele się różnią No i jeszcze jakiś wyjątek dla liczby 1, ponieważ nie może być 1 osób tylko 1 osoba, ale już 11 osób, ...,111 osób, itd. Jeżeli chodzi o dwunastkę to faktycznie sprawdzasz czy odcięte dwie cyfry stanowią dwunastkę. Natomiast co do dwójki to ponownie operacja modulo i warunek Podobnie dla 2 będzie osoby, dla 12 osób, dla 22 osoby, 32 osoby, ..., 102 osoby, itd
Czyli ja bym zaproponował coś takiego:
ale nie testowałem więc nie wiem czy to jest poprawne. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 07:07 |