Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    153

    visual basic.net [vettori]

    ciao a tutti,
    volevo un piccolo accorgimento su questo codice perchè non riesco a capire dove sbaglio!
    dovrei caricare un vettore su dei voti di alcuni studenti e devo visualizzare in una textbox il totale dei studenti con voto maggiore o uguale a 6, inoltre dovrei mostrare la posizione dei dati o meglio dei numeri del vettore maggiore di 6 in un'altra textbox.

    <code>
    Dim v(100) As Integer
    Const max As Integer = 101
    Dim dimensione As Integer
    Private Sub btncarica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncarica.Click
    Dim i, somma As Integer

    Do
    dimensione = Val(InputBox("inserisci quanti voti dei studenti vuoi considerare ", "chiedi dimensione"))
    Loop Until dimensione >= 1 And dimensione <= max
    For i = 0 To dimensione - 1
    v(i) = Val(InputBox("inserisci la loro valutazione", "chiedi caricamento"))
    somma = 0
    If v(i) >= 6 Then
    somma = somma + 1
    End If
    Next i
    txt1.Text = somma
    End Sub

    Private Sub btnmostra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmostra.Click
    Dim i
    For i = 0 To dimensione - 1
    txt2.Text = txt2.Text & CStr(v(i)) & " "
    Next i
    </code>
    If v(i) >= 6 Then somma = somma + 1 End If
    ciò che ho evidenziato in blu mi somma solo l'ultimo valore del vettore.
    per esempio se io come ultimo dato nel caricare il vettore dato metto 6 o maggiore mi somma uno altrimenti zero. (questo e giusto ma io lo vorrei che lo facesse su tutti i dati caricati nel vettore) For i = 0 To dimensione - 1 txt2.Text = txt2.Text & CStr(v(i)) & " "
    Inoltre questo evidenziato in rosso mi mostra tutte le posizioni dei dati del vettore mentre io desidererei solo la posizione dei dati >= a 6.
    grazie del vostro interesse e spero di non aver chiesto troppo!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Nel primo caso il problema e' che tu azzeri il contatore

    somma = 0

    all'interno del ciclo for e non fuori, come dovresti.

    Nel secondo caso, manca la if con i criteri di cui parli (>=6).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.