Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 222
#1

Проверьте, пожалуйста. Задание: определить, каким днем недели является 1 января данного года - C++

12.11.2013, 17:36. Просмотров 428. Ответов 0
Метки нет (Все метки)

Дана задача:
Вводится номер года. Определить, каким днем недели является 1 января данного года, если 1 января 1900 года - понедельник (для решения этой задачи заметим, что в случае, когда год невисокосный, 1 января следующего года сдвигается на 1 день недели, а если год високосный -то на 2).

P.S Високосный год - это год, который делится на 4, но не делится на 100, либо просто делится на 400.

Вот что в итоге вышло:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include<iostream>
using namespace std;
int main() {
    int i=0, year, suka=1900;
    cout<<"Enter year: "<<endl;
    cin>>year;
    if(suka <= year) {
    while(suka <= year) {
        if (((suka%4==0)&&(suka%100!=0))||(suka%400==0)) {
            i=i+2;}
        else {
            i++;
        }
    suka++;
    }
    int lox = i%7;
    switch(lox) {
        case 1: cout<<"Monday";break;
        case 2: cout<<"Tuesday";break;
        case 3: cout<<"Thursday";break;
        case 4: cout<<"4etverg";break;
        case 5: cout<<"Friday";break;
        case 6: cout<<"Saturday";break;
        case 0: cout<<"Sunday";break;
        }
    }
 
    else {
    while(year <= suka) {
        if (((year%4==0)&&(year%100!=0))||(year%400==0)) {
            i=i+2;}
        else {
            i++;
        }
    year++;
    }
    int lox = i%7;
    switch(lox) {
        case 1: cout<<"Monday";break;
        case 2: cout<<"Tuesday";break;
        case 3: cout<<"Thursday";break;
        case 4: cout<<"4etverg";break;
        case 5: cout<<"Friday";break;
        case 6: cout<<"Saturday";break;
        case 0: cout<<"Sunday";break;
        }
}
    system("PAUSE");
    return 0;
}

Правильно ли это? И может это всё можно было сделать гораздо проще?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 17:36     Проверьте, пожалуйста. Задание: определить, каким днем недели является 1 января данного года
Посмотрите здесь:

C++ Определить, каким днем недели является 1 января данного года
C++ Проверьте пожалуйста, правильно ли я сделал задание
C++ Для к-го дня года определить день недели
C++ Определить, каким днем недели является введенное число
Выведите номер дня недели для данного дня года C++
C++ 1 января не високосного года-понедельник. Вводится число и месяц этого года. Вывести день недели этого дня
Определить день недели с датой D и M, если W - день недели первого января C++
C++ Определить название месяца по количеству дней прошедших с 1 января 1990 года
Определить номер дня недели для K-го дня года, если известно, что в этом году 1 января было вторником. C++
C++ По текущей дате и дню недели определить день недели с такой же датой заданного года
C++ Определить день недели для K-го дня года, если известно, что 1 января было субботой
Определить, каким днем недели является 1 января данного года, если C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru