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

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

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

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

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

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

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

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

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

C++
1
 tmp=spis[i] ;
0
12.06.2015, 17:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2015, 17:54
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru