Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Zaokruzivanje na 2 decimale i funkcija kod if od do?!

[es] :: Visual Basic 6 :: Zaokruzivanje na 2 decimale i funkcija kod if od do?!

[ Pregleda: 8270 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

GazdaSale
Beograd

Član broj: 134519
Poruke: 145
*.eunet.yu.



Profil

icon Zaokruzivanje na 2 decimale i funkcija kod if od do?!22.12.2007. u 13:43 - pre 171 meseci
Pravim neki program za izracunavanje nekakvog proseka. Uradio sam kod za to izracunavanje ali hteo bih hteo da dobijeni rezultat bude sa 2 decimale (npr : 3,55 a ne 3,555555)

Takodje sam napravio labelu koja bi trebala da radi na principu ako je prosek od 3,5 do 4,4 onda je lbl.Caption = Vrlo dobar

E sad ne znam kako da ispisem to od do

Unapred Hvala,
Aleksandar
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Zaokruzivanje na 2 decimale i funkcija kod if od do?!22.12.2007. u 13:51 - pre 171 meseci
za zaokruzivanje koristis Round:
Code:

Round(3.555555, 2)

(i usput 3,555555 kad se zaokruzi na dve decimale dobije se 3,56 a ne 3,55 )

a za od do koristis relacione operatore, nesto kao:
Code:

If a >= 3.5 And a < 4.5 Then lbl.Caption = "vrlo dobar"

 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Zaokruzivanje na 2 decimale i funkcija kod if od do?!22.12.2007. u 13:52 - pre 171 meseci
Code:

Private Sub PopuniLabelu(ByVal dblRezultat As Double)
   
   'Zaokruzenje na 2 decimale
   dblRezultat = Round(dblRezultat, 2)
   
   Select Case dblRezultat
      Case Is < 1.5
         lbl.Caption = "Nedovoljan"
         Exit Sub
      Case Is < 2.5
         lbl.Caption = "Dovoljan"
         Exit Sub
      Case Is < 3.5
         lbl.Caption = "Dobar"
         Exit Sub
      Case Is < 4.5
         lbl.Caption = "Vrlo dobar"
         Exit Sub
      Case Else
         lbl.Caption = "Odlican"
   End Select
      
End Sub
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Zaokruzivanje na 2 decimale i funkcija kod if od do?!22.12.2007. u 14:05 - pre 171 meseci
sto se tice koda koji je Goran dao, nije bas tacan, tj kod je tacan, ali sta ako ucenik ima prosek 3.6 i zakljucenog "keca" iz matisa? onda je on nedovoljan ne vrlo dobar

treba i to uzeti u obzir...
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Zaokruzivanje na 2 decimale i funkcija kod if od do?!22.12.2007. u 14:26 - pre 171 meseci
Nisam se dovoljno udubio u problematiku, a i davno bese to "odlican", "vrlo dobar" i sl.

Dobro, onda nista ...
 
Odgovor na temu

GazdaSale
Beograd

Član broj: 134519
Poruke: 145
*.eunet.yu.



Profil

icon Re: Zaokruzivanje na 2 decimale i funkcija kod if od do?!22.12.2007. u 15:35 - pre 171 meseci
Ne znam zasto ali mi prosek izbacuje u minusu, pa samim tim i uvek pishe dovoljan...?!?!

Takodje kada napisem negde kao ocenu 1 izbaci mi greshku...kod za svaki txtbox glasi

Code:
If Text8.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If


[Ovu poruku je menjao GazdaSale dana 22.12.2007. u 16:46 GMT+1]
 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon Re: Zaokruzivanje na 2 decimale i funkcija kod if od do?!22.12.2007. u 15:54 - pre 171 meseci
Code:

dim i as double
i = 3.555555
i = Int(i * 100 + 0.5) / 100
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Zaokruzivanje na 2 decimale i funkcija kod if od do?!22.12.2007. u 15:58 - pre 171 meseci
Citat:
GazdaSale: Ne znam zasto ali mi prosek izbacuje u minusu, pa samim tim i uvek pishe dovoljan...?!?![Ovu poruku je menjao GazdaSale dana 22.12.2007. u 16:46 GMT+1]

Pa kako racunas taj prosek prijatelju, daj taj kod - znas da ne umemo da gledamo u pasulj.
 
Odgovor na temu

GazdaSale
Beograd

Član broj: 134519
Poruke: 145
*.eunet.yu.



Profil

icon Re: Zaokruzivanje na 2 decimale i funkcija kod if od do?!22.12.2007. u 17:15 - pre 171 meseci
Ovo sa nedovoljan je moglo bolje da se uradi al aj...

Code:
Private Sub Command1_Click()
Dim D1 As Single, D2 As Single, D3 As Single, D4 As Single, D5 As Single, D6 As Single, D7 As Single, D As Single
D1 = Text1.Text
D2 = Text2.Text
D3 = Text3.Text
D4 = Text4.Text
D5 = Text5.Text
D6 = Text6.Text
D7 = Text7.Text
D8 = Text8.Text
D9 = Text9.Text
D10 = Text10.Text
D11 = Text11.Text
D12 = Text12.Text

D = (D1 + D2 + D3 + D4 + D5 + D6 + D7 + D8 + D9 + D10 + D11 + D12) / 12
lblBroj.Caption = "(" & D & ")"
lblBroj.Caption = Round(lblBroj, 2)

If Text1.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
If Text2.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
If Text3.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
If Text4.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
If Text5.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
If Text6.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
If Text7.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
If Text8.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
If Text9.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
If Text10.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
If Text11.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
If Text12.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If
   
   
   Select Case lblBroj
      
      Case Is < 2.5
         lblIme.Caption = "Dovoljan"
         Exit Sub
      Case Is < 3.5
       lblIme.Caption = "Dobar"
         Exit Sub
      Case Is < 4.5
         lblIme.Caption = "Vrlo dobar"
         Exit Sub
      Case Is >= 4.5
       lblIme.Caption = "Odlican"
   End Select
      
End Sub

 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Zaokruzivanje na 2 decimale i funkcija kod if od do?!22.12.2007. u 18:01 - pre 171 meseci
Greska br. 1: Nisi dimenzionisao sve promenljive, pa su one koje nisi Variant, a kasnije postaju String a ti ih sabiras sa Single (sabiras babe i zabe)
Dakle, umesto:
Code:

Dim D1 As Single, D2 As Single, D3 As Single, D4 As Single, D5 As Single, D6 As Single, D7 As Single, D As Single

treba
Code:

Dim D1 As Single, D2 As Single, D3 As Single, D4 As Single, D5 As Single, D6 As Single, D7 As Single, Dim D8 As Single, D9 As Single, D10 As Single, D11 As Single, D12 As Single, D As Single

Sto si stao kod D7 - mrzelo da ta kucas dalje?

Greska br. 2:
Umesto:
Code:

lblBroj.Caption = Round(lblBroj, 2)

treba
Code:

lblBroj.Caption = Round(D, 2)

ako si vec izracunao prosek i dodelio rezultat promenljivoj D, sto je onda ne koristis?

Greska br. 3:
Ovo ti je biser
Code:

If Text1.Text = "1" Then
lblBroj = "" And lblIme.Caption = "Nedovoljan"
End If

ne mozes tako izvrsiti dva izraza, napisi ih posebno
Code:

If Text1.Text = "1" Then
lblBroj = ""
lblIme.Caption = "Nedovoljan"
End If

To vazi i za ostale blokove, a ne samo za ovaj koji se odnosi na Text1.Text

Greska br. 4:
Ako je utvrdjeno da ima neka jedinica treba izaci iz procedure, a ne ici dalje u SELECT...CASE deo
Code:

If lblBroj = "" Then Exit Sub

Ovaj kod ces staviti pre SELECT ... CASE

Greska br. 5:
Umesto
Code:

Select Case lblBroj
      
      Case Is < 2.5
         lblIme.Caption = "Dovoljan"
         Exit Sub
      Case Is < 3.5
       lblIme.Caption = "Dobar"
         Exit Sub
      Case Is < 4.5
         lblIme.Caption = "Vrlo dobar"
         Exit Sub
      Case Is >= 4.5
       lblIme.Caption = "Odlican"
   End Select

treba
Code:

Select Case D
      
      Case Is < 2.5
         lblIme.Caption = "Dovoljan"
         Exit Sub
      Case Is < 3.5
       lblIme.Caption = "Dobar"
         Exit Sub
      Case Is < 4.5
         lblIme.Caption = "Vrlo dobar"
         Exit Sub
      Case Is >= 4.5
       lblIme.Caption = "Odlican"
   End Select


Eto, 5 gresaka - pravo cudo da ti program nije eksplodirao (naravno salim se)
 
Odgovor na temu

GazdaSale
Beograd

Član broj: 134519
Poruke: 145
*.eunet.yu.



Profil

icon Re: Zaokruzivanje na 2 decimale i funkcija kod if od do?!23.12.2007. u 09:44 - pre 171 meseci
Shto se tice prve greske je sto sam kopirao iz necega sto sam pre radio pa...

Ja sam pre neshto radio u Basicu pa sam stao 2 meseca i sad ko da sam s marsa pao... :)

Hvala ti puno na svemu!
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.114.*



+7 Profil

icon Re: Zaokruzivanje na 2 decimale i funkcija kod if od do?!23.12.2007. u 21:05 - pre 171 meseci
Za ovakva racunanja (sa dosta kontrola na formi) je bolje da koristis nizove.
Npr.
Code:

Private Sub Command1_Click()
On Error GoTo Err
Dim D(12) As Single, DD As Single, i As Integer
For i = 0 To 11
If Text(i).Text = "" Then MsgBox "Nisu popunjena sva polja", vbExclamation: Exit Sub
D(i) = CSng(Text(i).Text)
If D(i) = 1 Then Label2.Caption = "Nedovoljan": Label1.Caption = "1": Exit Sub
DD = DD + D(i)
Next i
DD = DD / 12
Label1.Caption = CStr(Round(DD, 2))
Select Case DD
    Case Is < 1.5
    Label2.Caption = "Nedovoljan": Exit Sub
    Case Is < 2.5
    Label2.Caption = "Dovoljan": Exit Sub
    Case Is < 3.5
    Label2.Caption = "Dobar": Exit Sub
    Case Is < 4.5
    Label2.Caption = "Vrlo dobar": Exit Sub
    Case Is <= 5
    Label2.Caption = "Odlican": Exit Sub
    Case Else
    Label2.Caption = ":)": Exit Sub
End Select
Err:
Debug.Print Err.Description
For i = 0 To 11
Text(i).Text = ""
Next i
End Sub


Prikačeni fajlovi
 
Odgovor na temu

[es] :: Visual Basic 6 :: Zaokruzivanje na 2 decimale i funkcija kod if od do?!

[ Pregleda: 8270 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.