Nepravilen izpis Funkcije

Pomoč pri izdelavi makrov
Odgovori
missy
Prispevkov: 40
Pridružen: To Apr 11, 2006 7:03 pm

Nepravilen izpis Funkcije

Odgovor Napisal/-a missy »

Ponovno pozdravljneni! Morda sem že malo tečna, sam še vedno potrebujem pomoč!!!

Ne morem ugotoviti napake, zakaj mi ne pravilno izpisuje!

Če npr. vnesem 6 za katero vem, da je to popolno število, mi vedno poleg tega izpisa izpiše še 6!!

Enako je v primeru št. 5, ki pa je nepopolno število, na koncu doda 1!
To kar dodaja je vbistvu seštevek zapisan v popolno, vsaj meni se tko zdi!

Morda zato, ker naj bi funkcija vračala integer?

Pomoč bi mi prav prišla!

Lp, Missy

Koda: Izberi vse

Function popolno(stevilo As Integer) As Integer

Dim i As Integer
popolno = 0

For i = 1 To stevilo - 1
    If (stevilo Mod i) = 0 Then
        popolno = popolno + i
    End If
Next
If popolno = stevilo Then
    MsgBox ("Število " & stevilo & " je popolno!")
Else
    MsgBox ("Število " & stevilo & " ni popolno!")
End If

End Function


Sub klicpopolno()

stevilo = InputBox("Vnesi stevilo za preverjanje!")
MsgBox popolno(CInt(stevilo))

End Sub

admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

Najprej se morava uskladiti glede popolnih števil. Meni je bil ta termin popolnoma neznan, zato sem seveda pogledal po internetu in o popolnih številih je lepa razlaga na Wikipediji http://sl.wikipedia.org/wiki/Popolno_%C5%A1tevilo. Tu piše, da je popolno število tisto število, kateraga vsota njegovih pravih deljiteljev je enaka njemu samemu. Nadalje piše, da so pravi deljitelji vsi deljitelji razen njega samega. OK. Super.

Zdaj pa algoritem. Napišite mi algoritem, ki naj bi vam za neko število povedal ali je popolno ali ne. Ne pišite kode. Napišite algoritem v slovenskem jeziku. Ko bova imela algoritem, pa ga bova zapisala v VBA-ju.
lp,
Matjaž Prtenjak
Administrator
missy
Prispevkov: 40
Pridružen: To Apr 11, 2006 7:03 pm

Odgovor Napisal/-a missy »

Hvala za namig, vendar sem ugotovila napako in sedaj mi dela tko kot bi moralo!


Problem je bil v klicu funkcije kot sem predvidevala in sicer tisti MsgBox je bil odveč !!!!

Koda: Izberi vse

Sub klicpopolno()

stevilo = InputBox("Vnesi stevilo za preverjanje!")
popolno (CInt(stevilo))

End Sub
Še enkrat hvala za pomoč in lep dan še naprej![
siing
Prispevkov: 1
Pridružen: To Maj 23, 2006 3:06 pm

Odgovor Napisal/-a siing »

ojla,

1-ič ti javi msgbox ( število je pravilno ) v funciji
2-ič ti javi msgbox (rezultat funkcije )
missy
Prispevkov: 40
Pridružen: To Apr 11, 2006 7:03 pm

Odgovor Napisal/-a missy »

Ja to sm pogruntala!

Hvala.
Odgovori