Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: скрипт, который поможет мне выбрать тарифный план
 
 автор: P@Sol   (09.08.2005 в 10:45)   письмо автору
 
 

решил написать скрипт, который поможет мне выбрать тарифный план для сотового телефона...я сделал так вводишь сумму денег, которую планируешь тратить в месяц и он выводит, на каком тарифе сколько минут можно болтать, но вот проблема...я исходил из того что половина средст тратиться на разговор с би+, 45% с МТС и 5% с Мегафоном...а на самом деле не половина средст, а половина времени...как это можно исправить?

   
 
 автор: Loki   (09.08.2005 в 11:36)   письмо автору
 
   для: P@Sol   (09.08.2005 в 10:45)
 

А что из себя представляет нынешняя формула? учитывается разница во времени суток? как распределены звонки по времени и пр?
а так фантазировать можно долго:)

   
 
 автор: P@Sol   (09.08.2005 в 11:51)   письмо автору
 
   для: Loki   (09.08.2005 в 11:36)
 

взял листочки с тарифами
МТС:
МТС-МТС 0,08
МТС-Би+ 0,30
МТС-Мегафон 0,30
Эти данные в бд

формула:

//$mts=0.45;
//$bee=0.50;
//$mf=0.05;
@$time2 = round($money*($mts/$row[2]+$bee/$row[3]+$mf/$row[4]),2); 

   
 
 автор: Loki   (09.08.2005 в 12:16)   письмо автору
 
   для: P@Sol   (09.08.2005 в 11:51)
 

.

   
 
 автор: cheops   (09.08.2005 в 12:17)   письмо автору
 
   для: P@Sol   (09.08.2005 в 11:51)
 

Но ведь происходит сравнивнение тарифных планов - просто введите понятине средней минуты разговора на тарифном плане - после небольших арифметических преобразований окажется, что стоимость этой средней минуты вычисляется как
$price = $mts*$row[2]+$bee*$row[3]+$mf*$row[4]

по ней вполне можно сравнивать тарифы по выгодности.

Что за переменная $money? Если это деньги больше которых вы не намерены тратить, то разделив их на $price вы получите число минут, которые сможете проговорить на данном тарифном плане.

   
 
 автор: P@Sol   (09.08.2005 в 12:52)   письмо автору
 
   для: cheops   (09.08.2005 в 12:17)
 

спасибо, хорошо...но хотелось бы все-таки учесть, то что я с би+ болтаю не 50% денежных средст, а 50% от общего времени....

   
 
 автор: cheops   (09.08.2005 в 13:02)   письмо автору
 
   для: P@Sol   (09.08.2005 в 12:52)
 

А так и есть - формула $price вычисляет стоимость минуты из распределения времени по операторам, т.е. она учитывает что вы говорите с би+ 50% времени.

PS На самом деле здесь всё нормально - у операторов жёсткая привязка стоимости к минуте разговора, поэтому всегда можно осуществить преобразование денег во время и времени в деньги, а приведённая выше формула и осуществляет такое преобразование.

   
 
 автор: P@Sol   (09.08.2005 в 13:19)   письмо автору
 
   для: cheops   (09.08.2005 в 13:02)
 

точно....совсем плохой я стал:)...спаисбо

   
 
 автор: P@Sol   (09.08.2005 в 15:08)   письмо автору
 
   для: cheops   (09.08.2005 в 13:02)
 

простите....но сегодня совсем не могу думать:(
получил допустим 50 минут. а как сделать "из этих 50 минут: 25 минут с би+, 20 мин с МТС, 5 мин. с Мегафоном"?

   
 
 автор: Loki   (09.08.2005 в 15:32)   письмо автору
 
   для: P@Sol   (09.08.2005 в 15:08)
 

разделить на (25+20+5) и поочередно умножать результат на 25, 20 и 5:)

   
 
 автор: P@Sol   (09.08.2005 в 15:56)   письмо автору
 
   для: Loki   (09.08.2005 в 15:32)
 

то что получилось в результате деления $money на $price поочередно умножил на $bee, $mts, $mf - то сколько я болтаю пользуясь каждым из операторов:)

   
 
 автор: P@Sol   (10.08.2005 в 11:01)   письмо автору
 
   для: P@Sol   (09.08.2005 в 10:45)
 

вот готовый скрипт...
чтобы добавить новый тариф, удалить или изменить старый надо ввести
index.php?admin=add

над защитой не замарачивался..т.к. это все равно долеко не пойдет:)

(с) P@Sol, 2005

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования