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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
олег ширшиков
Сообщений: n/a
#1

Реализовать классы, осуществляющие выдачу в поток и чтение из потока информации в различных форматах - C++

26.12.2012, 21:32. Просмотров 256. Ответов 0
Метки нет (Все метки)

помогите пожалуйста: нужен код до пятницы


задание следующее:на основе класса время реализуйте классы осуществляющие выдачу в поток и чтение из потока информации в различных форматах рассмотрите следующие классы:
1) время с разделителем пример (12:34:23)
2)12 часовой формат пример (4:45:56 пп)

вот мой класс:

тестовая программа:
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
104
105
106
107
#include<stdio.h>
#include <iostream>
#include "execution.h"
 
using namespace std;
 
void otvetsravnenie(int n)        //fynkzia  vidathi soobsheniy 
{
  
   if(n==0)
      {
    cout<<"time 1<time 2"<<endl;
    
      }
     if(n==1)
      {
        cout<<"time 1> time 2."<<endl;
              }
                if(n==2)
                 {
                    cout<<"time 1= time 2"<<endl;
                     }
                                  }
  
 
int main(void)
{
cout << "Input time 1:hour , minute , secund" << endl;
               
    
Time Time1;      //objavlenie objekta klassa     // objavlenie peremennoi classa    object klassa s imenem time 1
cin>>Time1;          //potokoviy vvod
bool f= Time1.proverka();  // proverka pravilnosty vvoda 
if(f==true)
   {
     //Time1.korrect();
     cout<< Time1<<endl;  // potokoviy vivod
         }
           else
             {
           cout<<"oshibka vvoda"<<endl;
              
              }
        
         
  
   
                
                
cout << "Input time 2: hour,minute,secund" << endl;
                
Time Time2;//objavlenie objekta klassa     // objavlenie peremennoi classa    object klassa s imenem time 1
 
cin>>Time2;         //potokoviy vvod
bool t= Time2.proverka();   // proverka pravilnosty vvoda 
if(t==true)
    {    
      //Time2.korrect();
       cout<< Time2<<endl;      // potokoviy vivod
 
         
           int n=Time2.sravnenie(Time1);   // vizov sravnenia  
       otvetsravnenie( n);     //  vizov vidathi soobshenia
        
         cout<<"vibery deistvie  (1)-time1+time2    (2)- time 1-time 2"<<endl;
         int x;
         cin>> x;
        
         switch(x)
        
        
        {
           case 1:
              {
                    Time Time3;   //object
                     Time3=Time1+Time2;  // slojenie  objectov
                       Time3.korrect();  //  vizov korrectirovki
                       
                  cout<<"time 1+ time 2:            "<<endl;
        
                      cout<<Time3<<endl;   // vivod rezyltata
                                     break;
                    
                                     }
        
          case 2:
            {      
                   Time Time4;
                     Time4=Time1-Time2;
        
                 cout<<"time 1- time 2:            "<<endl;
                             Time4.korrect();
        
                                 cout<<Time4<<endl;
                                     break;
          
                                                }
                                                       }
                                                                  }
    
        
                                              else{cout<<"oshibka vvoda"<<endl;}
        
     
                                                                    return 0;
             
                                                                              }

execution.h

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
#ifndef execution_h
#define execution_h
#include <iostream>
using namespace std;
 
class Time //nazvanie klassa
{
 
public: // spesificator tipa public
   Time();//konstryctor
   Time(unsigned h, unsigned m, unsigned s);
  
   bool proverka ();
   const int sravnenie(Time ap);
   ~Time();
   Time(const Time&app);
   
   friend std::istream&operator>>(std::istream& is,Time&ap);
   friend std::ostream&operator<<(std::ostream& os,const Time&ap);
  
 
   Time&operator=(Time&app);
   Time&operator+(const Time&app);
   Time&operator-( Time&app);
   void korrect();
 
 private: // spesificator tipa private
    unsigned hour, // thas
           minute, // minute
           secund; // secundi
    int func_sravnenie (unsigned a,unsigned b);
    }; 
 
 
#endif



execuion.cpp







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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#include "execution.h"
 
Time::Time()                    // konstructor 1
:hour(0),minute(0),secund(0)  
{
}
 
Time::Time( unsigned h,unsigned m, unsigned s)         // kostructor kopii 2
:hour(h),minute(m),secund(s)
 
{
 
}
 
Time::~Time()            //destructor
{
}
 
Time::Time(const Time&app)      // konstryctor 4
:hour(app.hour),minute(app.minute),secund(app.secund)
{
}
 
bool Time:: proverka()   //metod proverki
{
  if(hour>=0&&hour<24)
  {
    if(minute>=0&&minute<60)
    { 
      if(secund>=0&&secund<60)
      {
    return true;
    
      }
      else 
      {
    return false;
      }
    }
    else
    {
      return false;
      
    }
    
  }
  else
  {
    return false;
    
  }
}
 
int Time::func_sravnenie (unsigned a,unsigned b)
{
   int k;
   if(a>b)
   {
     k=1;
   };
   if (a<b)
   {
     k=2;
   };
   if (a==b)
   {
     k=3;
   };
   return k;
}
 
const int Time::sravnenie(Time ap)  // metod sravnenia
{
  int s;
  s=func_sravnenie(ap.hour,hour);
  if(s==1)
  {
    return 1;
  }              
  if(s==2)
  {
    return 0;
  }
  if(s==3)
  {      
    s=func_sravnenie(ap.minute,minute);
    if(s==1)
    {
      return 1; 
    }
    if(s==2)
    {
      return 0;
    }                         
    if(s==3)
    {
      s=func_sravnenie(ap.secund,secund);
      if(s==1)
      {
    return 1;
      }
      if(s==2)
      {
    return 0;
      }
      if(s==3)
      { 
    return 2;
      }
    }  
  }
}
 
std::istream&operator>>(istream& is,Time&ap)   //  operator potokovogo vvoda
{
  is>>ap.hour>>ap.minute>>ap.secund;
  return is;
}
 
std::ostream&operator<<(ostream& os,const Time&ap)    // operator potokovogo vivoda
{
  os<<ap.hour<<' '<<ap.minute<<' '<<ap.secund;
  return os;
}
 
Time&Time:: operator=(Time&app)          //  operator prisvoenia
{
  hour=app.hour;
 minute=app.minute;
   secund=app.secund;
  return *this; //  vernit object dlya kotorogo vizvana fynczia
}
 
Time&Time:: operator+( const Time &app)   // operator slojenia
{
  hour=(app.hour+hour);
  minute=(app.minute+minute);
  secund=(app.secund+secund);
  return *this; 
}     
      
Time&Time:: operator-( Time &app)  //operator vithitania
{
  hour=(hour-app.hour);
  minute=(minute-app.minute);
  secund=(secund-app.secund);
  return *this;
} 
         
void Time:: korrect() // metod korrectirovki
{   
 if(secund>=60)
 {
  secund=secund-60;
  minute=minute+1;
 };
  if(minute>=60)
 {
   minute=minute-60;
   hour=hour+1;
 }; 
 if(secund<0)
 {
  secund=secund+60;minute=minute-1;
 };
 if(minute<0)
 {
  minute=minute+60;hour=hour-1;
 }; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2012, 21:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализовать классы, осуществляющие выдачу в поток и чтение из потока информации в различных форматах (C++):

Печать даты в различных форматах - C++
Напишите программу, которая считает даты в первом формате и печатет их во втором! 07/21/55 и Июль 21, 1995 Добавлено через 19 минут ...

Создать класс для хранения календарных дат. Обеспечить возможность работы с датами в различных форматах - C++
2. Создать класс для хранения календарных дат. Обеспечить возможность работы с датами в различных форматах, изменения даты на заданное...

Реализовать выдачу заданной суммы денег - C++
В одномерном массиве в порядке убывания представлены достоинства денежных знаков (купюр и монет) валютной системы некоторой страны....

Запись/чтение в поток/из потока xml - C#
Как можно записать xml-код, сгенерированный программно, в поток и считать после. Сохраняю так: Stream s; public XmlDocument doc =...

Чтение из входящего потока и запись в исходящий файловый поток - Java SE
Здравствуйте ! Подскажите, пожалуйста ошибку. Вообщем, на вход прилетает массив url-адресов, к которым нужно подконнектиться и прочитать...

3ds Max Сохранение в различных форматах - 3D моделирование
Скачала 3DS Max 2011 со студенческой лицезией. Думал конвертировать пару свободных моделей в *.x файлы для своего использования. В итоге...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 21:32
Привет! Вот еще темы с ответами:

Реализовать запись и чтение коллекции из потока типа TDosStream - Turbo Pascal
Добрый день! Мне необходимо реализовать запись и чтение коллекции из потока типа TDosStream. Запись потока происходит в файл book.res...

Сохранение изображения в различных форматах (jpg, png, bmp) - C#
Здравствуйте! Имеется объект класса Image. Как мне выбрать формат сохранения изображения (jpg, bmp, png, ...)? Сто раз уже это делал, а...

Создайте дату по введенным числовым значениям (в различных форматах) - VBA
Это делается с помощью функции DateValue() или нет? Что вообще должно получится не совсем поняла

Определить классы абстрактного выражения и классы для различных типов выражений - C#
помогите Реализовать объектно-ориентированную модель, определяет математическое выражение, представлен в виде дерева. Определить классы...


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

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

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