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

Откомментируйте календарь - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ std::move, rvalue reference http://www.cyberforum.ru/cpp-beginners/thread850214.html
Здравствуйте! Недавно начал разбираться с новыми способами передачи аргументов. Прочитал около 10 статей, некоторые на русском, некоторые на английском. Но осталось несколько вопросов... Помогите разобраться. Допустим есть класс: class Foo { public: Foo( vector<string> v): vec( v ) {} vector<string> vec; };
C++ Ломбард - вывод табличных данных Помогите сделать таблицу. Плыз) #include <iostream> #include <fstream> #include <string.h> #include <windows.h> #include <iomanip> using namespace std; const int SZ=1; http://www.cyberforum.ru/cpp-beginners/thread850210.html
C++ По поводу ссылок и конструктора копирования
Никак не пойму. При создании объекта и передачи конструктору в качестве параметра объекта другого класса, отладчик показывает что на строчке Data(Element) выполняется конструктор копирования класса T. Разве не должна вместо этого теперь переменная Data "указывать" на туже область памяти что и ссылка Element. Я всегда думал что при присвоении объекту ссылки на другой объект никаких...
Двухмерный массив: Написать программу, указывающую для каждого вопроса проценты ответов «Да», «Нет», «не знаю» C++
В двухмерном массиве размером n x m хранятся результаты опроса n человек на m вопросов. Ответами на вопросы являются слова «Да», «Нет», «не знаю». Написать программу, указывающую для каждого вопроса проценты ответов «Да», «Нет», «не знаю»
C++ Работа с графикой http://www.cyberforum.ru/cpp-beginners/thread850178.html
Здравствуйте, помогите разобраться с программой? в результате должны получиться различные графические объекты, перемещающиеся по прямым траекториям с разными случайными векторами скоростей. и возможность добавления и удаления объектов. вот все, что есть. программа не работает. #include <stdlib.h> #include <time.h> #include <grx20.h> #include <grxkeys.h> struct TPoint{ int x,y; int vx,...
C++ Сформировать массив по правилу программа формирования и вывода массива размером 6 на 3, каждые три последовательных элемента в строке которого составлены по следующему правилу: 1-й - равен удвоенному числу, введенному с клавиатуры; 2-й - равен квадрату суммы индексов предыдущего элемента; 3-й - равен остатку от деления индекса текущего элемента на 2 подробнее

Показать сообщение отдельно
11101010
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 35
27.04.2013, 19:40     Откомментируйте календарь
Объясните пожалуйста, почему в 18й строке вычитаем 2008? Ещё пожалуйста откомментируйте строки снизу, что календарь отрисовывают (где формулы), мол, почему эти числа и что там и как происходит. Нужно как-то подсветить праздники и выходные, как это можно сделать?
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
#include <iostream>
using namespace std;
 
int DaysPerMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int DayForw[] = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
char cMonths[] = "Jan\0Feb\0Mar\0Apr\0May\0Jun\0Jul\0Aug\0Sep\0Oct\0Nov\0Dec";
int DaysPerYear = 365;
 
int main()
{
    cout << "Enter the month & the year for calendar (mm yyyy): ";
    int iMonth, iYear;
    int* Direction;
    cin >> iMonth >> iYear;
    cout << endl;
    int iCorrect, DaysDist;
 
    DaysDist = (iYear - 2008);
    Direction = &DayForw[0];
 
    iCorrect = (DaysDist)/4; // запоминаем количество високосных лет, для коррекции дней недели...
    if (DaysDist>0)
        iCorrect++;
    if ((DaysDist)%4 == 0) // если високосный год, то корректируем вспом. массивы...
    {
        if (DaysDist>0)
            iCorrect--;
        for (int i=2; i < 12; i++) // массив для коррекции по месяцу...
            DayForw[i]++;
        DaysPerMonth[1]++; // массив количеств дней в месяце...
    }
 
    DaysDist = DaysDist*365+iCorrect+Direction[iMonth-1];
    int DayOfMonth;
    if (DaysDist < 0)
        DayOfMonth= 7 - (5-DaysDist)%7;
    else
        DayOfMonth = (DaysDist+1)%7 + 1;
    cout << "\t    ************ " << cMonths+(iMonth-1)*4 << " " << iYear << " ************" << endl << endl;
    cout << "\tMon\tTue\tWed\tThu\tFri\tSat\tSun" << endl << endl;
    for (int i=1; i<DayOfMonth; i++)
        cout << "\t";
    for (int i=0; i<DaysPerMonth[iMonth-1]; DayOfMonth++, i++)
    {
        cout << "\t" << i+1;
        if (DayOfMonth==7)
        {
            DayOfMonth=0;
            cout << endl << endl; 
        }
    }
    cout << endl << endl << "\t    ************ " << cMonths+(iMonth-1)*4 << " " << iYear << " ************" << endl;
    cin >> iYear;
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru