0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 3

Проверить на самом ли деле строка задает дату

13.04.2010, 19:20. Показов 2341. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста решить:
Задача на использование символьных величин.
Задана строка символов, которая должна вмещать дату в формате ДД/ММ/ГГГГ.
Проверить на самом ли деле эта строка задает дату.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.04.2010, 19:20
Ответы с готовыми решениями:

На самом деле #define'а нету.
На самом деле #define нету. Вот например если мы напишем в c++ #define yes 1 #define no 0 то на самом деле мы получим int yes=1; ...

Быстробот - на самом деле БЫСТРО!!!
Уже второй раз удивлен оперативностью Яндекса!!! Начинаю двигать сайт - на следующий день Яндекс его индексирует. Двигал - только...

Число double 0.1 на самом деле не 0.1
Кто сталкивался с таким глюком, почему если я задаю double x=0.1; в дебаггере я его вижу как 0.10000000000000001 ? я знал что float...

10
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
13.04.2010, 21:58
ну можно в лоб:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Explicit
Private Sub Комманда1_Click()
Dim A() As String
Dim S() As String
S = Split("31/12/1000/3600", "/") ' года от 1000-до3600 поставить любые
Dim J, OT
OT = "Может быть датой"
A = Split(Текст1.Text, "/")
        For J = 0 To 2
                Select Case J
                Case 0, 1
                If Val(A(J)) > Val(S(J)) Then OT = "Не может быть датой"
                Case 2
                If Val(A(J)) < Val(S(J)) Or Val(A(J)) > Val(S(J + 1)) Then OT = "Не может быть датой"
                End Select
        Next J
MsgBox OT
End Sub
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
13.04.2010, 22:32
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub a()
On Error GoTo Err_
'b = CDate("äâåíàäöàòîå апреля ñåãî ãîäà")
'b = CDate("12/04/10")
'b = CDate("12 квітень 2010")
 
b = CDate("12.04.10")
MsgBox b
 
Exit_:
    Exit Sub
Err_:
    MsgBox IIf(Err.Number = 13, "ýòî íå äàòà!", Err.Description)   ' Type mismatch
    Resume Exit_
End Sub
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
13.04.2010, 22:40
В вопросе стоял разделитель"/"
Попробовал подставить
Visual Basic
1
b = CDate("35/04/10")
Интересно получается
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
14.04.2010, 00:43
PureBasic
1
Label1 = IsDate(Text1.Text)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
14.04.2010, 00:56
Форматов дат много. функция принимает оба за правильные
52/12/12
12/12/52
А для меня первая непривычна.
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
14.04.2010, 02:55
Лучший ответ Сообщение было отмечено как решение

Решение

ага. и так тоже хорошо работает
Visual Basic
1
2
CDate("4:35:47 PM")
CDate(6589)
. выходит эта функция конвертирует что попало в дату. удобно. но не в этом случае. твой код тоже нуждается в дополнительных проверках.
попробую предложить еще так
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub dat()
'd = "äâåíàäöàòîå àïðåëÿ ñåãî ãîäà"
'd = "12 êâ³òåíü 2010"
'd = "-12/-04/2010"
'd = "1,2/5.4/2010"
'd = "35/04/10"
'd = "12/04/10"
d = "12/04/2010"
dd = Split(d, "/")
If IsDate(d) And UBound(dd) = 2 Then
    If IsNumeric(dd(0)) And IsNumeric(dd(1)) And IsNumeric(dd(2)) Then
        If CDate(d) = DateSerial(dd(2), dd(1), dd(0)) Then
            MsgBox CDate(d)
            Exit Sub
        End If
    End If
End If
MsgBox "ýòî íå ïîõîæå íà äàòó ÄÄ/ÌÌ/ÃÃÃÃ"
End Sub
1
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
14.04.2010, 07:15
Ну да в моём пимере может быть и 31 февраля. Я не делал дополнительных проверок, но показал, как можно решить вопрос без использования стандартнх функций работы со временем
0
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 3
23.04.2010, 09:55  [ТС]
не подскажете какая тут будет блок схема?
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
14.11.2010, 11:33
Вот эта штука:
Visual Basic
1
CDate
хорошая.
0
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 5
21.03.2014, 15:36
Исправьте предыдущую программу с учетом точного количества дней в месяце (февраль - 28 дней). У меня просто добавлено еще одно подзадание.Ответьте плиз
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.03.2014, 15:36
Помогаю со студенческими работами здесь

Какая на самом деле частота процессора?
Купил процессор AMD Phenom II X6 1075T. система кажет 803 мгц. должно ж быть 3000мгц. ASROCK TUNER 3500 МГЦ. CPU-Z 803 МГЦ. Чему верить? И...

А есть ли этот вИЦ на самом деле?
Мне кажется, все наслышаны о пресловутом вИЦ Яндекса и очень многие сломали головы как этот вИЦ поднять и т.п. ... Вот короткая...

Что такое ссылка на самом деле?
Здравствуйте. Насколько я понимаю, ссылка - это переменная, которая на самом деле является указателем на адрес другой переменной, но с...

ошибки которых на самом деле нет
possible use of идентификатор before diffinotion(С++) у меня в компиляторе возникает такое предупреждение, хотя все переменные объявлены...

Что такое string на самом деле?
Всем привет! Столкнулся с проблемой и никак не могу разобраться. Мне необходимо из строки string str получить unsignet char* для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru