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

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

Войти
Регистрация
Восстановить пароль
 
Frank_Lampard_8
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 1
#1

static. Класс, который хранит информацию о разговорах на междугородней АТС - C++

17.10.2013, 10:59. Просмотров 475. Ответов 0
Метки нет (Все метки)

Класс, который хранит информацию о разговорах на междугородней АТС.
Создать класс Phone.

Класс включает в себя следующие данные-элементы:
- код (char* prefix);
- название города (char* town);
- продолжительность разговора;
- тариф;
- номер телефона в этом городе;
- номер телефона абонента;
- дату разговора.
В состав класса также входит следующий метод:
- метод расчета суммарной стоимости разговора.
Вывести:
a) (дружественная функция) информацию по заданному коду;
b) (дружественная функция) информацию по заданному телефону абонента;
c) количество звонков каждого абонента (поле типа static).
______________________________________________________________________
вот код набросал, но есть проблема с пунктом с), помогите пожалуйста. Критику по коду также принимаю.
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
#include<iostream>
#include<conio.h>
#include<clocale>
 
int const n=3;
 
using namespace std;
 
class Phone
{
      char prefix[10]; // код
      char town[10]; // название города
      int time; //продолжительность разговора
      double tarif;
      int NumberTown; //номер телефона в этом городе
      int NumberAb; //номер телефона абонента
      char date[10]; //дату разговора
      static int SIZE;
public:
    Phone(char[10],char[10],int,double,int,int,char[10]);    
    // Phone:: Phone();
    ~Phone();
    double cost(); //метод расчета суммарной стоимости разговора
    void print();
    friend void InfKod(char[10],Phone);
    friend void InfNumberAb(int,Phone);
    static int getSIZE();
};
 
int Phone::SIZE;
 
inline Phone::Phone(char _prefix[10],char _town[10],int _time,double _tarif,int _NumberTown,int _NumberAb,char _date[10]) 
{
    strcpy(prefix,_prefix);
    strcpy(town,_town);
    time=_time;
    tarif=_tarif;
    NumberTown=_NumberTown;
    NumberAb=_NumberAb;
    strcpy(date,_date);
//  cout<<"[КОНСТРУКТОР]"<<endl;
}
inline Phone ::~Phone() 
{
//  cout<<"[ДЕСТРУКТОР]"<<endl;
}
 
inline double Phone::cost()
{
    return tarif*double(time)/60;
}
 
inline void Phone::print()
{
    cout<<"\nкод: "<<prefix<<endl;
    cout<<"название города : "<<town<<endl;
    cout<<"продолжительность разговора: "<<time<<" c."<<endl;
    cout<<"тариф: "<<tarif<<" руб."<<endl;
    cout<<"номер телефона в этом городе: "<<NumberTown<<endl;
    cout<<"номер телефона абонента: "<<NumberAb<<endl;
    cout<<"дату разговора: "<<date<<endl;
}
 
void InfKod(char kod[10],Phone ik)
{
    if(strcmp(kod,ik.prefix)==0)
        ik.print();
}
 
void InfNumberAb(int Number,Phone in)
{
    if(Number==in.NumberAb)
        in.print();
}
 
inline int Phone::getSIZE()
{
    return SIZE;
}
 
inline void MENU()
{
    cout<<"___________________________________________________"<<endl;
    cout<<"1. Просмотр данных."<<endl;
    cout<<"2. Расчета суммарной стоимости разговора."<<endl;
    cout<<"3. Вывод информации по заданному коду."<<endl;
    cout<<"4. Вывод информации по заданному телефону абонента."<<endl;
    cout<<"5. Количество звонков каждого абонента."<<endl;
    cout<<"0. Выход."<<endl;
}
 
int main()
{
    setlocale(LC_ALL,"Russian");
    
    double cost=NULL;
    int x;
    Phone ATC[n]={  Phone("028","Gfhb;",60,5.5,9388809,9389999,"01.11.2012"),
                    Phone("017","Минск",60,0.5,2175464,3289233,"01.01.2000"),
                    Phone("0888","Лондон",60,2.5,9380909,9389999,"01.11.2010")};
    MENU();
    do
    {
        cout<<"___________________________________________________"<<endl;
        cout<<" - Введите число: ";
        cin>>x;
        switch(x)
        {
        case 0:
            cout<<"Выход из программы."<<endl;
            break;
        case 1:
            for(int i=0;i<n;i++)
            ATC[i].print();
            break;
        case 2:
            for(int i=0;i<n;i++)
                cost+=ATC[i].cost();
            cout<<"Суммарная стоимость разговора: "<<cost<<endl;
            break;
        case 3:
            char kod[10];
            cout<<"Введите код: ";
            cin>>kod;
            for(int i=0;i<n;i++)
                InfKod(kod,ATC[i]);
            break;
        case 4:
            int Number;
            cout<<"Введите телефон абонента: ";
            cin>>Number;
            for(int i=0;i<n;i++)
                InfNumberAb(Number,ATC[i]);
            break;
        case 5:
            
            
            break;
        default:
            cout<<"Введено неправильное число!!!"<<endl;
            break;
        }
    }while(x);
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2013, 10:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос static. Класс, который хранит информацию о разговорах на междугородней АТС (C++):

Класс, полиморфизм (Написать класс, который хранит в себе некий номер ''nip'', проверит его на правильность и вывести результат) - C++
Задача. Написать класс, который хранит в себе некий номер ''nip'', проверит его на правильность и вывести результат. Вообщем-то ни...

Создайте класс, который содержит информацию об имени и адресе - C++
Создайте класс, который содержит информацию об имени и адресе. Храните всю эту информацию в символьных строках закрытой части класса....

Создайте класс Student, который будет содержать информацию о студенте - C++
1. Создайте класс Student, который будет содержать информацию о студенте. С помощью механизма наследования, реализуйте класс...

Создайте класс Student, который будет содержать информацию о студенте - C++
Создайте класс Student, который будет содержать информацию о студенте. С помощью механизма наследования, реализуйте класс Aspirant...

Составить класс, который содержит информацию о наличии автобусов в автобусном парке - C++
Задание Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы....

Класс Quadrangle (четырехугольник). Класс хранит Декартовы координаты четырех углов четырехугольника - C++
Класс Quadrangle (четырехугольник). Класс хранит Декартовы координаты четырех углов четырехугольника. Конструктор принимает четыре группы...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2013, 10:59
Привет! Вот еще темы с ответами:

Создайте класс Passport (паспорт), который будет содержать паспортную информацию о гражданине Украины - C++
Создайте класс Passport (паспорт), который будет содержать паспортную информацию о гражданине Украины. С помощью механизма наследования,...

<list> как добраться до значения Листа, который он хранит? - C++
class CardDeckFT(КарточнаяКолода52). Цель пишу колоду карт для дальнейшего использования в игре блэк джэк.... Проблема такова, что я...

Определить массив структур, каждый элемент которого хранит информацию об успеваемости учеников школы - C++
В программе определить массив структур. Каждый элемент массива хранит информацию об успеваемости учеников школы: Номер, Фамилия, Имя,...

Создать класс, одно из полей которого хранит порядковый номер объекта - C++
Создайте класс, одно из полей которого хранит &quot;порядковый номер&quot; объекта, то есть для первого созданного объхекта значение этого поля равно...


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

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

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