Καλημέρα.
Μαθαίνοντας κώδικα με τον Visual Studio 2017, έφτιαξα ένα απλό calculator με όλες τις σύνηθες πράξεις καθώς και τετραγωνική ρίζα.
Το μόνο που επιπλέον θα ήθελα, είναι ο κώδικας για το % , και δυστυχώς όσο κι αν πειραματίστηκα με διάφορα βίντεο από Youtube,
ο κώδικας δεν είναι συμβατός με το 2017, ενώ λένε για 2017!
Γνωρίζει κάποιος τον συγκεκριμένο κώδικα για να ολοκληρώσω την εφαρμογή;
Σας Ευχαριστώ εκ των προτέρων!
Εμφάνιση 1-5 από 5
-
19-11-21, 11:26 Visual Studio 2017 Κώδικας για Calculator #1
-
19-11-21, 13:20 Απάντηση: Visual Studio 2017 Κώδικας για Calculator #2
Καλημέρα,
Μερικά βασικά πράγματα, για να μην ψάχνεις χωρίς λόγο και δεν βρίσκεις τίποτα!
Το Visual Studio είναι ένα περιβάλλον προγραμματισμού (IDE) και όχι γλώσσα προγραμματισμού / βιβλιοθήκη. Στο Visual Studio μπορείς να γράψεις σε πολλές γλώσσες: C#, Visual Basic, F#, C++ (και άλλες, αλλά αυτές είναι οι κύριες), και να χρησιμοποιήσεις πολλές βιβλιοθήκες τόσο για το γραφικό περιβάλλον WinForms, WPF κτλ, όσο και για τον κώδικα που γράφεις (.NET, dotnet, entity framework κτλ).
Οπότε το να ψάχνεις για "Visual Studio 2017 Calculator percentage" είναι λίγο άτοπο! Πρέπει να ψάξεις το αντίστοιχο που κάνεις εσύ (πχ "C# Calculator Percentage").
Κατά πάσα πιθανότητα ξεκίνησες με Windows Forms Project (C#) στο Visual Studio οπότε θα θεωρήσω ότι χρησιμοποιείς C# και WinForms για την επεξήγηση με το calculator. Επειδή δεν έχω τον κώδικά σου, θα κάνω ορισμένες παραδοχές για το πώς το έχεις υλοποιήσει μέχρι τώρα, ώστε να μπορέσω να σου εξηγήσω πως δουλεύει το ποσοστό. Αν κάτι δεν ταιριάζει με τα δικά σου πες μου τι έχεις κάνει για να δούμε πως μπορείς να το υλοποιήσεις.
Αν πάρουμε πρώτα τις βασικές πράξεις [+, -. *, /]. Όταν ο χρήστης κάνει μία πράξη πατάει πρώτα ένα νούμερο, μετά ένα σύμβολο, μετά ένα άλλο νούμερο και μετά είτε άλλη πράξη είτε το "=".
Θεωρώ ότι υπάρχουν τρεις μεταβλητές, δύο που κρατάνε τα νούμερα και μία που κρατάει την πράξη που θα γίνει.
Κώδικας:double previous = 0; //η προηγούμενη τιμή double current; // η τωρινή τιμή char operator; // ο τελεστής της πράξης
- Αν είναι η πρώτη φορά που γίνεται πράξη
1. αποθηκεύει τον τελεστή στο operator
2. αποθηκεύει στο previous το current
- Αν είναι συνέχεια πράξεων
1. κάνει πράξη που είναι αποθηκευμένη στο operator
2. αποθηκεύει τον τελεστή στο operator
3. αποθηκεύει στο previous το αποτέλεσμα
Αυτή είναι σε γενικές γραμμές μία λογική σειρά πράξεων για ένα βασικό κομπιουτεράκι.
Αν πάρουμε το σύμβολο '%' τώρα, ο τρόπος με τον οποίο λειτουργεί συνήθως είναι ότι πληκτρολογούμε ένα νούμερο και μόλις πατάμε το "%" τότε αυτό που έχουμε γράψει αλλάζει και γίνεται το ποσοστό του προηγούμενου αποτελέσματος, ώστε να χρησιμοποιηθεί με κάποιον άλλο τελεστή.
ΠΧ αν πατήσουμε διαδοχικά:
200 + 10%
τότε μόλις πατήσουμε το % το "10" που γράψαμε θα γίνει αυτόματα 20, ώστε όταν πατήσουμε το "=" να υπολογιστεί 200+20=220 (200 + 10%).
Αυτό σημαίνει ότι το % δεν αλλάζει το προηγούμενο αποτέλεσμα, αλλά το τωρινό. Οπότε μία αντίστοιχη συνάρτηση θα μπορούσε να είναι:
Κώδικας:onClickPercentage(){ double newValue = previous * current / 100; // υπολογίζουμε το ποσοστό που αντιστοιχεί current = newValue; // εμφανίζουμε στον χρήστη το καινούργιο current }
-
19-11-21, 14:21 Απάντηση: Visual Studio 2017 Κώδικας για Calculator #3
Σου στέλνω φίλε μου τον κώδικα για να σε βοηθήσω.
Public Class Form1
Dim firstNumber As Decimal
Dim secondNumber As Decimal
Dim operations As Integer
Dim operatorSelect As Boolean = False
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button01.Click
If TextBox1.Text <> "0" Then
TextBox1.Text += "1"
Else
TextBox1.Text = "1"
End If
End Sub
Private Sub Button02_Click(sender As Object, e As EventArgs) Handles Button02.Click
If TextBox1.Text <> "0" Then
TextBox1.Text += "2"
Else
TextBox1.Text = "2"
End If
End Sub
Private Sub Button03_Click(sender As Object, e As EventArgs) Handles Button03.Click
If TextBox1.Text <> "0" Then
TextBox1.Text += "3"
Else
TextBox1.Text = "3"
End If
End Sub
Private Sub Button04_Click(sender As Object, e As EventArgs) Handles Button04.Click
If TextBox1.Text <> "0" Then
TextBox1.Text += "4"
Else
TextBox1.Text = "4"
End If
End Sub
Private Sub Button05_Click(sender As Object, e As EventArgs) Handles Button05.Click
If TextBox1.Text <> "0" Then
TextBox1.Text += "5"
Else
TextBox1.Text = "5"
End If
End Sub
Private Sub Button06_Click(sender As Object, e As EventArgs) Handles Button06.Click
If TextBox1.Text <> "0" Then
TextBox1.Text += "6"
Else
TextBox1.Text = "6"
End If
End Sub
Private Sub Button07_Click(sender As Object, e As EventArgs) Handles Button07.Click
If TextBox1.Text <> "0" Then
TextBox1.Text += "7"
Else
TextBox1.Text = "7"
End If
End Sub
Private Sub Button08_Click(sender As Object, e As EventArgs) Handles Button08.Click
If TextBox1.Text <> "0" Then
TextBox1.Text += "8"
Else
TextBox1.Text = "8"
End If
End Sub
Private Sub Button09_Click(sender As Object, e As EventArgs) Handles Button09.Click
If TextBox1.Text <> "0" Then
TextBox1.Text += "9"
Else
TextBox1.Text = "9"
End If
End Sub
Private Sub Button00_Click(sender As Object, e As EventArgs) Handles Button00.Click
If TextBox1.Text <> "0" Then
TextBox1.Text += "0"
End If
End Sub
Private Sub ButtonPoint_Click(sender As Object, e As EventArgs) Handles ButtonPoint.Click
If Not (TextBox1.Text.Contains(".")) Then
TextBox1.Text += "."
End If
End Sub
Private Sub ButtonClear_Click(sender As Object, e As EventArgs) Handles ButtonClear.Click
TextBox1.Text = "0"
End Sub
Private Sub ButtonSyn_Click(sender As Object, e As EventArgs) Handles ButtonSyn.Click
firstNumber = TextBox1.Text
TextBox1.Text = ""
operations = 1
operatorSelect = True
End Sub
Private Sub ButtonPlin_Click(sender As Object, e As EventArgs) Handles ButtonPlin.Click
firstNumber = TextBox1.Text
TextBox1.Text = ""
operations = 2
operatorSelect = True
End Sub
Private Sub ButtonEpi_Click(sender As Object, e As EventArgs) Handles ButtonEpi.Click
firstNumber = TextBox1.Text
TextBox1.Text = ""
operations = 3
operatorSelect = True
End Sub
Private Sub ButtonDia_Click(sender As Object, e As EventArgs) Handles ButtonDieresi.Click
firstNumber = TextBox1.Text
TextBox1.Text = ""
operations = 4
operatorSelect = True
End Sub
Private Sub ButtonIson_Click(sender As Object, e As EventArgs) Handles ButtonIson.Click
If operatorSelect = True Then
secondNumber = TextBox1.Text
If operations = 1 Then
TextBox1.Text = firstNumber + secondNumber
ElseIf operations = 2 Then
TextBox1.Text = firstNumber - secondNumber
ElseIf operations = 3 Then
TextBox1.Text = firstNumber * secondNumber
ElseIf secondNumber = 0 Then
TextBox1.Text = "Error..!"
Else
TextBox1.Text = firstNumber / secondNumber
End If
End If
End Sub
Private Sub ButtonRiza_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRiza.Click
TextBox1.Text = Val(TextBox1.Text ^ (1 / 2))
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles ButtonPercentage.Click
End Sub
End Class
-
19-11-21, 14:26 Απάντηση: Visual Studio 2017 Κώδικας για Calculator #4
Δεν γράφω σε Visual Basic, οπότε η σύνταξη μπορεί να είναι λίγο λάθος.
Κώδικας:Private Sub Button1_Click(sender As Object, e As EventArgs) Handles ButtonPercentage.Click TextBox1.Text = firstNumber * Val(TextBox1.Text) / 100 End Sub
-
19-11-21, 14:51 Απάντηση: Visual Studio 2017 Κώδικας για Calculator #5
Bookmarks