обработка данных строкового типа

  • Автор темы Lilly
  • Дата начала
L

Lilly

#1
Помогите написать программу в Visual Basic, плиз. Дана строка длиной до 254 символов. Посчитать во сколько раз цифр в строке меньше чем букв латинского алфавита. Использовать функции для работы с данными символьного типа. Результатом должно быть сообщение о найденном значении или об отсутствии значения.
 
V

VBAaddict

#2
что-то типа следующего:

Код:
Dim MyString, MyChar as String
Dim NumOfChars, NumOfDigits as Integer

MyString = "snkjfhslfhslkjflsjflsjf1893kwjrhjkwhrojel13131"
NumOfChars = 0
NumOfDigits = 0

For i = 1 to len(MyString)
MyChar = Mid(MyString,i,1)
'http://articles.org.ru/docum/ansi.php - коды символов ANSI где видно, что цифры это коды от 48 до 57
if ASC(MyChar)>=48 and ASC(MyChar)<=57 Then
NumOfDigits = NumOfDigits + 1
Else
'Все остальные символы т.е. рус, лат, непечатаемые и т.д.
NumOfChars = NumOfChars + 1
End if
Next i

if NumOfDigits = 0 Then
Msgbox "Цифр в строке не найдено"
Else
if NumOfChars = 0 then
Msgbox "Букв в строке не найдено"
Else
Msgbox "Количество цифр в строке меньше количества букв в " & NumOfChars/NumOfDigits & " раз"
End if
End if
остальное - если нужно дорабатывайте сами...