Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - listbox
Forum - Visual Basic 6 - listbox

Avatar
ele258 (Normal User)
Newbie


Messaggi: 2
Iscritto: 24/01/2010

Segnala al moderatore
Postato alle 15:18
Domenica, 24/01/2010
Ciao ragazzi!!! Ho bisogno di una mano!!! Devo creare un programma con visual basic 6 che inserendo tramite inpubox un limite (in questo caso 20) mi dia tuti i numeri pari minori di 20 in una listbox e che tramite due comandi mi faccia la somma e la media di questi numeri!..potete aiutarmi?? grazie!!!!


Per ora il codice ke ho fatto è stato questo..

Dim N1, N2, K As Integer

N1 = InputBox("inserisci limite", "inserisci numero")
N2 = InputBox("inserisci secondo limite", "inserisci numero")
For I = 2 To N1 - 1 Step 2
LSTNUMERI.AddItem I
Next I
End Sub

Ultima modifica effettuata da ele258 il 24/01/2010 alle 15:30
PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 15:57
Domenica, 24/01/2010
Prima di tutto non si capisce a cosa serva N2 visto che tu nel ciclo parti da 2 fisso.
Hai bisogno solo del limite superiore
Poi aggiungi alle variabili che già dichiari una chiamata SommaDeiNumeri e una chiamata NumeroDeiNumeri.
Dentro al ciclo metti un'istruzione NumeroDeiNumeri=NumeroDeiNumeri + 1.
Considera che la I del ciclo for rappresenta il numero che viene aggiunto alla lista.
Dentro al ciclo metti un'istruzione SommaDeiNumeri =SommaDeiNumeri + I
La media la lascio calcolare a te.

PM Quote
Avatar
Louis (Normal User)
Pro


Messaggi: 150
Iscritto: 22/04/2008

Segnala al moderatore
Postato alle 19:17
Martedì, 26/01/2010
Ciao ele258,
non so se ne hai ancora bisogno ... comunque ho voluto seguire una strada diversa da quella del Step 2, usando l'operatore Mod che, come sai, viene utilizzato per dividere due numeri e restituire il solo resto. In particolare il valore di Default l'ho settato = "19" dato che hai detto: "...numeri pari minori di 20" comunque puoi inserire il valore che vuoi. Per quanto riguarda la media ho calcolato quella aritmetica.
Codice sorgente - presumibilmente VB.NET

  1. Option Explicit
  2. '----------------------------
  3. Private Sub Command1_Click()
  4.     On Error GoTo Controllo
  5.    
  6.     Dim lgNumero As Long, lgNumeroPar As Long, lgNumeroDis As Long
  7.     Dim lgSumNumeroDis As Long, lgSumNumeroPar As Long
  8.     Dim lgDivMedPar As Long, lgDivMedDis As Long
  9.     Dim i As Integer
  10.     Dim Message As String, Title As String, Default, MyValue As Long
  11.     List1.Clear
  12.     List2.Clear
  13. ' Imposta il messaggio:
  14.     Message = "Immettere il limite superiore del calcolo."
  15. ' Imposta il titolo:
  16.     Title = "Determinazione dei numeri pari."
  17. ' Imposta il valore predefinito - inferiore a 20:
  18.     Default = "19"
  19.  
  20. ' Visualizza il messaggio, il titolo e il valore predefinito.
  21.     MyValue = InputBox(Message, Title, Default)
  22.     lgNumero = MyValue
  23.    
  24.     If Len(MyValue) > 0 Then
  25.         For i = 1 To lgNumero Step 1
  26.             lgNumero = CLng(i)
  27.             If (i) Mod 2 = 0 And 1 Then
  28.                 'MsgBox "Il numero è pari"
  29.                 lgNumeroPar = i
  30.                 List1.AddItem lgNumeroPar
  31.                 ' Effettua la somma dei valori pari:
  32.                 lgSumNumeroPar = (lgSumNumeroPar + lgNumeroPar)
  33.                 ' Numero dei componenti pari:
  34.                 lgDivMedPar = (lgDivMedPar + 1)
  35.                 'MsgBox "Il numero è dispari"
  36.                 Else
  37.                 lgNumeroDis = i
  38.                 List2.AddItem lgNumeroDis
  39.                 ' Effettua la somma dei valori dispari:
  40.                 lgSumNumeroDis = (lgSumNumeroDis + lgNumeroDis)
  41.                 ' Numero dei componenti dispari:
  42.                 lgDivMedDis = (lgDivMedDis + 1)
  43.             End If
  44.         Next i
  45.     End If
  46.    
  47. ' Valori delle somme:
  48.     Text1.Text = lgSumNumeroPar
  49.     Text2.Text = lgSumNumeroDis
  50. ' Valori delle medie aritmetiche:
  51.     Text3.Text = lgSumNumeroPar / lgDivMedPar
  52.     Text4.Text = lgSumNumeroDis / lgDivMedDis
  53.    
  54.     Exit Sub
  55. Controllo:
  56.     MsgBox "Il contenuto della casella di testo non è un numero!"
  57. End Sub



Ciao. :k:

PS: non so quanto possa valere in questo contesto, ma fai attenzione perché il numero zero è pari (equivale a due moltiplicato per zero).
Se devi considerarlo modifica il ciclo (0 To lgNumero Step 1).

  

Ultima modifica effettuata da Louis il 26/01/2010 alle 19:32
PM Quote
Avatar
ele258 (Normal User)
Newbie


Messaggi: 2
Iscritto: 24/01/2010

Segnala al moderatore
Postato alle 13:57
Domenica, 31/01/2010
Grazie mille!!!!!!!:k:

PM Quote