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

Классы С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дан файл f, компоненты которого являются целыми числами http://www.cyberforum.ru/cpp-beginners/thread37326.html
Дан файл f, компоненты которого являются целыми числами. Получить в файле g все компоненты файла f, являющимися четными числами. Я пробовал решить данную задачу, для начала : юзер вводит число,...
C++ Удаление строки из файла\либо удаление самого файла. День добрый, вот функция(используемые переменные объявленны ранее): void delete_cruise() { FILE *fout; open_file("abase.dat"); char *result; char line, find_str;... http://www.cyberforum.ru/cpp-beginners/thread37325.html
Выборка из массива C++
У меня есть программка, которая выполняет,при длине L четной, то удаляются 2 первых и 2 последних символа; #include<iostream.h> #include<string.h> #include<stdlib.h> #include<stdio.h>...
C++ Невозможно поместить строку map<string,float>pairs_map; в .h-файл
Делаю проект,есть 3 файла : // project_header.h #ifndef PROJECT_HEADER_H_INCLUDED #define PROJECT_HEADER_H_INCLUDED #include <iostream> #include <map> #include <iterator> #include <string>...
C++ Строковый ввод-вывод. С++ http://www.cyberforum.ru/cpp-beginners/thread37316.html
У меня возникла проблема с заданием. Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию 1) Скопировать из файла F1 в файл F2 все строки, которые содержат только...
C++ Переход по ссылке Люди кто знает как в программу добавить переход по ссылке html напимер нажимаеш на button и переходит к конкретной ссылке ;) подробнее

Показать сообщение отдельно
Sir-Aragon
328 / 11 / 2
Регистрация: 28.10.2008
Сообщений: 76
30.05.2009, 20:48  [ТС]
вот что получилось у меня:

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
//DateAddMonths.hhp
class CDateAddMonths
{
   int m_date_year; //god
   int m_date_month; //mesjaz
   int m_date_day; //den
   int m_month_days[12]; 
 
 public:
 
   CDateAddMonths(); //konstructor
   ~CDateAddMonths(); //destructor
 
   void GetDateAddMonths(char *buf); //vsja stroka
   int GetY(); //znachenija bez atributov
   int GetM();
   int GetD();
 
   int SetY(int); //ustanovit den, mesjaz, god
   int SetM(int);
   int SetD(int);
 
   int SetDateAddMonths(int AY, int AM, int AD); //ustanovit datu
   int SetDateAddMonths(char *buf); //reoloding operations
 
   int SetAsString(); //metod dlya ustanovki isxodnogo dannogo
 };
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
  //DateAddMonths.cpp    
           #include<stdio.h>
    #include<string.h>
    #include<iostream.h>
    #include<stdlib.h>
    #include<conio.h>
    #include"DATEAddS.cpp"
 
 
    int main()
    {
     CDateAddMonths DateMonth1;      //Vizov konstruktora
     clrscr();
     int m_date_year, m_date_months, m_date_day;
     char buf[32];        //zadaet ichodnuy datu, kotoruy budet vidavat
 
     while(1)
     {
        printf("\nPlease, type a date ('q' to exit) [dd.mm.yyyy]: ");
                    scanf("%s",buf);
                    if(!strcmp(buf,"q")) break;
            //v objekt DateMonth1 ustanavlivayt datu iz stroki,
            //kotor zapisana v peremennoi buf
            if(!DateMonth1.SetDateAddMonths(buf))
                {
                             printf("The date You have typed is invalid.\n");
                             continue;     //snova vvesti novuy datu
                }
//   printf("Please, type a date ('t' to exit) [yyyy.mm.dd]:");
 //                 scanf("s",buf);
 
    cout<<DateMonth1.SetAsString();
     !DateMonth1;
 
     DateMonth1.GetDateAddMonths(buf);   //schitaet datu iz objekta v peremennuy buf
                    sprintf(buf,"%c\n");
                 } return 0;
                }
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
DateAddMonths1.cpp
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include"DateAddM.hpp"
#include<iostream.h>
 
 
    //Konstructor
    CDateAddMonths::CDateAddMonhs()
    { m_date_year=1;
        m_date_month=1;
        m_date_day=1;
 
        //inicialization of massiv
        m_month_days[0]=31;
        m_month_days[1]=28;
        m_month_days[2]=31;
        m_month_days[3]=30;
        m_month_days[4]=31;
        m_month_days[5]=30;
        m_month_days[6]=30;
        m_month_days[7]=31;
        m_month_days[8]=30;
        m_month_days[9]=31;
        m_month_days[10]=30;
        m_month_days[11]=31;
    }
 
    //Destructor
    CDateAddMonths::~CDateAddMonths()
    {}
 
 
    //Metod, beret vsu datu v vide stroki
    void CDateAddMonths::GetDateAddMonths(char *buf)
    {
     sprintf(buf, "%02d.%02d.%04d", m_date_day, m_date_month, m_date_year);
}
 
    int CDateAddMonths::GetD()          //Give number of Day
    { return m_date_day; }
    int CDateAddMonths::GetM()      //Give number of Month
    { return m_date_month; }
    int CDateAddMonths::GetY()      //Give number of Year
    { return m_date_year; }
 
    //Metod ustanovki znachenii
    //Ustanovit srazu vsu datu po nomeru goda,mesaca i dna
    int CDateAddMonths::SetDateAddMonths(int AY,int AM,int AD)
    {
                 return
                    SetY(AY)&&
                    SetM(AM)&&
                    SetD(AD);
    }
 
    //Ustanovit vsu datu iz stroki
    int CDateAddMonths::SetDateAddMonths(char *buf)
    {
                 int y,m,d;
                 sscanf(buf,"%d.%d.%d",&d,&m,&y);
     return SetDateAddMonths(y,m,d);
    }
 
    //Ustanavlivaet denj po ego nomeru
    int CDateAddMonths::SetD(int AD)
                {
     if(AD>=1&&AD<=m_month_days[m_date_month-1])
         { m_date_day=AD;
                         return 1;
                     }
                 else
                         return 0;
    }
 
    //Ustanavlivaet mesac po ego nomeru
    int CDateAddMonths::SetM(int AM)
                {
     if(AM>=1&&AM<=12)
                     { m_date_month=AM;
                         return 1;
                     }
                 else
                         return 0;
    }
 
    //Ustanavlivaet god po rgo nomeru
    int CDateAddMonths::SetY(int AY)
                {
     if(AY>=1&&AY<=9999)
                     {  m_date_year=AY; //uslovie, yavlaeca li god visikosniv
                                                     //ustanavlivaem kol-vo dnei v fevrale
                if(m_date_year%4==0&&m_date_year%100!=0||m_date_year%400==0)
                                 m_month_days[1]=29;    //Visokos
                            else
                                 m_month_days[1]=28;    //Normal
                                     return 1;
         }
     else
        return 0;
    }
// а вот как реализовать, не знаю: Найти дату, которая наступит по прошествии указанного количества месяцев после заданной даты.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru