Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61

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

18.02.2014, 17:07. Показов 7274. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Phone: Фамилия, Имя, Отчество, Адрес, Номер, Время внутри-
городских разговоров, Время междугородних разговоров. Создать
массив объектов. Вывести:
а) сведения об абонентах, время внутригородских разговоров кото-
рых превышает заданное;
б) сведения об абонентах, воспользовавшихся междугородней свя-
зью;
в) сведения об абонентах, выведенные в алфавитном порядке
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.02.2014, 17:07
Ответы с готовыми решениями:

Структура Trains, вывести все сведения о поездах, время пребывания в пути которых превышает 7 часов 10 мин
Есть задание:"Вывести все сведения о поездах,время пребывания в пути которых привышает 7ч 10.мин используя структуру Я начал писать...

Вывести слова, длина которых не превышает заданное число
Задано строку S. вивести все слова, длина которых не превышает число Р(ввод с клавиатуры). с использованием функции #include...

Вывести автомобили, стоимость которых не превышает заданное с клавиатуры величину
Входные данные оформить в виде отдельного файла. 2. Массив структур содержит информацию о 12 автомобилей: модель; год выпуска; стоимость;...

8
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
18.02.2014, 18:01
Цитата Сообщение от mashkama Посмотреть сообщение
разработать классы для описанного объекта
Классов несколько? Наследуются или как?
0
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61
18.02.2014, 18:10  [ТС]
Phone- имя класса,Включить в
класс методы set (…), get (…), show (…). О
0
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
19.02.2014, 03:03
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])
Так одинаковые имена отсортируются точно.
0
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61
19.02.2014, 20:33  [ТС]
спасибо большое)) а можно как нибудь без std переделать программу?)
0
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
19.02.2014, 21:55
mashkama, после библиотек вставьте
C++
1
using namespace std;
Потом смело удаляйте.
Только явно придётся указать преобразования типов, если будет необходимость.
Компиляция даст знать. А что, std вам так мешает?
1
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61
23.02.2014, 10:31  [ТС]
а не могли бы вы помочь испраивить ошибки в этом коде программы?я ее немного иначе хочу оформить..
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()); 
}
0
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61
27.02.2014, 14:31  [ТС]
вот это можно сделать рабочим?#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();}
0
0 / 0 / 0
Регистрация: 15.05.2015
Сообщений: 3
12.06.2015, 17:54
что имеетса в веду? (72 строка)

C++
1
 tmp=spis[i] ;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.06.2015, 17:54
Помогаю со студенческими работами здесь

Вывести все комбинации из указанного набора чисел, сумма которых не превышает заданное число
Всем привет. Поставлена такая задача - предположим, что есть массив из трех чисел (в реальной постановке задачи их может быть до 50). У нас...

Структура Worker, вывести список работников,стаж работы которых превышает заданное число лет
Помогите ,написать программу,пожалуйста! worker: Фамилия и инициалы,должность,год поступления на работу,зарплата,создать массив...

Вывести сведения об абонентах, воспользовавшихся междугородней связью
Phone: Фамилия, Имя, Отчество, Адрес, Номер, Время внутри-городских разговоров, Время междугородних разговоров. Создать массив...

Вывести сведения о книгах, изданных с 1990 г., в названии которых содержится заданное слово
Прошу помочь сделать задание с помощью switch.Имеются следующие сведения о книгах: Кузнецов А.С Информатика для 8-ого класса ...

Получить время с удалённого компьютера и перезагрузить его, если время превышает заданное
Доброго времени суток всем Вам! Многим из вас моя проблема покажется крайне легкой, но для меня это вопрос учебы, либо отчисления :D ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru