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

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

Восстановить пароль Регистрация
 
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 220
12.11.2013, 17:36     Проверьте, пожалуйста. Задание: определить, каким днем недели является 1 января данного года #1
Дана задача:
Вводится номер года. Определить, каким днем недели является 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++ 1 января не високосного года-понедельник. Вводится число и месяц этого года. Вывести день недели этого дня
C++ Определить номер дня недели для заданного номера дня года
Определить день недели с датой D и M, если W - день недели первого января C++
C++ Определить название месяца по количеству дней прошедших с 1 января 1990 года

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

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

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