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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в программе http://www.cyberforum.ru/cpp-beginners/thread747261.html
Помогите, пожалуйста, устранить ошибки в программе. Заранее спасибо. #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <iomanip> #include <string.h> #include <iostream> #include <string.h> using namespace std;
C++ Генератор паролей Кто может чётко написать коментарии для генератора паролей Просто я учусь программировать на С++ и вот решил разбирать несложные коды Добавлено через 33 секунды #include <iostream> #include <algorithm> #include <time.h> #include <stdlib.h> #include <fstream> http://www.cyberforum.ru/cpp-beginners/thread747253.html
Проверить, имеется ли в массиве число, введенное пользователем. Если да – вывести его индекс C++
кто-нибудь может подсказать как сделать? Язык С++. только мне по самому простому, только начинаю учить язык, через цикл for, и это одномерных массивов, заполняемый вручную Проверить, имеется ли в массиве число, введенное пользователем. Если да – вывести его индекс. Дублирование тем запрещено правилами форума. Закрыто.
Найти количество п-значных чисел C++
Найти количество n-значных чисел в десятичной системе счисления, у каждого из которых сумма цифр равна k. При этом в качестве n-значного числа мы допускаем и числа, начинающиеся с одного или нескольких нулей. Например, число 000102 рассматривается как шестизначное, сумма цифр которого равна 3.
C++ LU - разложение (выдает NaN) http://www.cyberforum.ru/cpp-beginners/thread747235.html
Здравствуйте. Помогите исправить программу. Проблема заключается в том, что некоторые значение получаются NaN/ #include<iostream.h> #include<conio.h> #include<iomanip.h> int main() { int i,j,k,n; float a,b,x,l,z,u,sum; cout<<"Enter number of unknowns:"; cin>>n;
C++ Примерчики ООП простые Всем добрый вечер Вот задачка Необходимо создать 3 класса Авто, Запчасти и Калькулятор в Классе Авто должны быть массивом запчасти и имя авто в Классе Запчасти Название запчасти и стоимость подробнее

Показать сообщение отдельно
олег ширшиков
Сообщений: n/a
26.12.2012, 21:32     Реализовать классы, осуществляющие выдачу в поток и чтение из потока информации в различных форматах
помогите пожалуйста: нужен код до пятницы


задание следующее:на основе класса время реализуйте классы осуществляющие выдачу в поток и чтение из потока информации в различных форматах рассмотрите следующие классы:
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;
 }; 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru