Помош околу код во VB

  • Креатор на темата Креатор на темата BrunoFresh
  • Време на започнување Време на започнување
B

BrunoFresh

Гостин

Ми треба ПОМОШ околу едно програмче кое го работам, но заглавив некаде.

Вака сеа, работам на VB2010, и моментално изработувам една програма по свој желба но заглавив на едно место. Целата финта на програмата е, најпрво да се внесат 4 податоци за Part А и 4 податоци за Part B,а потоа според некоја моја замисла и математика да се одреди кој Part е победник или има подобри податоци, итн. Еве ви краток опис на програмата, па ќе објаснам што ми е проблемот т..е каде заглавувам.
Код:
      Part 1                      Part 2
_________________            ________________
h1      20                  h2        15
a1      5                    a2          4
d1      10                  d2          9
l1      2                    l2          1

(табелите со произволни податоци за Part 1 и Part 2; h1-2,a1-2,d1-2,l1-2 се непознатите за кои се зададени податоците)

Математиката:
Код:
(l1+a1)/d2 = c1
(l2+a2)/d1 = c2
Потоа, со добиените податоци се извршува следниве матемaтички формули:
Код:
resth2=h2-c1
resth1=h1-c2
(овие форумли се повторуваат се додека едната од нив не добија резултат, помал или еднаков на 0. Кога едната од нив ќе го добија тој резултат помал или еднаков од нула, програмата прекинува и го испушува кој Part има подобри податоци, односно ако resth2 е помал или еднаков на нула тогаш Part1 има подобри податоци, а ако resth1 е помал и еднаков на нула тогаш Part2 има подобри податоци.

Проблем: Проблемот се содржи во тоа што, неможам да направам прво да се извршуваат овие математички фунцкии:
Код:
(l1+a1)/d2 = c1
(l2+a2)/d1 = c2
а потоа со добиените податоци за c1 и c2 да се повторуваат цело време формулите заresth2 и resth1, се додека едниот од нив не дојде побрзо да е помал или еднаков на нула. И тука да запира целата програма.
 
Ми треба ПОМОШ околу едно програмче кое го работам, но заглавив некаде.
.
.
.
Зошто неможеш . објасни подетално што е проблемот?
--- надополнето: Sep 11, 2011 2:44 PM ---
само напиши:

c1= (l1+a1)/d2
c2= (l2+a2)/d1
но пази d1 i d2 da bidat razlicni od nula
 
Да тоа ми е јасно ради тоа што овде имаме делење, па неможи со 0 да се дели. Мора да биди 1. Но друго е проблемот.Како да направам прво формулите...
Код:
(l1+a1)/d2 = c1

(l2+a2)/d1 = c2
..да се изврушуваат еднаш, а потоа со добијаните резултати за c1 и c2, да се изврушуваат следните форумули во исто време, и да се повторуваат се додека...
Код:
resth2=h2-c1

resth1=h1-c2
.. resth2 или resth1 не дојде да е =< 0. Од кога некој од овие попрво ќе дојди да е =<0 ,програмата да запри и преку MsgBox да се испиши дека веќе едниот од нив (зависи кој ќе биди) дојде да е еднаков или помал од 0, и дека другите податоци се подобри.

Пример: resth1 иди да е еднаков или помал од 0, додека resth2 е некаде да речме 24.5. Програмата тука запира и се исушува. "Resth1 достигна помало или еднакво ниво од 0, а resth2 достигна резултат од 24.5. Со тоа означуваме дека Part 2 е подобар од Part 1."
 
Да тоа ми е јасно ради тоа што овде имаме делење, па неможи со 0 да се дели. Мора да биди 1. Но друго е проблемот.Како да направам прво формулите...
Код:
(l1+a1)/d2 = c1

(l2+a2)/d1 = c2
..да се изврушуваат еднаш, а потоа со добијаните резултати за c1 и c2, да се изврушуваат следните форумули во исто време, и да се повторуваат се додека...
Код:
resth2=h2-c1

resth1=h1-c2
.. resth2 или resth1 не дојде да е =< 0. Од кога некој од овие попрво ќе дојди да е =<0 ,програмата да запри и преку MsgBox да се испиши дека веќе едниот од нив (зависи кој ќе биди) дојде да е еднаков или помал од 0, и дека другите податоци се подобри.

Пример: resth1 иди да е еднаков или помал од 0, додека resth2 е некаде да речме 24.5. Програмата тука запира и се исушува. "Resth1 достигна помало или еднакво ниво од 0, а resth2 достигна резултат од 24.5. Со тоа означуваме дека Part 2 е подобар од Part 1."

Ова мислам е тоа што ти треба, кодот може да има синтаксички грешки оти директно го пишав во одговорот(го немам компајлирано).
Код:
'Одредување на нивото
While resth1 > 0 AndAlso resth2 >0
resth2=h2-c1
resth1=h1-c2
End While

'Овде испишува кој е подобар, земена е можноста и двата да бидат помали или еднакви на нула
If resth1 <= 0 AndAlso resth2 <= 0 Then
MsgBox("Resth1 и Resth2 достигнаа помало или еднакво ниво од 0")
Else
If resth1 <= 0 Then
MsgBox("Resth1 достигна помало или еднакво ниво од 0, а resth2 достигна резултат од " & resth2)
Else
If resth2 <= 0 Then
MsgBox("Resth2 достигна помало или еднакво ниво од 0, а resth1 достигна резултат од " & resth1)
 
Кодот е готов. Благодарам за помошта Clen01, но најзаслужен е acealek88. Благодарам
 

Kajgana Shop

Back
На врв Bottom