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

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

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

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

12.11.2013, 17:36. Просмотров 446. Ответов 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;
}

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

Определить, каким днем недели является 1 января данного года - C++
Помогите, чёт не могу понять, как это всё написать. Вот само задание - вводится номер года. Определить, каким днем недели является 1 января...

Определить, каким днем недели является 1 января данного года, если - C++
Прощу вас мне помочь, осталась последняя лаба. Задание: { Вводится номер года. Определить, каким днем недели является 1 января...

Определить, каким днем недели является введенное число - C++
Добрый день помогите пожалуйста написать программу: 1) Составить программу, определяющую каким днем недели является введенное...

Определить день недели для K-го дня года, если известно, что 1 января было субботой - C++
Здравствуйте! Условие задачи: Дни недели пронумерованы следующим образом: 1 - понедельник, 2 - вторник, ... , 6 - суббота, 7 -...

Определить, на какой день недели проходится k-й день невисокосного года в котором 1 января - понедельник - C++
вводится k-й день года (1&lt;=k&lt;=365).Определить и вывести,на какой день недели проходится k-й день невисокосного года в котором 1...

Определить номер дня недели для K-го дня года, если известно, что в этом году 1 января было вторником. - C++
Задача на С++ Вот условие: Дни недели пронумерованы следующим образом: 1 — понедельник, 2 — вторник, … , 6 — суббота, 7 — воскресенье....

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2013, 17:36
Привет! Вот еще темы с ответами:

1 января не високосного года-понедельник. Вводится число и месяц этого года. Вывести день недели этого дня - C++
1 января не високосного года-понедельник. Вводится число и месяц этого года. Вывести день недели этого дня

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

По текущей дате и дню недели определить день недели с такой же датой заданного года - C++
По текущей дате и дню недели определить день недели с такой же датой заданного года. (C++ )

Определить название месяца по количеству дней прошедших с 1 января 1990 года - C++
Составить программу : с 1 января 1990 года по некоторый день прошло n дней, определить название текущего месяца.


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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