vivaki5 Δημοσ. 27 Απριλίου 2011 Δημοσ. 27 Απριλίου 2011 Γεια σας!!!Έχω να φτιάξω ένα προγραμματάκι στη Visual Basic και θα ήθελα αν είναι εύκολο την βοήθεια κάποιου που γνωρίζει!!!Το πρόγραμμα πρέπει να δέχεται σε ένα Textbox έναν αριθμό και να δείχνει στη συνέχεια σε ένα listbox το παραγοντικό του αριθμού αυτού.Το ζήτημα είναι ότι για αυτήν την διαδικασία δεν πρέπει να χρησιμοποιηθεί κάποια συνάρτηση που πιθανώς περιέχει το Visual Studio 2005.Θα ήθελα λίγη βοήθεια αν γίνεται στον κώδικα.Στη συνέχεια υπάρχει η εικόνα του designer για να καταλάβετε πάνω κάτω πως πρέπει να είναι το πρόγραμμα!!!Ευχαριστώ εκ των προτέρων... Εικόνα designer
_tasos Δημοσ. 27 Απριλίου 2011 Δημοσ. 27 Απριλίου 2011 Δηλαδή κάθε φορά που θα κάνεις κλικ στο κουμπί go θα προσθέτει στο listbox το παραγοντικό του; Επίσης όταν λες να μην χρησιμοποιήσεις κάποια συνάρτηση του .NET εννοείς για τον υπολογισμό του παραγοντικού, σωστά; > Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If (Not IsNumeric(TextBox1.Text)) Then MsgBox("Πληκτρολογήστε έναν ακέραιο αριθμό!") Exit Sub End If Dim myInt As Integer = CInt(TextBox1.Text) Dim myResult As Long = 1 For i As Integer = 1 To myInt Step 1 myResult = myResult * i Next ListBox1.Items.Add(myInt & "! = " & myResult) End Sub
vivaki5 Δημοσ. 27 Απριλίου 2011 Μέλος Δημοσ. 27 Απριλίου 2011 ναι αυτό εννοώ!!!τους υπολογισμούς να τους γράψουμε εμείς...τελικά το έκανα με έναν τρόπο αλλά δεν είμαι καθόλου σίγουρη για το πόσο σωστός μπορεί να θεωρηθεί... αν θέλετε ρίξτε μια ματιά και πείτε μου... Dim Paragodiko As Integer Dim I As Integer Dim F As Integer Dim G As String Paragodiko = CInt(TxtParagodiko.Text) If Paragodiko = 0 Then LstPlirofories.Items.Add(Paragodiko & "!" & "=" & "1") MessageBox.Show("Το παραγοντικό του μηδεν είναι ένα", "ΠΑΡΑΓΟΝΤΙΚΟ ΤΟΥ ΜΕΔΕΝ", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) ElseIf Paragodiko = 1 Then LstPlirofories.Items.Add(Paragodiko & "!" & "=" & "1") MessageBox.Show("Το παραγοντικό του ένα είναι ένα", "ΠΑΡΑΓΟΝΤΙΚΟ ΤΟΥ ΈΝΑ", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Else F = 1 For I = 2 To Paragodiko F = F * I Next G = 1 For I = 2 To Paragodiko G = G & "*" & I Next LstPlirofories.Items.Add(Paragodiko & "!" & "=" & G & "=" & F) End If Αν υπάρχει κάποιο λάθος παρακαλώ πείτε μου και γενικά αν έχετε κάποια παρατήρηση για την βελτίωση πείτε μου...
_tasos Δημοσ. 27 Απριλίου 2011 Δημοσ. 27 Απριλίου 2011 Σωστός είναι ο τρόπος σου, δεν βλέπω κάποιο λάθος. Αυτό που θα άλλαζα είναι οι δύο for να γίνουν μία. Με μία for η εκτέλεση του κώδικα είναι πιο γρήγορη. Επίσης το F να είναι καλύτερα Long και όχι Integer, για να μπορεί να αποθηκεύει μεγαλύτερα αποτελέσματα. > F = 1 G = 1 For I = 2 To Paragodiko F = F * I G = G & "*" & I Next
vivaki5 Δημοσ. 27 Απριλίου 2011 Μέλος Δημοσ. 27 Απριλίου 2011 Ευχαριστώ πολύ για τις παρατηρήσεις!!! Η αλήθεια είναι ότι επειδή ακόμη δεν έχω ασχοληθεί και πολύ με τη visual basic...και γενικά με τον προγραμματισμό κάτι τέτοια δεν τα πιάνω και πολύ εύκολα!!!και πάλι ευχαριστώ...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.