Здравствуйте программисты! Помогите пожалуйста нарисовать блок-схему для кода. Не знаю как просто её сделать
#include <iostream>
using namespace std;
int main() {
//Часть ввода данных
setlocale(LC_ALL, "Rus"); //Добавляем возможность писать на русском
int day, month, year; //Объявляем переменные дня,месяца, года
cout << "Введите дату в формате ДД.ММ.ГГГГ: ";
cin >> day >> month >> year; //Вводим значения переменных
bool visocos = false; //Проверка на високосность года. По определению считаем, что если следущая строка(проверка високосности) покажет, что год не высокостен, то год не вискостен
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
{
visocos = true;
}
int DayMonth; //Объявляем переменную, означающую кол-во дней в месяце
switch (month) //Из-за большого кол-ва вводных используем switch
{
case 2:
DayMonth = visocos ? 29 : 28; // мы при помощи ? и : проверяем сколько днеё в феврале в зависимости от типа года
break;
case 4: //мы объединяем case(4,6,9,11) т.к в этих месяцах всегда 30 дней
case 6:
case 9:
case 11:
DayMonth = 30;
break;
default: //если мы введём другое число месяца то мы будем считать, что в нём 31 день. (январь, март, май, июль, август, октябрь, декабрь)
DayMonth = 31;
break;
}
if (day < 1 || day > DayMonth || month < 1 || month > 12) //Проверка коректности ввода даты. День не может быть меньше 1 и больше 31. Или если дней больше, чем может быть в месяце(Часть с DayimMonth)
{
cout << "Некорректная дата!" << endl;
}
else
{
cout << "Дата коректна!" << endl;
}
int DayYear = day; //Нам нужно определить какой день это с начала года. Тогда мы будем поочерёдно добавлять дни с учётом високосности к текущему дню и месяцу. Не пишем breakБ чтобы программа не останавливалась если, условно 12 месяцев и шла лестницей
// Вычисляем количество дней во всех месяцах до текущего
if (month > 1) {
DayYear += 31; // Январь
}
if (month > 2) {
DayYear += visocos ? 29 : 28; // Февраль
}
if (month > 3) {
DayYear += 31; // Март
}
if (month > 4) {
DayYear += 30; // Апрель
}
if (month > 5) {
DayYear += 31; // Май
}
if (month > 6) {
DayYear += 30; // Июнь
}
if (month > 7) {
DayYear += 31; // Июль
}
if (month > 8) {
DayYear += 31; // Август
}
if (month > 9) {
DayYear += 30; // Сентябрь
}
if (month > 10) {
DayYear += 31; // Октябрь
}
if (month > 11) {
DayYear += 30; // Ноябрь
}
cout << "Номер дня с начала года: " << DayYear << endl;
}
Какой ужас... :)) Ну да ладно.
