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

Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное - C++

Восстановить пароль Регистрация
 
mashkama
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61
18.02.2014, 17:07     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное #1
Phone: Фамилия, Имя, Отчество, Адрес, Номер, Время внутри-
городских разговоров, Время междугородних разговоров. Создать
массив объектов. Вывести:
а) сведения об абонентах, время внутригородских разговоров кото-
рых превышает заданное;
б) сведения об абонентах, воспользовавшихся междугородней свя-
зью;
в) сведения об абонентах, выведенные в алфавитном порядке
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2014, 17:07     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное
Посмотрите здесь:

C++ Вывести все Простые дроби из интервала (0; 1), знаменатель которых не превышает n.
Найти все натуральные числа из промежутка от k до l, у которых количество делителей превышает заданное число m C++
C++ Определить количество студентов, у которых средний балл превышает заданное пользователем значени
Вывести на экран все слова, количество букв в которых превышает введенное число C++
C++ Вывести список товаров, стоимость которых превышает 100 000 рублей
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
18.02.2014, 18:01     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное #2
Цитата Сообщение от mashkama Посмотреть сообщение
разработать классы для описанного объекта
Классов несколько? Наследуются или как?
mashkama
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61
18.02.2014, 18:10  [ТС]     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное #3
Phone- имя класса,Включить в
класс методы set (…), get (…), show (…). О
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
19.02.2014, 03:03     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное #4
mashkama, только одна проблема. В строке 191 во время ввода номера глотает первый символ.
Не понял как исправить, если кто знает отпишитесь.

Кликните здесь для просмотра всего текста
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
#include <iostream>
#include <windows.h>
 
class Phone
{
    private:
        std::string sName, fName, lName,
                    address, number;
        float localTime, globalTime;
        int members;
        std::string** sData;
        float** iData;
    public:
        Phone() {}
        void createData(int _members)
        {
            members = _members;
            sData = new std::string*[members];
            iData = new float*[members];
            for(int i = 0; i < members; i++)
            {
                sData[i] = new std::string[3];
                iData[i] = new float[2];
            }
        }
        void clearData()
        {
            for(int i = 0; i < members; i++)
                delete [] sData[i], iData[i];
            
            delete [] sData, iData;
        }
        void set(std::string _sName,
                 std::string _fName,
                 std::string _lName,
                 std::string _address,
                 std::string _number,
                 float _localTime,
                 float _globalTime)
        {
            sName = _sName;
            fName = _fName;
            lName = _lName;
            address = _address;
            number = _number;
            localTime = _localTime;
            globalTime = _globalTime;
        }
        void fillData(int n)
        {
            sData[n][0] = sName + " " + fName + " " + lName;
            sData[n][1] = address;
            sData[n][2] = number;
            
            iData[n][0] = localTime;
            iData[n][1] = globalTime;
        }
        //Âûâîä ГўГ±ГҐГµ Г*ГЎГ®Г*ГҐГ*òîâ
        void showAllData()
        {
            for(int i = 0; i < members; i++)
            {
                std::cout << "-------------------------------\n";
                std::cout << "   Èìÿ Г*ГЎГ®Г*ГҐГ*ГІГ*: " << sData[i][0];
                std::cout << "\n   Àäðåñ: " << sData[i][1];
                std::cout << "\n   Íîìåð: " << sData[i][2];
                std::cout << "\n   Âðåìÿ ГўГ*óòðèãîðîäñêèõ Г°Г*çãîâîðîâ: " << iData[i][0];
                std::cout << "\n   Âðåìÿ ìåæäóãîðîäГ*ГЁГµ Г°Г*çãîâîðîâ: " << iData[i][1];
                std::cout << "\n-------------------------------\n";
            }
        }
        //ÑâåäåГ*ГЁГї îá Г*ГЎГ®Г*ГҐГ*ГІГ*Гµ, âðåìÿ ГўГ*óòðèãîðîäñêèõ Г°Г*çãîâîðîâ
        //êîòîðûõ ïðåâûøГ*ГҐГІ Г§Г*Г¤Г*Г*Г*îå
        void showData(float n)
        {
            for(int i = 0; i < members; i++)
            {
                if(iData[i][0] > n)
                {
                    std::cout << "\n   Èìÿ Г*ГЎГ®Г*ГҐГ*ГІГ*: " << sData[i][0];
                    std::cout << "\n   Àäðåñ: " << sData[i][1];
                    std::cout << "\n   Íîìåð: " << sData[i][2];
                }
            }
            std::cout << "\n-------------------------------\n";
        }
        //ÑâåäåГ*ГЁГї îá Г*ГЎГ®Г*ГҐГ*ГІГ*Гµ, âîñïîëüçîâГ*âøèõñÿ ìåæäóãîðîäГ*ГҐГ© ñâÿçüþ
        void showData()
        {
            for(int i = 0; i < members; i++)
            {
                if(iData[i][1] != 0)
                {
                    std::cout << "\n   Èìÿ Г*ГЎГ®Г*ГҐГ*ГІГ*: " << sData[i][0];
                    std::cout << "\n   Àäðåñ: " << sData[i][1];
                    std::cout << "\n   Íîìåð: " << sData[i][2];
                }
            }
            std::cout << "\n-------------------------------\n";
        }
        //ÑâåäåГ*ГЁГї îá Г*ГЎГ®Г*ГҐГ*ГІГ*Гµ, âûâåäåГ*Г*ûå Гў Г*ëôГ*ГўГЁГІГ*îì ïîðÿäêå
        void sort()
        {
            std::string s1, s2;
            for(int i = 0; i < members; i++)
            {
                s1 = sData[i][0];
                for(int l = 0; l < s1.size(); l++)
                {
                    if(isupper(s1[l]))
                        s1[l] = tolower(s1[l]);
                }
                for(int j = i; j < members; j++)
                {
                    s2 = sData[j][0];
                    for(int l = 0; l < s2.size(); l++)
                    {
                        if(isupper(s2[l]))
                            s2[l] = tolower(s2[l]);
                    }
                    
                    int size;
                    size = (s1.size() > s2.size())? s2.size()
                                                  : s1.size();
                    
                    for(int l = 0; l < size; l++)
                    {
                        if(s1[l] == s2[l])
                        {
                            l++;
                            if(l == size)
                                break;
                        }
                        if((int)s1[l] > (int)s2[l] || s2[l] == ' ')
                        {
                            std::string temp = sData[i][0];
                            sData[i][0] = sData[j][0];
                            sData[j][0] = temp;
                            
                            temp = sData[i][1];
                            sData[i][1] = sData[j][1];
                            sData[j][1] = temp;
                            
                            temp = sData[i][2];
                            sData[i][2] = sData[j][2];
                            sData[j][2] = temp;
                            
                            float fTemp = iData[i][0];
                            iData[i][0] = iData[j][0];
                            iData[j][0] = fTemp;
                            
                            fTemp = iData[i][1];
                            iData[i][1] = iData[j][1];
                            iData[j][1] = fTemp;
                            break;
                        }
                        else
                            break;
                    }
                }
            }
            
            for(int i = 0; i < members; i++)
            {
                std::cout << "\n   Èìÿ Г*ГЎГ®Г*ГҐГ*ГІГ*: " << sData[i][0];
                std::cout << "\n   Àäðåñ: " << sData[i][1];
                std::cout << "\n   Íîìåð: " << sData[i][2];
                std::cout << "\n-------------------------------\n";
            }
        }
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int quant;
    float localTime, globalTime;
    std::string sName, fName, lName,
                    address, number;
    Phone pObject;
    std::cout << "Ââåäèòå êîëè÷åñòâî Г*ГЎГ®Г*ГҐГ*òîâ: "; std::cin >> quant;
    pObject.createData(quant);
    for(int i = 0; i < quant; i++)
    {
        std::cin.ignore();
        std::cout << " \nГЂГЎГ®Г*ГҐГ*ГІ #" << i + 1 << "\n  Г”Г*ìèëèÿ: "; std::cin >> sName;
        std::cout << "  Г€Г¬Гї: "; std::cin >> fName;
        std::cout << "  ГЋГІГ·ГҐГ±ГІГўГ®: "; std::cin >> lName;
        std::cout << "  ГЂГ¤Г°ГҐГ±: "; std::cin.ignore(); getline(std::cin, address);
        std::cout << "  ГЌГ®Г¬ГҐГ°: "; std::cin.ignore(); getline(std::cin, number);
        std::cout << "  Г‚ðåìÿ ГўГ*óòðèãîðîäñêèõ Г°Г*çãîâîðîâ: "; std::cin >> localTime;
        std::cout << "  Г‚ðåìÿ ìåæäóãîðîäГ*ГЁГµ Г°Г*çãîâîðîâ: "; std::cin >> globalTime;
        pObject.set(sName, fName, lName, address, number, localTime, globalTime);
        pObject.fillData(i);
    }
    
    std::cout << "\n===============================\n\n";
    pObject.showAllData();
    std::cout << "\n===============================\n\n";
    
    char myChoice = '0';
    while(myChoice != '4')
    {
        std::cout << "1 - ñâåäåГ*ГЁГї îá Г*ГЎГ®Г*ГҐГ*ГІГ*Гµ, âðåìÿ ГўГ*óòðèãîðîäñêèõ" << 
                     "\n    Г°Г*çãîâîðîâ êîòîðûõ ïðåâûøГ*ГҐГІ Г§Г*Г¤Г*Г*Г*îå\n" <<
                     "2 - ñâåäåГ*ГЁГї îá Г*ГЎГ®Г*ГҐГ*ГІГ*Гµ, âîñïîëüçîâГ*âøèõñÿ" << 
                     "\n    Г¬ГҐГ¦Г¤ГіГЈГ®Г°Г®Г¤Г*ГҐГ© ñâÿçüþ\n" <<
                     "3 - ñâåäåГ*ГЁГї îá Г*ГЎГ®Г*ГҐГ*ГІГ*Гµ, âûâåäåГ*Г*ûå Гў Г*ëôГ*ГўГЁГІГ*îì ïîðÿäêå\n" <<
                     "4 - âûõîä ГЁГ§ ïðîãðГ*ììû\n" <<
                     "Г‚Г*Гё âûáîð: "; std::cin >> myChoice;
        if(myChoice == '1')
        {
            std::cout << "\nÂâåäèòå ëèìèò âðåìåГ*ГЁ: ";
            std::cin >> localTime;
            pObject.showData(localTime);
        }
        if(myChoice == '2')
            pObject.showData();
        if(myChoice == '3')
            pObject.sort();
    }
    
    pObject.clearData();
    
    system("pause");
    return 0;
}


Добавлено через 2 часа 41 минуту
Поправка...
Замените 134 строку на:
C++
1
if(((int)s1[l] > (int)s2[l]) || (s2[l] == ' ' && s1[l] != ' '))
и 157 на
C++
1
if(s1[l] != s2[l])
Так одинаковые имена отсортируются точно.
mashkama
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61
19.02.2014, 20:33  [ТС]     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное #5
спасибо большое)) а можно как нибудь без std переделать программу?)
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
19.02.2014, 21:55     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное #6
mashkama, после библиотек вставьте
C++
1
using namespace std;
Потом смело удаляйте.
Только явно придётся указать преобразования типов, если будет необходимость.
Компиляция даст знать. А что, std вам так мешает?
mashkama
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61
23.02.2014, 10:31  [ТС]     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное #7
а не могли бы вы помочь испраивить ошибки в этом коде программы?я ее немного иначе хочу оформить..
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
#include <conio.h> 
#include <string.h> 
#include <iostream> 
struct fio 
  {char familia[15];  char name[10]; char otchestvo[12];}; 
 
   class Phone{ 
   char adres[30]; 
fio t;
  int nomer; int j;
   int *localTime;
     int globalTime; int members;
     public: 
       Phone(); 
  int getlocalTime(); 
             int getglobalTime(); 
       void show(); }; 
Phone::Phone() 
 
     { cout<<"f.i.o :" ;
     cout<<"familia :" ;cin>>t.familia;
      cout<<"name :" ; cin>>t.name;
       cout<<"otchestvo :" ;cin>>t.otchestvo;
        cout<<"adres :";cin>>adres;
        cout<<"nomer :"; cin>>nomer;
        cout<<"localTime :";cin>>localTime;
         cout<<"teimgg :";cin>>teimgg; }
void Phone::show() 
    { 
     cout<< "fio :"<<t.familia<<t.name<<t.otchestvo<<endl;
        cout<< "adres :" << adres <<endl;
        cout<< "nomer :"<< nomer <<endl;
        cout<< "localTime :"<< teimvv <<endl;
        cout<< "teimgg :"<< teimgg <<endl;}
        
         int *Phone::getlocalTime(){ return localTime; }
    int Phone::getglobalTime(){ return globalTime; }
    char spisok(){ Phone spis[],int n; }}; 
    
void showData(float k)
        {for(int i = 0; i < n; i++)
            {
                if(*getlocalTime > k)
                {
     cout<< "fio :"<<t.familia<<t.name<<t.otchestvo<<endl;
        cout<< "adres :" << adres <<endl;
        cout<< "nomer :"<< nomer <<endl;
                }
            }
           cout << "\n-------------------------------\n";
        }
 void choice_a(phone *arr)
{
            for(int i = 0; i < n; i++)
            {
                if(*getglobalTime != 0)
                {
     cout<< "fio :"<<t.familia<<t.name<<t.otchestvo<<endl;
        cout<< "adres :" << adres <<endl;
        cout<< "nomer :"<< nomer <<endl;
                }}
            cout << "\n-------------------------------\n";
        }
 
void sortirovka(pfone *arr)
{
 
    for ( int j = 0; j < n-1; j++)
        if ( arr[j].getfio() > arr[j+1].getfio()) {
             int tmp=arr[j].getfio() ;
             arr[j].getfio()=arr[j+1].getfio()) ;
             arr[j+1].getfio()) =tmp;}
}
 
     } return sortirovka(n,i,arr[j].getfio())
          cout<< "fio :"<<t.familia<<t.name<<t.otchestvo<<endl;
        cout<< "adres :" << adres <<endl;
        cout<< "nomer :"<< nomer <<endl;
                }}
            cout << "\n-------------------------------\n";
        }
//=========    main   ================ 
 
 int main() 
{    Phone *spis; 
     int n; 
     cout<<"Input a number of students: "; cin>>n; 
     spis=new Phone [n]; 
     for(int i=0;i<n;i++) { 
        cout<<"=============================="<<endl; 
        spis[i].show(); 
        } 
spisteimgg(spis,n); 
spisgeglobalTime(spis,n); 
delete [] spis; 
cout<<"press any key!" ;
while(!kbhit()); 
}
mashkama
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61
27.02.2014, 14:31  [ТС]     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное #8
вот это можно сделать рабочим?#include <conio.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
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
#include <fstream>
#include <iomanip>
#include <string.h> 
#include <iostream> 
using namespace std;
 
   class Phone{ 
   char familia[15]; 
    char name[10]; 
    char otchestvo[12];      
   char adres[30]; 
 int nomer; int j; Phone *spis;
   int localTime;
     int globalTime;
     public: 
       Phone(); 
  void getlocalTime(int,int); 
             void getglobalTime(int); 
             void getfamilia();
       void show(); }; 
Phone::Phone() 
 
     { 
     cout<<"familia :" ;cin>>familia;
      cout<<"name :" ; cin>>name;
       cout<<"otchestvo :" ;cin>>otchestvo;
        cout<<"adres :";cin>>adres;
        cout<<"nomer :"; cin>>nomer;
        cout<<"localTime :";cin>>localTime;
         cout<<"teimgg :";cin>>localTime;
          cout<<"localTime :";cin>>globalTime;
         cout<<"teimgg :";cin>>globalTime;  }
void Phone::show() 
    { 
     cout<< "fio :"<<familia<<name<<otchestvo<<endl;
        cout<< "adres :" << adres <<endl;
        cout<< "nomer :"<< nomer <<endl;
        cout<< "localTime :"<< localTime <<endl;
        cout<< "teimgg :"<< globalTime <<endl;}
        
 
    //     int *Phone::getlocalTime(){ return localTime; }
 //   int Phone::getglobalTime(){ return globalTime; }
   // char spisok(){ Phone spis[],int n; }}; 
    
void Phone::getlocalTime(int m, int n)
  { if(m>n)
                { cout<< "fio :"<<familia<<name<<otchestvo<<endl;
        cout<< "adres :" << adres <<endl;
        cout<< "nomer :"<< nomer <<endl;}}
 
 void Phone::getglobalTime( int c)
 
            {
                if(c!= 0)
                {
     cout<< "fio :"<<familia<<name<<otchestvo<<endl;
        cout<< "adres :" << adres <<endl;
        cout<< "nomer :"<< nomer <<endl;
                }}
 
 
void Phone::getfamilia()
{int n;
int arr[100];  int c=0; 
        int b=1;
        while(b==1){
            b=0;
    for ( int i = 0; i < n-1; i++)
        if ( spis[i].familia > spis[i+1].familia) {
             tmp=spis[i] ;
             spis[i] =spis[i+1] ;
             spis[i+1] =tmp;
             cout<<endl;
            b=1;}}
 for (int i=0; i< n;i++){
     return Phone(spis[i].getfamilia ())
          cout<< "fio :"<<familia<<name<<otchestvo<<endl;
        cout<< "adres :" << adres <<endl;
        cout<< "nomer :"<< nomer <<endl;}
              
}
//=========    main   ================ 
 
 int main() 
{     
     int n,k,a,r; 
     cout<<"n="; cin>>n; 
     spis=new Phone [n]; 
      cout<<endl<<"1.te,y kogo previshaet vremja: ";
  cin>>k;
  cout<<endl<<"2.te ,kto vospolzovovalsa";
  cin>>a;
  cout<<endl<<"3.po alfovity: ";
  cin>>r;
     for(int i=0;i<n;i++) { 
             cout<<endl<<"***###***";
    spis[i].show();
    cout<<endl<<"***###***"<<endl;
  }
  cout<<endl<<endl<<"****1.*****:"; 
     for (i=0;i<n;i++) 
    spis[i].getlocalTime(spis[i].localTime,k);
    
    cout<<endl<<"***********:"; 
    cout<<endl<<endl<<"____2._____";
for (i=0;i<n;i++)
 
 cout<<endl<<"___________";
    cout<<endl<<endl<<"^^^^3.^^^^^";
    for (i=0;i<n;i++)
    spis[i].getfamilia(spis[i].familia,r);
    
    cout<<endl<<"^^^^^^^^^^^";
getch();}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2015, 17:54     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное
Еще ссылки по теме:

C++ Структура Trains, вывести все сведения о поездах, время пребывания в пути которых превышает 7 часов 10 мин
C++ Найти натуральные числа квадрат которых не превышает заданное число
C++ Вывести информацию о поездах, пребывающих в заданное время

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

Или воспользуйтесь поиском по форуму:
rean263
0 / 0 / 0
Регистрация: 15.05.2015
Сообщений: 3
12.06.2015, 17:54     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное #9
что имеетса в веду? (72 строка)

C++
1
 tmp=spis[i] ;
Yandex
Объявления
12.06.2015, 17:54     Вывести: сведения об абонентах, время внутригородских разговоров которых превышает заданное
Ответ Создать тему
Опции темы

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