Определить сумму программистов - VB

Узнай цену своей работы

Формулировка задачи:

В общем есть задание где нужно подсчитать общее количество программистов пример есть текст в тексте может встречаться слово сочетания 1 программист, 4 программистА, 20 программистОВ нужно вывести найдено программистов 25. Условие чтобы не было не каких textbox-тов была 1 кнопка для выбора txt файла. Я сделал программу которая подсчитывает программистов если тока они в столбик пример 1 программист 4 программиста 20 программистов
Но это не устраивает, так как программисты могут быть и в столбик и в строчку и может встречать посторонний текст Помогите пожалуйста как сделать чтобы программа определяя что перед словом программист есть число. p.s. Не обязательно писать весь код, хотя бы куда копать в каком направлении

Решение задачи: «Определить сумму программистов»

textual
Листинг программы
Public Function OpenFile()
 
    Dim MyArray() As String
    Dim Result As String
    Dim MyTXT As String
    Dim a$, i&, c As Long
        
    Open Adres For Input As #1 'Открываем выбранный файл
        Do Until EOF(1)
        
            Line Input #1, MyTXT ' Задаём в переменную 1-ю строчку текста
            
            MyArray() = Split(LCase(MyTXT), "программист") 'отбрасываем слово программист(а)(ов)(ы) оставляем только число
            For i = 0 To UBound(MyArray) - 1
              
              a = Trim(MyArray(i)) 'запоминаем в переменую число и удаляем со всех сторон пробелы
              If IsNumeric(a) Then
                c = c + a
              Else
                a = Right$(a, Len(a) - InStrRev(a, " "))
                If IsNumeric(a) Then c = c + a
              End If
            Next
        Loop
    Close #1
    
    MsgBox "Общее количество программистов = " & c, vbInformation + vbOKOnly, "Поиск" 'Выводим общее количество
    
End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы