powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / HELP ME PLEASE
13 сообщений из 13, страница 1 из 1
HELP ME PLEASE
    #36546475
KOLEN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПОМОГИТЕ НАПИСАТЬ ПРОГУ ИЛИ ХОТЯБЫ ПАРУ СТРОЧЕК УЧУСЬ В ИНСТЕ ТОКО НАЧАЛ ПРОХОДИТЬ VB ВОТ СКАЗАЛИ СДЕЛАТЬ ,А Я ДАЖЕ НИЗНАЮ С ЧЕГО НАЧАТЬ
ВОТ : Ввести четырехразрядное натуральное число. Составить программу выделения цифр этого числа и определения, является ли это число «счастливым» (сумма первых двух цифр равна сумме последних).
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546477
KOLEN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KOLEN,

ВОТ Я ЧОТО НАПИСАЛ НО У МЕНЯ ЧОТО НЕПАШЕТ)
Private Sub Command1_Click()
Dim x As Single, y As Single
Label1.Visible = True
Label1.Caption = "ввести четырёхразрядное натуральное число"
Label2.Visible = True
Label2.Caption = aaa
x = Val(Text1.Text)
If (x >= 0) And (x <= 9999) Then
a = x / 1000
b = xmod10
c = (x \ 10) Mod 10
d = x - a - b - c
y = Val(Text2.Text)
ElseIf a + b = c + d Then
Print y = да
ElseIf a + b <> c + d Then
Print y = нет
End If


End Sub

Private Sub Command2_Click()
End
End Sub
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546549
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KOLEN Я ДАЖЕ НИЗНАЮ С ЧЕГО НАЧАТЬ

Начать надо было с прочтения темы
Правила форума. Прочтите перед тем как задавать вопрос!
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546550
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Private Sub Command1_Click()

Dim x As Single, y  As Single
Label1.Visible = True
Label1.Caption = "ввести четырёхразрядное натуральное число"
Label2.Visible = True
Label2.Caption = aaa
x = Val(Text1.Text)
If (x >=  0 ) And (x <=  9999 ) Then
  a = x /  1000 
  b = xmod10
  c = (x \  10 ) Mod  10 
  d = x - a - b - c
  y = Val(Text2.Text)
ElseIf a + b = c + d Then
  Print y = да
ElseIf a + b <> c + d Then
  Print y = нет
End If


End Sub

Private Sub Command2_Click()
End
End Sub
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546555
bac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все значительно проще.
1. Уберите совсем кнопки и поле Text2.
2. Добавьте текстовую метку (в свойствах добавьте выравнивание по центру).
3. У формы заголовок сделайте "Определение счастливого числа | Введите число из 4-х цифр"

Все автоматически посчитается.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub Text1_Change()
    If Not IsNumeric(Text1) Then GoTo err
    If Len(Text1) <>  4  Then GoTo err
    l = Val(Mid(Text1,  1 ,  1 )) + Val(Mid(Text1,  2 ,  1 ))
    r = Val(Mid(Text1,  3 ,  1 )) + Val(Mid(Text1,  4 ,  1 ))
    If l = r Then
        Label1 = "Поздравляю! Число счастливое."
        Label1.ForeColor = &HFF&
    Else
        Label1 = "Число не счастливое."
        Label1.ForeColor = &H0&
    End If
    Exit Sub
err:
    Label1 = ""
End Sub
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546556
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начнем разбор ошибок:

Код: plaintext
b = xmod10

Переменной b присваивается значение переменной xmod10. То есть обе переменных как были, так и остались Empty.
Чтобы избежать подобных ошибок, следует в начале модуля писать Option Explicit и определять переменные (Dim)

Код: plaintext
1.
2.
3.
4.
5.
6.
If (x >=  0 ) And (x <=  9999 ) Then
  'операторы тут выполнятся, если х в диапазоне от 0 до 9999
ElseIf a + b = c + d Then
  'операторы тут выполнятся если х НЕ ЛЕЖИТ в диапазоне 0 - 9999 (потому что Else)
ElseIf a + b <> c + d Then
  'операторы тут выполнятся, если не выполняются предыдущие два условия.
End If

Код: plaintext
Print y = нет

Переменная "y" сравнивается с переменной "нет", напечатается результат этого сравнения (True или False). Чтобы избежать этих ошибок, опять же Option Explicit

Код: plaintext
a = x /  1000 

вам нужно использовать целочисленное деление (\), иначе вы получите дробной значение в переменной а и сравнивать его с чем-то бесполезно.

----------------

Правильную программу написать, конечно несложно. Но раз вы учитесь, хотелось бы, чтобы вы самостоятельно добились результата, тем более вы на правильном пути, вам просто надо почетче понимать суть используемых операторов и использования переменных и выражений.
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546558
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bac,

Человек просил помочь написать программу, а не написать ее за него...
К тому же, не факт, что вы использовали приемы, которые они проходили - только подставите его перед преподавателем.

Вдруг он действительно хотел самостоятельно это сделать и действительно хотел разобраться... :(


Мечты....
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546560
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bac,

По идее, ваша программа неверно определит число "5.23" как счастливое :)
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546565
KOLEN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем спасибо вы мего хакеры)
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546566
bac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не определит. Только что проверил.
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546569
bac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Shocker.Pro

Я просто показал, что задачку нужно упрощать. И решить ее более красиво и с меньшим кодом.
Я и не собирался ему преподавать предмет.

И потом, если вы заметили, то человек уже попытался, что-то сделать - нагородил там целый огород да еще с ошибками.

Так что ваше замечание не принимаю.
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546573
bac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И все-таки вы правы у меня русский WIn число 5,32 число действительно счастливое.
...
Рейтинг: 0 / 0
HELP ME PLEASE
    #36546575
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bac,

Просто - это не меньше кода. По идее можно решение этой задачи записать в одну строку вместе с выводом результата.

Просто - это когда человек понимает, что написано.


Ну да это так... философия....
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / HELP ME PLEASE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]