Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα παιδιά

 

Προσπαθώ να φτιάξω ένα πρόγραμμα που να επιλέγει 5 αριθμούς + 1 Τζόκερ στο VB 2008 Express Edition.

 

Αντιμετωπίζω όμως κάποια προβλήματα γιατί είμαι εντελώς αρχάριος.

 

Α) Όταν κάνω τη διαλογή, μου εμφανίζει και τον αριθμό "0", ο οποίος δεν θέλω να εμφανίζεται. Θέλω από 1-45 (για τους κοινούς) και 1-20 (για Τζόκερ)

 

Β) Στη στήλη με τους 5 κοινούς αριθμούς πολλές φορές μου βγάζει τον ίδιο αριθμό 2 φορές, πράγμα το ο οποίο επίσης δεν θέλω να γίνεται. Για τον τζόκερ δεν με πειράζει να έχει τον ίδιο με κάποια από τις στήλες.

 

Ορίστε και ο κώδικας:

 

>Public Class Form1

   Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       End

   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Label1.Text = CStr(Int(Rnd() * 46))  'pick numbers
       Label2.Text = CStr(Int(Rnd() * 46))
       Label3.Text = CStr(Int(Rnd() * 46))
       Label4.Text = CStr(Int(Rnd() * 46))
       Label5.Text = CStr(Int(Rnd() * 46))
       Label6.Text = CStr(Int(Rnd() * 21))

   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Randomize()

   End Sub
End Class

 

Το φτιάχνω μόνο και μόνο για την καυλάντα και δεν σπουδάζω πουθενά προγραμματισμό. Οπότε δεν είναι κάποιου είδους άσκηση :)

 

Έχω και τα αρχεία Εδώ

 

Αν μπορεί κάποιος να βοηθήσει. :)

 

Ευχαριστώ

Δημοσ.

Τα λάθη που λες ότι έχεις μου φαίνονται ως λογικά λάθη. Οπότε, θα σου πρότεινα να δεις την λογική σου.

 

Εν γένει, μία τακτική που τηρείται και αποδίδει είναι πρώτα να σχεδιάζει κανείς την λογική και μετά να προγραμματίζει. Οπότε, σου προτείνω να δεις την λογική σου, να την γράψεις κάτω σε χαρτί και μετά να την "περάσεις" στον Η/Υ με κάποια γλώσσα προγραμματισμού.

 

 

Εάν θες, μπορείς να παραθέσεις την λογική σου εδώ και να το συζητήσουμε.

Δημοσ.

Καλησπέρα παιδιά

 

Προσπαθώ να φτιάξω ένα πρόγραμμα που να επιλέγει 5 αριθμούς + 1 Τζόκερ στο VB 2008 Express Edition.

 

Αντιμετωπίζω όμως κάποια προβλήματα γιατί είμαι εντελώς αρχάριος.

 

Α) Όταν κάνω τη διαλογή, μου εμφανίζει και τον αριθμό "0", ο οποίος δεν θέλω να εμφανίζεται. Θέλω από 1-45 (για τους κοινούς) και 1-20 (για Τζόκερ)

 

Β) Στη στήλη με τους 5 κοινούς αριθμούς πολλές φορές μου βγάζει τον ίδιο αριθμό 2 φορές, πράγμα το ο οποίο επίσης δεν θέλω να γίνεται. Για τον τζόκερ δεν με πειράζει να έχει τον ίδιο με κάποια από τις στήλες.

 

Ορίστε και ο κώδικας:

 

>Public Class Form1

   Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       End

   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Label1.Text = CStr(Int(Rnd() * 46))  'pick numbers
       Label2.Text = CStr(Int(Rnd() * 46))
       Label3.Text = CStr(Int(Rnd() * 46))
       Label4.Text = CStr(Int(Rnd() * 46))
       Label5.Text = CStr(Int(Rnd() * 46))
       Label6.Text = CStr(Int(Rnd() * 21))

   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Randomize()

   End Sub
End Class

 

Το φτιάχνω μόνο και μόνο για την καυλάντα και δεν σπουδάζω πουθενά προγραμματισμό. Οπότε δεν είναι κάποιου είδους άσκηση :)

 

Έχω και τα αρχεία Εδώ

 

Αν μπορεί κάποιος να βοηθήσει. :)

 

Ευχαριστώ

 

Από VB δεν κατέχω, κοιτάζοντας όμως λίγο το θέμα στην VBA του Office, για το α) θα έβαζα +1 μετά το RND ώστε να εξασφαλίσω ότι θα έχω πάντα τιμή ανώτερη του 0 αλλά φυσικά θα μείωνα ανάλογα την ανώτερη τιμή (πχ. το 46) ώστε να μην ξεφεύγω εκτός ορίων.

 

Για το β) θα πρέπει να κρατάς κάπου τους αριθμούς που έχουν ήδη επιλεγεί και ύστερα αν κάποιος από αυτούς επανεμφανιστεί δεν θα τον δέχεσαι αλλά θα ζητάς έναν άλλον (λέω τώρα, μια σκέψη).

Δημοσ.

Από VB δεν κατέχω, κοιτάζοντας όμως λίγο το θέμα στην VBA του Office, για το α) θα έβαζα +1 μετά το RND ώστε να εξασφαλίσω ότι θα έχω πάντα τιμή ανώτερη του 0 αλλά φυσικά θα μείωνα ανάλογα την ανότερη τιμή (πχ. το 46) ώστε να μην ξεφεύγω εκτός ορίων.

 

Για το β) θα πρέπει να κρατάς κάπου τους αριθμούς που έχουν ήδη επιλεγεί και ύστερα αν κάποιος από αυτούς επανεμφανιστεί δεν θα τον δέχεσαι αλλά θα ζητάς έναν άλλον (λέω τώρα, μια σκέψη).

 

Ευχαριστώ πολύ. Δοκιμάζω και βλέπω :)

Δημοσ.

Για το α) γραφεις Int(Rnd() * 45) + 1 για αριθμους απο το 1 ως το 45

και Int(Rnd() * 20) + 1 για αριθμους απο το 1 ως το 20

Για το β) οτι σου ειπε ο DirectX

Δημοσ.

Ευχαριστώ παίδες

 

Έφτιαξα αυτό και μου επιλέγει από 1 έως και 45. Να φανταστώ είναι σωστό κι αυτό σαν λύση;

 

>Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       
       Dim RandomNumber As Integer
       Dim Rnd As Random = New Random

       RandomNumber = Rnd.Next(1, 46)

       Label1.Text = Rnd.Next(1, 46)
       Label2.Text = Rnd.Next(1, 46)
       Label3.Text = Rnd.Next(1, 46)
       Label4.Text = Rnd.Next(1, 46)
       Label5.Text = Rnd.Next(1, 46)
       Label6.Text = Rnd.Next(1, 21)

   End Sub

 

Τώρα για το Β, θα το βρούμε κι αυτό :)

Δημοσ.

Ευχαριστώ παίδες

 

Έφτιαξα αυτό και μου επιλέγει από 1 έως και 45. Να φανταστώ είναι σωστό κι αυτό σαν λύση;

 

>Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       
       Dim RandomNumber As Integer
       Dim Rnd As Random = New Random

       RandomNumber = Rnd.Next(1, 46)

       Label1.Text = Rnd.Next(1, 46)
       Label2.Text = Rnd.Next(1, 46)
       Label3.Text = Rnd.Next(1, 46)
       Label4.Text = Rnd.Next(1, 46)
       Label5.Text = Rnd.Next(1, 46)
       Label6.Text = Rnd.Next(1, 21)

   End Sub

 

 

Σωστο και αυτο απλως δεν χρειαζεται η μεταβλητη RandomNumber γιατι δεν την χρησιμοποιεις πουθενα.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...