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

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

Войти
Регистрация
Восстановить пароль
 
geforcevolume
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 4
#1

Вывод дня недели - C++

29.05.2014, 08:18. Просмотров 609. Ответов 5
Метки нет (Все метки)

Решаю задачу, где нужно узнать день недели введенной даты, если считать, что первый день нашей эры был понедельником. Вот моя программа:
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
51
52
53
54
55
56
57
58
59
60
61
62
#include "stdafx.h"
#include <math.h>
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    struct date {
        int day;
        int month;
        int year;};
    date d1;
    cout<<"Введите дату (dd mm yyyy): ";
    cin>>d1.day>>d1.month>>d1.year;
    double kol,vis;
    kol=round(d1.year/4)*366-(d1.year-round(d1.year/4))*365;
    if (d1.month == 2)
        kol=kol+31;
    if (d1.month == 3)
        kol=kol+59;
    if (d1.month == 4)
        kol=kol+90;
    if (d1.month == 5)
        kol=kol+120;
    if (d1.month == 6)
        kol=kol+151;
    if (d1.month == 7)
        kol=kol+181;
    if (d1.month == 8)
        kol=kol+212;
    if (d1.month == 9)
        kol=kol+243;
    if (d1.month == 10)
        kol=kol+273;
    if (d1.month == 11)
        kol=kol+304;
    if (d1.month == 12)
        kol=kol+334;
    vis=d1.year-round(d1.year/4)*4;
    if (vis == 0 & d1.month>2)
        kol=kol+1;  // если текущий год високосный
    kol=kol+d1.day;
    
    kol=kol-round(kol/7)*7;
    if (kol == 0)
        cout<<"\nВоскресенье";
    if (kol == 1)
        cout<<"\nПонедельник";
    if (kol == 2)
        cout<<"\nВторник";
    if (kol == 3)
        cout<<"\nСреда";
    if (kol == 4)
        cout<<"\nЧетверг";
    if (kol == 5)
        cout<<"\nПятница";
    if (kol == 6)
        cout<<"\nСуббота";
    system("pause");
}
Однако программа не компилируется. Пишет: error C3861: round: идентификатор не найден

До этого я пытался скомпилировать следующее:
Вместо
C++
1
kol=kol-round(kol/7)*7;
Использовать
C++
1
kol=kol\7;
Но также не компилиться.

В чем мой прокол?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 08:18     Вывод дня недели
Посмотрите здесь:

Календарь. Ввод даты - вывод дня недели - C++
Здрасте , помогите написать ф-ю. Ввожу 4.11.2014 , программа выдает &quot;Вторник&quot; спасибо большое

Выведите номер дня недели для данного дня года - C++
Помогите,пожалуйста...Среда Free Pascal Дан порядковый номер дня года (отсчет идет с 1-го января). Требуется вывести номер дня недели...

Составьте программу, печатающую по номеру дня недели (число от 1 до 7) название этого дня - C++
Составьте программу, печатающую по номеру дня недели (число от 1 до 7) название этого дня (понедельник, вторник и т. д.).

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

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

Вычисление дня недели по дате - C++
здравствуйте. как можно вычислить день недели по дате? слышала про формулу Зеллера, но там мало что понятного Спасибо!

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
solar_wind
756 / 747 / 42
Регистрация: 06.07.2009
Сообщений: 2,969
Завершенные тесты: 1
29.05.2014, 08:43     Вывод дня недели #2
Цитата Сообщение от geforcevolume Посмотреть сообщение
В чем мой прокол?
Наверное в том, что в math.h нет функции round
http://ru.wikipedia.org/wiki/Math.h

Добавлено через 1 минуту
Цитата Сообщение от geforcevolume Посмотреть сообщение
kol=kol\7;
Что должно делать это выражение? деление обычно так пишется: /
geforcevolume
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 4
29.05.2014, 09:20  [ТС]     Вывод дня недели #3
\ - возвращает остаток от деления

как раз таки round есть, прокрути ниже
solar_wind
756 / 747 / 42
Регистрация: 06.07.2009
Сообщений: 2,969
Завершенные тесты: 1
29.05.2014, 09:23     Вывод дня недели #4
geforcevolume, Она не во всех версиях присутствует, как я понимаю, попробуй использовать другие функции для округления.
Для остатка % используют обычно....насколько помню.
geforcevolume
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 4
29.05.2014, 09:33  [ТС]     Вывод дня недели #5
А какие другие есть функции для округления?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2014, 10:44     Вывод дня недели
Еще ссылки по теме:

Определение дня недели по дате - C++
Помогите найти ошибку. Работает, но не корректно. Определяет не тот день. #include&lt;stdio.h&gt; #include&lt;iostream&gt; void main() { ...

Определение дня недели по дате - C++
Помогите исправить, неправильно находит день недели. int date_day::true_day() const { size_t totalDays = 0; bool...

Алгоритм вычисления дня недели по дате - C++
Посдкажите алгоритм вычисления дня недели по дате( день, месяц, год). int a = (14 - month)/12; int y = year - a; int m = month +...

Определение дня недели по введенной дате - C++
Доброго времени суток! Программу я составил, вводишь день,месяц и год, и день недели она выдаёт. Но вот только почему-то на один день...

Вывести название дня недели по введенному номеру - C++
Написать программу, которая запрашивает у пользователя номер дня недели, затем выводит названия дня недели или сообщение об ошибке, если...

Определить день недели по номеру дня года - C++
помогите, пожалуйста!!! составить программу на С++:Дано целое число n.Получить число 1,2,...,7 в зависимости от того,на какой день...


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

Или воспользуйтесь поиском по форуму:
solar_wind
756 / 747 / 42
Регистрация: 06.07.2009
Сообщений: 2,969
Завершенные тесты: 1
29.05.2014, 10:44     Вывод дня недели #6
ceil
floor
Yandex
Объявления
29.05.2014, 10:44     Вывод дня недели
Ответ Создать тему
Опции темы

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