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

Получить тройку чисел, соответствующих следующему дню - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчет количества символов в каждом слове предложения с 7 слов http://www.cyberforum.ru/cpp-beginners/thread151568.html
Здравствуйте! Пожалуйста помогите с написанием программы на bc++ 3.11 программы которая выполняла такие действия: Подсчитать количество символов в каждом слове и в предложении, которое состоит из...
C++ приведите пожалуйста реальный прмиер: для чего нужны дружественные функции? приведите пожалуйста реальный прмиер: для чего нужны дружественные функции? http://www.cyberforum.ru/cpp-beginners/thread151540.html
C++ Как создать свою библиотеку?
Как создать свою библиотеку со своими функциями и включить ее в основную программу?
Инициализация данных объекта. C++
Помогите найти ошибку. class Peson{ private: int Number; char FIO; int Pol; float Age; public: void print(); person(int Number, char FIO, int Pol, float Age);
C++ Перегрузка оператора () http://www.cyberforum.ru/cpp-beginners/thread151532.html
кто может подсказать как создать перегрузку что бы можно было работать с амссивввом в таком ввиде mass(3)=2 а не mass=2; если можно маленький пример с коментарием
C++ Построить диаграмму длины слов, входящих в текст, содержащий от 5 до 10 слов. Построить диаграмму длины слов, входящих в текст, содержащий от 5 до 10 слов. Не понимаю как считать заданное количество слов и подсчитать в каждом количество букв. Плиз напишите программу лучше на... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9625 / 5573 / 947
Регистрация: 25.07.2009
Сообщений: 10,708
04.07.2010, 20:39
Chappi, вот Вам аж целый класс с добавлялкой дня
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <iostream>
#include <exception>
#include <stdexcept>
#include <cstdlib>
 
class Date {
private:
    int m_year;
    int m_month;
    int m_day;
    static const int month_days[12];
    void checkCorrect() const {
        try {
            if ( m_year < 1900 || m_year > 2030 )
                throw std::range_error("Wrong year.");
            if ( m_month < 1 || m_month > 12 )
                throw std::range_error("Wrong month.");
            if ( m_day < 1 || m_day > lastDay() )
                throw std::range_error("Wrong day.");
        }
        catch (std::range_error & e){
            std::cerr << e.what() << std::endl;
            exit(EXIT_FAILURE);
        }
        catch (...) {
            std::cerr << "Unknown error" << std::endl;
            exit(EXIT_FAILURE);
        }
    }
 
public:
    Date() : m_day(1), m_month(1), m_year(1970) {}
    Date(int day, int month, int year) : m_day(day), m_month(month), m_year(year) {
        checkCorrect();
    }
    bool isLeap() const { return m_year % 4 == 0 && m_year % 100 != 0 || m_year % 400 == 0; }
    int lastDay() const {
        int ld = month_days[m_month - 1];
        if ( m_month == 2 )
            ld += static_cast<int>(isLeap());
        return ld;
    }
    Date nextDay() const {
        Date nd(*this);
        nd.m_day += 1;
        if ( nd.m_day > nd.lastDay() ){
            nd.m_day = 1;
            nd.m_month += 1;
            if ( nd.m_month > 12 ){
                nd.m_month = 1;
                nd.m_year += 1;
            }
        }
        return nd;
    }
    friend std::ostream & operator << (std::ostream & ost, const Date & dat){
        ost << dat.m_day << '-' << dat.m_month << '-' << dat.m_year;
        return ost;
    }
    friend std::istream & operator >> (std::istream & ist, Date & dat){
        ist >> dat.m_day;
        ist.ignore();
        ist >> dat.m_month;
        ist.ignore();
        ist >> dat.m_year;
        dat.checkCorrect();
        return ist;
    }
};
 
const int Date::month_days[12]  = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
 
int main(){
    Date dat;
    std::cout << "Default value: " << dat << std::endl;
    std::cout << "Next day: " << dat.nextDay() << std::endl;
    std::cout << "Enter a new date in format d-m-y: ";
    std::cin >> dat;
    std::cout << "Next day: " << dat.nextDay() << std::endl;
 
    exit(EXIT_SUCCESS);
}
Добавлено через 9 минут

Не по теме:

Цитата Сообщение от Vladimir616 Посмотреть сообщение
if(z == (y!=2?((y%2)^(y>7))+30!(x%400)||!(x%4)&&(x%25)?29:28)))
Почаще так делайте... Особенно, если от Вас только часть программы требуется, а остальное другие пишут. Они Вам будут благодарны...

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