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

Описать класс «Календарь» - C++

Восстановить пароль Регистрация
 
sovershenstvo
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 125
20.02.2013, 17:24     Описать класс «Календарь» #1
Описать класс «Календарь», позволяющий работать с календарными датами от 0 до 10000 года нашей эры. Поля класса продумать самостоятельно. Обязательные методы класса: установка и вывод информации о текущей дате; вывод дня недели для указанной даты; подсчет числа дней между двумя указанными датами; подсчет числа дней недели, выпадающих на конкретное число указанного месяца в пределах указанного диапазона дат.

Можно описать хотя бы 2года
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2013, 17:24     Описать класс «Календарь»
Посмотрите здесь:

C++ Описать класс
C++ описать класс матрица
C++ Описать класс Дата
C++ Описать класс
C++ Описать класс «Многоугольник»
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты. C++
C++ Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты
C++ Описать класс студент

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Demy85
58 / 58 / 5
Регистрация: 28.05.2012
Сообщений: 211
Завершенные тесты: 1
20.02.2013, 17:59     Описать класс «Календарь» #2
Цитата Сообщение от sovershenstvo Посмотреть сообщение
Описать класс «Календарь», позволяющий работать с календарными датами от 0 до 10000 года нашей эры. Поля класса продумать самостоятельно. Обязательные методы класса: установка и вывод информации о текущей дате; вывод дня недели для указанной даты; подсчет числа дней между двумя указанными датами; подсчет числа дней недели, выпадающих на конкретное число указанного месяца в пределах указанного диапазона дат.

Можно описать хотя бы 2года
Приведите свои наработки, мысли по этому поводу - люди будут охотнее отвечать.
sovershenstvo
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 125
20.02.2013, 18:45  [ТС]     Описать класс «Календарь» #3
Или переделать вот эту прогр-у,
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
#include <iostream> 
#include <iomanip> //Манипуляторы для поточных вводов-выводов
#include <time.h> //Это наша суть, работа со временем
#include <fstream> //Файловые потоки ввода/вывода
using namespace std;
int main()
{    
setlocale(LC_ALL,"Russian");    
int Year; //Год на который будет разрабатыватся календарь    
class tm *date; //Класс календарной даты    
time_t temp = time(NULL);   
char *Month[] = {"Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь","Ноябрь", "Декабрь"};  
ofstream file("Calendar.txt"); //Файловый ввод   
cout << "Введите год : ";   
cin >> Year; //Ввод года    
//Поставим date в 1 января введенного года    
date = localtime(&temp); //Получим текущую дату    
date->tm_year = Year - 1900;        
date->tm_mon = 0; //Это январь    
date->tm_mday = 1; //Это первое число        
time_t a = mktime(date); //Создадим time_t исходя из нашей даты    
int limitsDay = date->tm_year; //Для цикла определим текущий год из структуры    
int Selection = -1; //Опция выбора (смещение строки) если текущий месяц закончился    
//Пока структура указывает еще на введенный год   
while (date->tm_year == limitsDay)     
{        if (Selection != date->tm_mon) //Проверим не закончился ли текущий месяц (нам же шапку вывести нужно)        
{            //А если месяц закончился, то перейдем на след. строку            
cout<< endl;            
file<< endl;            
//Выведим название месяца            
cout<< endl<< Month[date->tm_mon] << endl;             
file<< endl<< Month[date->tm_mon] << endl;            
//Выведим шапку дней недели            
cout<< setw(3) << "Вс"<< setw(3) << "Пн"<< setw(3) << "Вт"<< setw(3) << "Ср"<< setw(3) << "Чт"<< setw(3) << "Пт"<< setw(3) << "Сб"<<endl;            
file<< setw(3) << "Вс"<< setw(3) << "Пн"<< setw(3) << "Вт"<< setw(3) << "Ср"<< setw(3) << "Чт"<< setw(3) << "Пт"<< setw(3) << "Сб"<<endl;                        
Selection = date->tm_mon;  //Перезапишим Selection в уже новый-текущий месяц            
if (date->tm_wday != 0) //Если день недели в новом месяце не сначало, то отделим пробелами        
{                for (int i = 0; i < date->tm_wday; i++)                
{                    cout<< setw(3) << "";                    
file<< setw(3) << "";                
}            
}        
}        cout<<setw(3)<<date->tm_mday; //Вывод дня в месяце        
file<< setw(3) << date->tm_mday;                
if (date->tm_wday == 6) //Если дни недели закончились перейдем на новую строку        
{            
             cout << endl;            
             file << endl;        }       
             date->tm_mday++; //Добавим 1 день        
a = mktime(date); //Свормируем новое время по данным структуры    
}        cout << endl;    
file.close(); //Закроем файл
system("pause");
}
Yandex
Объявления
20.02.2013, 18:45     Описать класс «Календарь»
Ответ Создать тему
Опции темы

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