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

Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
lokteva
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 16
01.05.2013, 13:22     Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели #1
Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели, на который приходится заданная дата (учесть, что 1-го января 2001 года был понедельник).

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
#include <iostream>
#include <string>
using namespace std;
 
struct DATE
{ int day; // День
int month; // Месяц
int year; // Год
};
 
void Date( int D, int M, int Y )
{
    int a, y, m, R;
    a = ( 14 - M ) / 12;
    y = Y - a;
    m = M + 12 * a - 2;
    R = 7000 + ( D + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12 );
    return R % 7;
}
 
int main()
{
    setlocale(LC_ALL,"rus_rus.1251");
    
    int D, M, Y;
    char C;
    string S[7] = { "Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота" };
    cin >> D >> C >> M >> C >> Y;
    cout << S[ Date( D, M, Y ) ] << endl;
    
    system("pause");
    return 0;
}

Не могу понять почему программа не работает!помогите,пожалуйста,исправить!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2013, 13:22     Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели
Посмотрите здесь:

Написать программу, которая запрашивает у пользователя номер дня недели, затем выводит название дня недели C++
C++ Программа для определения дня недели для произвольной даты
Написать программу, которая по номеру дня недели (целому числу от 1 до 7) выдает в качестве результата название дня недели C++
По заданной дате (число, месяц, год, например, 6, 5, 2012) вычислить номер дня в году C++
C++ Определить текущий день недели, год, месяц, число, а также текущее время-часы, минуты, секунды, сотые доли секунды.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
modwind
 Аватар для modwind
52 / 52 / 1
Регистрация: 09.03.2012
Сообщений: 101
01.05.2013, 13:28     Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели #2
Функция Date должна возвращать значение типа int:
C++
1
int Date( int D, int M, int Y )
lokteva
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 16
01.05.2013, 13:30  [ТС]     Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели #3
а как мне применить структуру DATE в программе????
modwind
 Аватар для modwind
52 / 52 / 1
Регистрация: 09.03.2012
Сообщений: 101
01.05.2013, 13:53     Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int Date(DATE d)
{
    int a, y, m, R;
    a = ( 14 - d.month ) / 12;
    y = d.year - a;
    m = d.month + 12 * a - 2;
    R = 7000 + ( d.day + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12 );
    return R % 7;
}
 
int main()
{
    setlocale(LC_ALL,"rus_rus.1251");
    
    DATE d;
    char C;
    string S[7] = { "Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота" };
    cin >> d.day >> C >> d.month >> C >> d.year;
    cout << S[ Date( d ) ] << endl;
    
    system("pause");
    return 0;
}
lokteva
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 16
01.05.2013, 14:15  [ТС]     Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели #5
Спасибо большоеочень помогли мне!
Yandex
Объявления
01.05.2013, 14:15     Оформить в виде структуры год, месяц, число. Описать функцию для определения дня недели
Ответ Создать тему
Опции темы

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