Лабораторная работа по "Информатике"
Автор: vare • Ноябрь 1, 2020 • Лабораторная работа • 878 Слов (4 Страниц) • 372 Просмотры
Откройте файл с предыдущей работой и добавьте в структуру методы
- CountDay() возвращает, количество дней прошедших с 1 января 1-го года нашей эры до даты, определенной в полях структуры;
- DayWeek() возвращает день недели, на который приходится дата, определенная в полях структуры (учтите, что 1 января 1-го года нашей эры было понедельником);
- Friday13() возвращает количество дней от даты, определенной в полях структуры, до ближайшей пятницы 13-го числа.
При необходимости используйте в коде метода вызов методов структуры. В основной программе продемонстрируйте работу методов.
Отчет о проделанной работе должен содержать текст задания, код программы, окно выполнения.
#include <iostream>
#include <iomanip>
using namespace std;
struct Date {
int day, month, year;
int lastNumber(), chekDate(), isLeap(), CountDay(), DayWeek(), Friday13();
};
int Date::CountDay(){
int daysPassed;
year--;
daysPassed = year * 365 + year / 4 - year / 100 + year / 400;
year++;
for (int i = 1; i < month; i++)
daysPassed += 28 + (i + i / 8) % 2 + 2 % i + 1 / i * 2;
if (month > 2 && year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
daysPassed++;
daysPassed += day - 1;
return daysPassed;
}
int Date::isLeap(){
if (year % 4 == 0 || year % 400 == 0 || year % 100 == 0){
return true;
}
else {
return false;
}
}
int Date::chekDate() {
if (year > 0) {
if (month > 0) {
if (day <= 31 && day > 0 &&(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)) {
return true;
}
if (day <=30 && (month == 4 || month == 6 || month == 9 || month == 11) && day > 0) {
return true;
}
if (((day <=28 && month == 2 && Date::isLeap() == true) || (day <= 29 && month == 2 && Date::isLeap() == false)) && day > 0) {
...