|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.10.2012, 12:33 | #1 |
Регистрация: 19.10.2012
Сообщений: 3
|
Работа с календарем
Дана дата в виде PPXXAAAA, нужно определить день недели отвечающий дате.
Отрезок времени ограниченный : 1.01.1900 .. 1.01.3000. Доп. инфо 1.01.1900 понедельник Ну и конечно учитывать високосный год или нет. Не могу понять, как отметить ограниченный отрезок и сделать так, чтобы программа выдавала ошибку в случае неправильной даты (55 июня например). Буду очень благодарна! Вот то, что у меня уже есть Код C #include <iostream> #include <string> using namespace std; int Date ( int PP, int XX, int AAAA ) { int a, y, m, R; a = ( 14 - XX ) / 12; y = AAAA - a; m = XX + 12 * a - 2; R = 7000 + ( PP + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12 ); return R % 7; } int main() { int PP, XX, AAAA; char C; string S[7] = { "SUN", "MON", "TUS", "WED", "THU", "FRI", "SAT" }; cin >> PP >> C >> XX >> C >> AAAA; cout << S[ Date( PP, XX, AAAA ) ] << endl; system("pause"); return 0; } |
19.10.2012, 12:57 | #2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Отрезок времени:
Код:
Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 19.10.2012 в 13:26. |
19.10.2012, 13:09 | #3 |
Регистрация: 19.10.2012
Сообщений: 3
|
А как правильно их ввести в код?
Я извиняюсь, новичок, пока тяжеловато((( |
19.10.2012, 13:26 | #4 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Там, где вводите. И вводить для простоты проверки начинать с месяца:
Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 19.10.2012 в 13:29. |
19.10.2012, 14:00 | #5 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Вообще-то определить день недели очень даже просто:
день недели = остаток ( количество дней от начала отсчёта / 7) если использовать стандартный тип даты (соответствует типу Double), то Код:
Правильно поставленная задача - три четверти решения.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TDBEdit связывание его с таблицей и календарем | Elka89 | Помощь студентам | 13 | 31.03.2013 22:28 |
Работа с календарем С# | Lapochka | C# (си шарп) | 13 | 13.05.2012 20:24 |
ВПР с календарем не дружит. | staniiislav | Microsoft Office Excel | 18 | 30.12.2010 09:13 |
БД связать с календарем | igor1306 | Помощь студентам | 9 | 06.02.2010 15:51 |
Выбор дат одним календарем на форме | ruavia3 | Microsoft Office Excel | 6 | 20.06.2009 16:22 |