Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 07.01.2017
Сообщений: 47
1

Календарь на декабрь 2016 года

07.01.2017, 16:59. Просмотров 416. Ответов 1
Метки нет (Все метки)

Данная программа при компиляции должна выводить на экран календарь на декабрь 2016 года. В переменной start_day указывается с какого дня начинается месяц, при выводе чисел, оно почему то считает не с понедельника, а наооборот, вставляет пропуски с воскресенья. Помогите в решении даной проблемы.



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
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    setlocale(0, "");
    cout << "\t\t\tДекабрь\t2016" << endl;
    cout << endl;
    cout << "\tПн\tВт\tСр\tЧт\tПт\tСб\tВс" << endl;
    int start_day = -7, days = 31; // в переменной start_day указывается с какого дня начинается месяц
    for (int a = start_day; a < days; )
    {
        for (int b = 0; b < 7; b++)
        {
            a++;
            if (a >= 0 && a <days)
                cout << '\t' << (a + 1); // Оно должно считать с понедельника, но считает почему то с воскресенье
            else
                cout << "  ";
 
        }
        cout << endl;
 
    }
    _getch();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.01.2017, 16:59
Ответы с готовыми решениями:

Напечатайте календарь заданного месяца 2005 года, зная, что 1 января 2005 года — суббота
не могу понять что вообще делать в программе. Условие звучит так: Напечатайте календарь заданного...

Не запускается календарь (VBA-скрипте) в офисе 2016 (run-time error 424)
После переустановки системы, установили новую версию офиса &quot;2016&quot;. Возникла проблем с запуском...

Посоветуйте симулятор дальнобойщика 2016-2017 года
Не играл в игры много лет, раньше играл в старый добрый &quot;18 стальных колес&quot;, но графа уже не та....

Игровой компьютер для игр ДО 2016 года
Хочу собрать игровой ПК для игр вышедших до 2016 года (2016 г. включительно). Играть спокойно на...

1
1358 / 582 / 198
Регистрация: 02.08.2011
Сообщений: 2,880
08.01.2017, 02:05 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    setlocale(0, "");
    cout << "\t\t\tДекабрь\t2016" << endl;
    cout << endl;
    cout << "\tПн\tВт\tСр\tЧт\tПт\tСб\tВс" << endl;
    int start_day = 4, days = 31; // в переменной start_day указывается с какого дня начинается месяц
 
    for (int j=1;j<start_day + 1;j++) cout << '\t'; //Пропускаем пустые ячейки
 
    for (int i=start_day;i<days+start_day;i++){ //Начинаем с первого значимого дня
        cout << i-start_day + 1 << '\t';        //Выводим номер дня по порядку
        if (i && i%7==0) cout << "\n\t";        //Если день 7-й, то пишем новую строку
    }
    cout << '\n';
 
    _getch();
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2017, 02:05

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Установка Windows 7 на ноутбуки ASUS 2015 и 2016 года
Который раз сталкиваюсь с тем, что на новые модели ноутбуков ASUS (ориентировочно с 2015 года) не...

Календарь и вывод времени года и №недели
Как сделать чтобы программа выдавала следующий результат Май 1 время года – весна номер...

Восточный календарь: вывести название года
Давным давно, в одной альтернативной вселенной, в восточном календаре был принят 60-летний цикл,...

Система зависает и тормозит после обновления в июне 2016 года
Не могу пользоваться Windows 10 после Windows Update. После первых шагов в системе Windows...


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

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

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