purebasic.info

PureBasic forum
Текущее время: Вт окт 23, 2018 12:54 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Ср мар 08, 2017 11:06 am 
Не в сети
доцент

Зарегистрирован: Чт дек 08, 2016 5:32 pm
Сообщений: 25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
У меня такая проблема:неправильно высчитываются проценты.Все должно обстоять так:в начале высчитываются проценты с суммы,а потом эти проценты прибавляются к сумме,затем от полученной суммы мы высчитываем проценты и складываем проценты с получившейся суммой.Но расчеты идут не правильные,подскажите в чем дело?
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
OpenWindow(0,  0,0, 640, 480, "" )
ButtonGadget(3, 0, 250, 150, 40, "")
sum=100000
i=6
pr=8
Repeat
  WaitWindowEvent()
  Select WaitWindowEvent()
      Case #PB_Event_Gadget
        Select EventGadget()
          Case 3
            For n=0 To i
              ur=pr*sum/100
              sum=sum+ur
Next
MessageRequester("проценты",Str(sum))
EndSelect
      Case #PB_Event_CloseWindow
        Break
    EndSelect
  ForEver



Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср мар 08, 2017 11:17 am 
Не в сети
док

Зарегистрирован: Ср фев 23, 2011 5:16 am
Сообщений: 96
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Приоритеты расставь. Сначала деление потом умножение.

Код:
1
2
3
4
5
6
7
8
9
10
 
sum=100000
i=6
pr=8
ur=pr*(sum/100)
sum=sum+ur
Debug sum
 
 
 



Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср мар 08, 2017 11:21 am 
Не в сети
док

Зарегистрирован: Ср фев 23, 2011 5:16 am
Сообщений: 96
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Хотя и без скобок работает, сначала же деление идет потом умножение :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср мар 08, 2017 11:27 am 
Не в сети
док

Зарегистрирован: Ср фев 23, 2011 5:16 am
Сообщений: 96
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
При каждом нажатие на кнопку процент расчитывается от последней расчитанной суммы. То есть сначала с 100000 тысяч, потом со 108000 и т. д
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Enumeration
  #Window_0
EndEnumeration
 
;- Gadget Constants
;
Enumeration
  #Button_0
EndEnumeration
 
sum=100000
i=6
pr=8
 
 
Procedure Open_Window_0()
  If OpenWindow(#Window_0, 1192, 95, 600, 299, "Demo",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateGadgetList(WindowID(#Window_0))
      ButtonGadget(#Button_0, 460, 260, 130, 30, "Расчитать")
    EndIf
  EndIf
EndProcedure
 
Open_Window_0()
 
Repeat ; Start of the event loop
 
  Event = WaitWindowEvent() ; This line waits until an event is received from Windows
  GadgetID = EventGadget() ; Is it a gadget event?
 
 
  If Event = #PB_Event_Gadget
   
 
    If GadgetID = #Button_0
            For n=0 To 0
              ur=pr*sum/100
              sum=sum+ur
            Next
      MessageRequester("проценты",Str(sum))
    EndIf
   
  EndIf
 
Until Event = #PB_Event_CloseWindow ; End of the event loop
 
End



Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB