Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / HELP ME PLEASE / 13 сообщений из 13, страница 1 из 1
27.03.2010, 21:53
    #36546475
KOLEN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP ME PLEASE
ПОМОГИТЕ НАПИСАТЬ ПРОГУ ИЛИ ХОТЯБЫ ПАРУ СТРОЧЕК УЧУСЬ В ИНСТЕ ТОКО НАЧАЛ ПРОХОДИТЬ VB ВОТ СКАЗАЛИ СДЕЛАТЬ ,А Я ДАЖЕ НИЗНАЮ С ЧЕГО НАЧАТЬ
ВОТ : Ввести четырехразрядное натуральное число. Составить программу выделения цифр этого числа и определения, является ли это число «счастливым» (сумма первых двух цифр равна сумме последних).
...
Рейтинг: 0 / 0
27.03.2010, 21:55
    #36546477
KOLEN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP ME PLEASE
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
27.03.2010, 23:54
    #36546549
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP ME PLEASE
KOLEN Я ДАЖЕ НИЗНАЮ С ЧЕГО НАЧАТЬ

Начать надо было с прочтения темы
Правила форума. Прочтите перед тем как задавать вопрос!
...
Рейтинг: 0 / 0
27.03.2010, 23:56
    #36546550
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP ME PLEASE
Код: 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
28.03.2010, 00:09
    #36546555
bac
bac
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP ME PLEASE
Все значительно проще.
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
28.03.2010, 00:10
    #36546556
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP ME PLEASE
Начнем разбор ошибок:

Код: 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
28.03.2010, 00:13
    #36546558
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP ME PLEASE
bac,

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

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


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

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

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

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

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

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

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


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


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