在Visual Basic中使用函数

用户2932587

我正在使用的程序具有两个不同的功能,一个用于计算文本文件中音节的数量,另一个用于根据公式计算文本文件的可读性。

206.835-85.6*(Number of Syllables/Number of Words)-1.015*(Number of Words/Number of   Sentences)

这是我遇到的问题:

  1. 我应该在多行文本框中显示文本文件的内容。
  2. 我应该indexCalculation在文本框下方的标签中显示从函数获得的答案
  3. 我在调用该函数以使程序实际计算要在标签中显示的答案时遇到麻烦。

这是我到目前为止的代码。

Option Strict On

Imports System.IO

Public Class Form1

    Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitToolStripMenuItem.Click
        Me.Close()
    End Sub

    Private Sub OpenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OpenToolStripMenuItem.Click
        Dim open As New OpenFileDialog

        open.Filter = "text files |project7.txt|All file |*.*"
        open.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)

        If open.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Dim selectedFileName As String = System.IO.Path.GetFileName(open.FileName)
            If selectedFileName.ToLower = "project7.txt" Then
                    Dim text As String = File.ReadAllText("Project7.txt")
                    Dim words = text.Split(" "c)
                    Dim wordCount As Integer = words.Length
                    Dim separators As Char() = {"."c, "!"c, "?"c, ":"c}
                    Dim sentences = text.Split(separators, StringSplitOptions.RemoveEmptyEntries)
                Dim sentenceCount As Integer = sentences.Length
                Dim vowelCount As Integer = 0
                For Each word As String In words
                vowelCount += CountSyllables(word)
                Next
                vowelCount = CountSyllables(text)
                Label1.Show(indexCalculation(wordCount, sentenceCount, vowelCount))
            Else
                MessageBox.Show("You cannot use that file!")
            End If
        End If

    End Sub

    Function CountSyllables(word As String) As Integer
        word = word.ToLower()
        Dim dipthongs = {"oo", "ou", "ie", "oi", "ea", "ee", _
                         "eu", "ai", "ua", "ue", "au", "io"}
        For Each dipthong In dipthongs
            word = word.Replace(dipthong, dipthong(0))
        Next
        Dim vowels = "aeiou"
        Dim vowelCount = 0
        For Each c In word
            If vowels.IndexOf(c) >= 0 Then vowelCount += 1
        Next
        If vowelCount = 0 Then
            vowelCount = 1
        End If
        Return vowelCount
    End Function

    Function indexCalculation(ByRef wordCount As Integer, ByRef sentenceCount As Integer, ByRef vowelCount As Integer) As Integer
        Dim answer As Integer = CInt(206.835 - 85.6 * (vowelCount / wordCount) - 1.015 * (wordCount / sentenceCount))
        Return answer
    End Function
End Class

任何建议将不胜感激。

阿提拉

这是我的建议:

  1. 更新您的indexCalculation函数以接受整数,而不是字符串。这样,您不必将它们转换为数字。
  2. 删除所有未使用的额外变量。这会清理一些东西。
  3. 删除您的流阅读器。看来您正在通过File.ReadAllText阅读文本
  4. Label1.Show(answer)应该更改为Label1.Show(indexCalculation(wordCount,sentenceCount,vowelCount))-除非Label1不是常规标签,否则请使用Label1.Text = indexCalculation(wordCount,sentenceCount,vowelCount))

然后对于vowelCount,您需要执行以下操作:

Dim vowelCount as Integer = 0
For Each word as String in words
 vowelCount += CountSyllables(word)
Next

另外,将逻辑添加到CountSyllables函数以使其为0(如果为0)。如果您不希望在元音计数中包括最后一个字符,则使用for循环而不是for每个循环,并使1个字符短。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Visual Basic中使用using语句

来自分类Dev

在Visual Basic中使用组合框

来自分类Dev

在Visual Basic中使用using语句

来自分类Dev

Visual Basic-如何在另一个函数中使用一个变量

来自分类Dev

在Visual Basic 6.0中使用Microsoft(Office)365工具

来自分类Dev

通过Visual Basic在PS中使用Set-AWScredential

来自分类Dev

在Visual Basic中使用命令提示符

来自分类Dev

否则,如果不能在Visual Basic 6中使用

来自分类Dev

在SAS程序开发中使用IOM和Visual Basic

来自分类Dev

如何在Visual Basic中使用ImageProcessor / DetectEdges?

来自分类Dev

如何在 Visual Basic 中使用 RegExp 中的 vbNewLine

来自分类Dev

使用函数而不返回值Visual Basic

来自分类Dev

如何在Visual C ++中使用MATLAB函数?

来自分类Dev

等效于Visual Basic 6函数的DELPHI

来自分类Dev

Visual Basic中函数的依赖关系图

来自分类Dev

在Visual Basic .NET中使用“ Option Explicit Off”有什么好处?

来自分类Dev

如何在Microsoft Visual Basic(VBA for Excel)中使用彭博数据历史(BDH)命令

来自分类Dev

在Visual Basic .NET中使用“ Option Explicit Off”有什么好处?

来自分类Dev

在Visual Basic中使用mysql数据库的Crystal报表无法登录以加载报表

来自分类Dev

如何在Visual Basic中使用多个Windows窗体进行多页双面打印?

来自分类Dev

在批处理文件中使用Visual Basic中的字符串

来自分类Dev

在Visual Basic中使用循环创建直角三角形

来自分类Dev

我无法在Windows 8中使用vs在Visual Basic中隐藏对象?

来自分类Dev

在Visual Basic 6中使用Adodb记录集到VB.net

来自分类Dev

在Visual Basic .NET中使用“ Option Explicit Off”有什么好处?

来自分类Dev

在Visual Basic 2012中使用可变图像引用图片框

来自分类Dev

如何在Visual Basic 6.0中使用文本框创建数组

来自分类Dev

在Visual Basic 2012中使用相同的主键保存数据时,如何防止错误/错误?

来自分类Dev

如何在Visual Basic中使用多个Windows窗体进行多页双面打印?

Related 相关文章

  1. 1

    在Visual Basic中使用using语句

  2. 2

    在Visual Basic中使用组合框

  3. 3

    在Visual Basic中使用using语句

  4. 4

    Visual Basic-如何在另一个函数中使用一个变量

  5. 5

    在Visual Basic 6.0中使用Microsoft(Office)365工具

  6. 6

    通过Visual Basic在PS中使用Set-AWScredential

  7. 7

    在Visual Basic中使用命令提示符

  8. 8

    否则,如果不能在Visual Basic 6中使用

  9. 9

    在SAS程序开发中使用IOM和Visual Basic

  10. 10

    如何在Visual Basic中使用ImageProcessor / DetectEdges?

  11. 11

    如何在 Visual Basic 中使用 RegExp 中的 vbNewLine

  12. 12

    使用函数而不返回值Visual Basic

  13. 13

    如何在Visual C ++中使用MATLAB函数?

  14. 14

    等效于Visual Basic 6函数的DELPHI

  15. 15

    Visual Basic中函数的依赖关系图

  16. 16

    在Visual Basic .NET中使用“ Option Explicit Off”有什么好处?

  17. 17

    如何在Microsoft Visual Basic(VBA for Excel)中使用彭博数据历史(BDH)命令

  18. 18

    在Visual Basic .NET中使用“ Option Explicit Off”有什么好处?

  19. 19

    在Visual Basic中使用mysql数据库的Crystal报表无法登录以加载报表

  20. 20

    如何在Visual Basic中使用多个Windows窗体进行多页双面打印?

  21. 21

    在批处理文件中使用Visual Basic中的字符串

  22. 22

    在Visual Basic中使用循环创建直角三角形

  23. 23

    我无法在Windows 8中使用vs在Visual Basic中隐藏对象?

  24. 24

    在Visual Basic 6中使用Adodb记录集到VB.net

  25. 25

    在Visual Basic .NET中使用“ Option Explicit Off”有什么好处?

  26. 26

    在Visual Basic 2012中使用可变图像引用图片框

  27. 27

    如何在Visual Basic 6.0中使用文本框创建数组

  28. 28

    在Visual Basic 2012中使用相同的主键保存数据时,如何防止错误/错误?

  29. 29

    如何在Visual Basic中使用多个Windows窗体进行多页双面打印?

热门标签

归档