Как написать календарь на c
Напишите функцию createCalendar(elem, year, month) .
Вызов функции должен создать календарь для заданного месяца month в году year и вставить его в elem .
Например, createCalendar(cal, 2012, 9) сгенерирует в cal следующий календарь:
P.S. В этой задаче достаточно сгенерировать календарь, кликабельным его делать не нужно.
Для решения задачи сгенерируем таблицу в виде строки: «
» , а затем присвоим в innerHTML .
Вывод календаря по введённому пользователем месяцу и году. (C++)
Всем привет. Я недавно начал учить C++ и сейчас у меня есть задание на написание календаря, но не совсем полного, а только по одному месяцу. Пользователь должен ввести месяц и год и на выводе получить табличку этого календаря. Давно я уже мучаюсь над этой задачей и вот казалось бы, почти решил, но что-то не так.
Если рассматривать 2021 год, то январь и февраль отображаются неверно, остальные месяцы в 2021 году правильно. В январе и февраля есть сдвиг на один день вперед, тоесть месяц начинается на день позже от положенного. Может, кто знает в чем проблема и сможет помочь кодом, буду очень благодарен!
Вот мой код:
#include #include using namespace std; int main() < setlocale(LC_ALL, "Russian"); int month,year; string monthsList[12] = ; int mDays [12] = ; cout«"Введите номер месяца: "; cin»month; while (month < 1 || month >12) < cout«"Неверно введён месяц. Введите номер месяца от 1 до 12, где \n 1 - январь \n 12 - декабрь"; cin»month; >cout«"Введите номер года от 1900 до 2035: "; cin»year; while (year < 1900 || year >2035) < cout«"Неверно введён год. Введите число от 1900 до 2035:\n"; cin»year; >cout«" —------------------------------"«endl; cout«" Calendar - "«year«endl; cout«" —------------------------------"«endl«endl; /* 1) Определим номер дня недели, где: 0 - Понедельник 1 - Вторник 2 - Среда 3 - Четверг 4 - Пятница 5 - Суббота 6 - Воскресенье */ int days; int current; static int t[] = ; int y = year - 1; current = (y + y/4 - y/100 + y/400 + t[month - 1] + 1) % 7; // от 0 до 6 /* 2) Проверка на високосность начиная с нулевого месяца: 0 - январь . 11 - декабрь */ if (int i = month - 1) < if( i==1 ) // 1 - это февраль месяц, так как счёт начинается с 0. if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) days = 29; // Если високосный else days = mDays[i]; else days = mDays[i]; /* 3) Выводим сам календарь */ cout«endl«" —----------"«monthsList[i]«"-------------"«endl; cout«" Пн Вт Ср Чт Пт Сб Вс"«endl; /* 4) Вводим доп. переменные k и j: k - количество дней в неделе от 0 до 6 (0 - ПН; 6 - ВС) j - количество дней в месяце (от 1 до общего в месяце) */ int k; for (k = 0; k < current; k++) cout«" "; for (int j = 1; j 6) < k = 0; cout«endl; >> if (k) cout«endl; current = k; > return 0; >
Отслеживать
218k 15 15 золотых знаков 117 117 серебряных знаков 229 229 бронзовых знаков
Как написать календарь на c
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
Сообщения: 10
Благодарности: 3
Так есть же уже готовые календари.. Зачем что то придумывать если можно просто кинуть на форму компонент.
Сообщения: 4458
Благодарности: 994
Цитата Lilsun:
| Зачем что то придумывать если можно просто кинуть на форму компонент. » |
Тогда кидай компонент и работай с ним.
В чем вопрос то? Что спросить хотелось?
——-
— Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)
Сообщения: 4
Благодарности: 0
Вот программа . Не могу исправить в ней ошибки(
#include #include #include #include using namespace std; int main() < int jan_l_start_day, num_days_per_month, month, date, year; bool leap_year_flag; ofstream fout("output.dat"); cout > jan_l_start_day; cout > year; fout fout 0) fout jan_l_start_day = (jan_l_start_day + num_days_per_month) % 7; > fout.close () ; return (0); >
Последний раз редактировалось Drongo, 19-12-2010 в 21:07 . Причина: Используйте тег кода — [code] — # . Иначе темы буду закрывать.
Будем жить, Маэстро.
Сообщения: 6694
Благодарности: 1393
| Конфигурация компьютера | |
| Процессор: Intel Pentium 4 Socket 478 2.26 Ghz/512/533 BOX | |
| Материнская плата: ABIT IS7-E2 i865PE+ICH5, S-478 VC 6ch SB Lan ATX 2 DDR 400 | |
| Память: PQI DDR 512 Mb, 400 Mhz | |
| HDD: SAMSUNG HD103SJ (1000 Гб, SATA) | |
| Видеокарта: AGP ATI Radeon X1550 256/128 DDR2 (Palit) | |
| Звук: Интегрированный звук | |
| Блок питания: ATX Midle Tower CODEGEN 6205-C9 P4, 300W, 27 Ноября 2004 г. | |
| CD/DVD: LG DVD-RW, GSA-H30N RBBB (SATA) | |
| Монитор: Samsung SyncMaster 223BW(Digital) [NoDB] (HMEQ201792) [21.6″ LCD-TFT Монитор] | |
| ОС: Windows XP Professional (SP-3) Russian. Special Edition XP | |
| Прочее: Borland C++ Builder 6.0 Enterprise Suite и CodeGear C++ Builder 2009 |
Цитата Kudrashka JUL:
| Вот программа . Не могу исправить в ней ошибки( » |
Чтобы исправить ошибки, приведите код программы в читаемый вид: отступы, пробелы и т.д. Я не хочу «ломать» глаза. И на будущее, оформляйте ваш код тегом [code] — #
——-
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]
Как создать календарь на компьютере

Как создать календарь своими руками? Если вы задаетесь этим вопросом уже не в первый раз, то самое время найти на него ответ. Этому поспособствует данная статья. Прочитав её вы научитесь изготовлять настенные, настольные, карманные, перекидные и иные виды календарей прямо за своим компьютером с помощью удобной программы «Дизайн Календарей» — https://fotocalendar.su/
Шаг 1. Скачиваем софт на ПК
Скачать программу для создания календарей вы сможете с её официального сайта. Установочный архив весит всего 52 Мб, поэтому быстро скачается на ваш компьютер. Далее запустите загруженный файл и следуйте инструкциям, появившимся на экране. После завершения процесса инсталляции дважды щелкните по ярлыку софта и приступайте к работе.

Шаг 2. Создаем календарь
После установки на ПК программы вы прекратите задаваться не только вопросом о том, как сделать элементарный настенный, настольный или карманный календарь, но и о том, как создать календарь планировщик или удобный календарь-книжку с нуля. Выберите необходимый тип календаря в первом окне. На следующем шаге приложение предложит вам взять за основу один из готовых макетов. Отметьте самый подходящий из них и нажмите «Далее». Установите год, начальный месяц и параметры страницы.

Шаг 3. Настраиваем календарь
Теперь вы можете отредактировать загруженный календарь. На панели справа щелкните по кнопке «Оформление месяцев». Появится меню настроек. В нем вы можете изменить вид заголовка месяца, названий рабочих и выходных дней, а также задать блокам фон. Настройте все вручную или же воспользуйтесь одним из шаблонов, представленных в каталоге программы. Там вас ждут готовые классические, фигурные и другие виды оформлений. Также вы можете настроить отображение праздников. Для этого найдите в меню блок Праздники и выходные и внесите все требуемые правки.

Шаг 4. Украшаем календарь
Добавим на календарь надпись. Для этого откроем вкладку «Текст» в меню справа и нажмем на опцию «Добавить текст». После этого вы сможете дополнить календарь афоризмом или любой другой надписью и настроить её шрифт, контур, поворот и т.д. Также можно добавить поверх календаря изображение во вкладке «Фото» или сразу несколько и сделать из них коллаж. Все изображения подлежат улучшению: задавайте параметры яркости, контрасту, насыщенности и пр. Еще один инструмент для творчества — клипарт. В программу встроен каталог картинок на различные темы, элементами из которого можно украсить даже китайский календарь.

Шаг 5. Распечатываем календарь
Теперь вы знаете как создавать календарь. Не до конца готовый проект можно оставить для дальнейшей работы на компьютере: для этого нажмите на кнопку «Сохранить» в меню вверху. Там же его можно сохранить как изображение в формате PDF, JPEG, CMYK и др. Если календарь готов, то время его распечатать. Нажмите на опцию «Печать». В появившемся окне выберите принтер, формат и ориентацию бумаги, задайте маркеры для обрезки, поля и количество календарей и нажмите «Печать».