How to get a grade and transform it into a letter grade in VB.NET

2 Answers

0 votes
Imports System

Class Program
    Public Function ToLetterGrade(ByVal score As Double) As String
        Dim tpl = New Tuple(Of Double, String)() {
			New Tuple(Of Double, String)(95.0, "A+"), 
			New Tuple(Of Double, String)(90.0, "A"), 
			New Tuple(Of Double, String)(85.0, "B+"), 
			New Tuple(Of Double, String)(80.0, "B"), 
			New Tuple(Of Double, String)(75.0, "C+"), 
			New Tuple(Of Double, String)(70.0, "C"), 
			New Tuple(Of Double, String)(65.0, "D+"), 
			New Tuple(Of Double, String)(60.0, "D")
		}
		
		Dim tpl_Length As Integer = tpl.Length
        For i As Integer = 0 To tpl_Length - 1
            If score >= tpl(i).Item1 Then
                Return tpl(i).Item2
            End If
        Next

        Return "F"
    End Function

	Public Shared Sub Main()
        Console.WriteLine(New Program().ToLetterGrade(95))
        Console.WriteLine(New Program().ToLetterGrade(90))
        Console.WriteLine(New Program().ToLetterGrade(80))
        Console.WriteLine(New Program().ToLetterGrade(60))
        Console.WriteLine(New Program().ToLetterGrade(50))
    End Sub
End Class
 
 
 
' run:
'
' A+
' A
' B
' D
' F
'

 



answered Mar 23, 2025 by avibootz
edited Mar 23, 2025 by avibootz
0 votes
Imports System

Public Class Program
    Public Function ToLetterGrade(ByVal score As Double) As String
        Dim scores As Double() = {95.0, 90.0, 85.0, 80.0, 75.0, 70.0, 65.0, 60.0}
        Dim grades As String() = {"A+", "A", "B+", "B", "C+", "C", "D+", "D"}
        Dim scores_Length As Integer = scores.Length

        For i As Integer = 0 To scores_Length - 1
            If score >= scores(i) Then
                Return grades(i)
            End If
        Next

        Return "F"
    End Function

    Public Shared Sub Main(ByVal args As String())
        Dim program As Program = New Program()
        Console.WriteLine(program.ToLetterGrade(95))
        Console.WriteLine(program.ToLetterGrade(90))
        Console.WriteLine(program.ToLetterGrade(80))
        Console.WriteLine(program.ToLetterGrade(60))
        Console.WriteLine(program.ToLetterGrade(50))
    End Sub
End Class
 
 
 
' run:
'
' A+
' A
' B
' D
' F
'

 



answered Mar 23, 2025 by avibootz

Related questions

2 answers 146 views
1 answer 95 views
1 answer 100 views
1 answer 107 views
1 answer 115 views
2 answers 159 views
...