![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
Witam,
Napisałem na konkurs 2 kalkulatory. Pierwszy z nich służy do obliczania adresu sieciowego oraz rozgłoszeniowego hosta (we wszystkich możliwych notacjach) na podstawie adresu IP (również w dowolnej notacji) oraz maski podsieci. Pierwszy skrypt: http://kklodzka.pdg.pl/subnet_calculkator.php http://kklodzka.pdg.pl/subnet_calculkator.txt (kod) Proszę o jakieś sugestie i uwagi. Może da się to jakoś zoptymalizować lub uprościć. Drugi skrypt służy do przeliczania danych pomiędzy jednostkami danych i czasu, np. 100Mb/s na GB/10min. Jest mi to potrzebne do popularnego zadania z kurierem niosącym pendrivea między oddziałami firmy. W takim zadaniu trzeba zazwyczaj określić czy kureir jest szybszy od sieci Fast Ethernet (100Mb/s). Pierwsza wersja skryptu: http://kklodzka.pdg.pl/unit_calculator.php http://kklodzka.pdg.pl/unit_calculator.txt (kod) Wersja z << i >>: http://kklodzka.pdg.pl/unit_calculator2.php http://kklodzka.pdg.pl/unit_calculator2.txt (kod) Druga wersja skryptu niestety nie działa, najprawdopodobniej dlatego że gdy zamieniam TB na b muszę zrobić << lub >> o więcej niż 32. Proszę o pomoc w rozwiązaniu tego problemu oraz o sugestie jak jeszcze mogę usprawnić ten skrypt. -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Cytat Proszę o jakieś sugestie i uwagi. Może da się to jakoś zoptymalizować lub uprościć. http://forum.php.pl/index.php?showtopic=13...mp;#entry685885 Kod //From TB if($_POST["input_data_unit"] == "TB" && $_POST["output_data_unit"] == "TB") $result = $_POST["input_data_value"]; elseif($_POST["input_data_unit"] == "TB" && $_POST["output_data_unit"] == "Tb") $result = $_POST["input_data_value"]*8; elseif($_POST["input_data_unit"] == "TB" && $_POST["output_data_unit"] == "GB") $result = $_POST["input_data_value"]*1024; elseif($_POST["input_data_unit"] == "TB" && $_POST["output_data_unit"] == "Gb") $result = $_POST["input_data_value"]*1024*8; elseif($_POST["input_data_unit"] == "TB" && $_POST["output_data_unit"] == "MB") $result = $_POST["input_data_value"]*1024*1024; elseif($_POST["input_data_unit"] == "TB" && $_POST["output_data_unit"] == "Mb") $result = $_POST["input_data_value"]*1024*1024*8; elseif($_POST["input_data_unit"] == "TB" && $_POST["output_data_unit"] == "kB") $result = $_POST["input_data_value"]*1024*1024*1024; elseif($_POST["input_data_unit"] == "TB" && $_POST["output_data_unit"] == "kb") $result = $_POST["input_data_value"]*1024*1024*1024*8; elseif($_POST["input_data_unit"] == "TB" && $_POST["output_data_unit"] == "B") $result = $_POST["input_data_value"]*1024*1024*1024*1024; elseif($_POST["input_data_unit"] == "TB" && $_POST["output_data_unit"] == "b") $result = $_POST["input_data_value"]*1024*1024*1024*1024*8; ... i tak dla wszystkich jednostek czyli 10 * 10 = 100 linii na samo przeliczenie Myślałem, że padne... -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
Tylko nie mów że wygrałeś
![]() Zbyt dużo zbędnego kodu. Nie myślałeś by go skrócić? -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
LOL Myślałem, ale nie wiem jak i właśnie dlatego tutaj piszę. Macie jakieś pomysły jak można usprawnić te kody?
![]() ![]() P.S. Nie chcę korzystać z żadnych dodatkowych klas, bo wiem że da się to zrobić w paru linijkach, gdzieś już taki kod widziałem, tylko wtedy nie był mi on potrzebny, a teraz nie mogę go znaleźć. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A klasa nie może się składać z paru linijek? Przerób sobie na funkcje i nie będzie to klasą... Dałem ci link jak można to w łatwy nie inwazyjny sposób rozwiązać.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 22:35 |