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

Создайте класс SatelliteTV - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибки в коде (проверить) http://www.cyberforum.ru/cpp-beginners/thread745369.html
прога выдает ошибки: 1>c:\users\ххх\documents\visual studio 2010\projects\lab4.1\lab4.1\lab4.1.cpp(112): warning C4552: *: оператор не имеет результата; требуется оператор с побочным действием 1>MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup 1>c:\users\ххх\documents\visual studio 2010\Projects\lab4.1\Debug\lab4.1.exe : fatal...
C++ пустой массив из 10 элементов в чем ошибка ? #include <iostream> #include <string> using namespace std; int main() { int arr; int i; for (int i=0; i<10; i++); http://www.cyberforum.ru/cpp-beginners/thread745349.html
C++ Задачка для размышления. (вычислить скалярную величину)
Помогите решить задачку.... Написать программу решением задачи, используя функции: в основной функции ввести с клавиатуры или вычислить с помощью генератора случайных чисел 10 элементов массива вещественного типа и напечатать результат вычислений, во вспомогательной - вычислить скалярную величину, согласно заданию. С решением заранее спасибо!
Класс пеир C++
Кто супер добрый прошу помощи :)) Создайте абстрактный базовый класс Pair (пара чисел) с виртуальными арифметическими операциями. Создайте производные классы Complex (комплекс) для работы с комплексными числ ам (комплексное число представляется парой чисел (a, b), где a – действительная часть, b – мнимая часть) с операциями сложения add: (a, b)+(c, d)=(a+b, c+d), вычитания sub: (a, b)-(c,...
C++ Вектор в классе http://www.cyberforum.ru/cpp-beginners/thread745329.html
помогите пожалуйста, надо одну задачу написать: 1. Математический вектор реализуется на основе динамического массива. Тип элементов, хранящихся в массиве, выбирается студентом самостоятельно. Класс должен содержать поле доя хранения размерности вектора. заранее спасибо огромное)
C++ Абстрактный базовый класс Создать абстрактный базовый класс с виртуальной функцией - объем. Создать производные классы: параллелепипед, пирамида, тетраэдр, шар со своими функциями объема. Для проверки определить массив ссылок на абстрактный класс, которым присваиваются адреса различных объектов. Объем параллелепипеда - V=xyz (x,y,z - стороны , пирамиды: V=xyh (x,y, - стороны, h - высота), тетраэдра: V= a3 2/12, шара:... подробнее

Показать сообщение отдельно
Санееееек
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 10
25.12.2012, 14:26     Создайте класс SatelliteTV
Создайте класс SatelliteTV (спутниковое телевидение). В классе должны быть представлены поля: идентификационный номер абонента, фамилия-имя-отчество, город, номер паспорта, серия паспорта, наименование пакета спутниковых программ, цена пакета спутниковых программ, дата регистрации. Доступ к полям класса организовать посредством соответствующих методов. Разработать программу, в которой создается массив объектов данного класса. В программе организовать:
- добавление абонента в группу пользователей;
- удаление абонента из группы пользователей;
- поиск абонента по номеру паспорта (фамилии-имени-отчеству);
- сортировка по идентификационному номеру.
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
#include "stdafx.h"
const int l_IdNum = 30;
const int l_family = 30;
const int l_city = 20;
const int l_NumPas = 10;
const int l_SerPas = 10;
const int l_NamePack = 20;
const int l_price = 10;
const int l_date = 10;
const int l_buf = l_IdNum + l_family + l_city + l_NumPas + l_SerPas + l_NamePack + l_price + l_date;
 
class SatelliteTV{
public:
    SatelliteTV(int family=30); // конструктор
    ~SatelliteTV();
    bool Comparefamily(const char*) const;
    char GetIdNum() const {return IdNum[30];}
    char Getcity() const {return city[20];}
    int GetNumPas() const {return NumPas[10];}  
    int GetSerPas() const {return SerPas[10];}      
    char GetNamePack() const {return NamePack[20];}    
    float Getprice() const {return price[10];}          
    char Getdate() const {return date[10];}  
    char* Getfamily() const {return pfamily[30];}
    void print() const;
    void SetIdNum(const char*);     
    void Setfamily(const char*);     
    void Setcity(const char*);        
    void SetNumPas(const char*);        
    void SetSerPas(const char*);          
    void SetNamePack(const char*);       
    void Setprice(const char*);           
    void Setdate(const char*);  
private:
   char IdNum[30];       // идентификационный номер абонента
   char *pfamily[30];     // фамилия-имя-отчество
   char city[20];         // город
   int NumPas[10];      //номер паспорта
   int SerPas[10];          //серия паспорта
   char NamePack[20];       //наименование пакета  
   float price[10];           //цена
   char date[10];     // дата регистрации
};
//////////////////////////////////////////////////////////////////////////
//Satellite.cpp
#include <iostream>
#include <cstring>
using namespace std;
SatelliteTV ::SatelliteTV(int lIdNum) {
    cout << "Constructor is working" << endl;
    pfamily[30]=new char[lIdNum+1];
}
SatelliteTV :: ~SatelliteTV() {
    cout << "Destructor is working" << endl;
    delete [] pfamily;
}
void SatelliteTV :: SetIdNum(const char* fromBuf){
    strncpy(pfamily[30], fromBuf, l_IdNum);
    pfamily[l_IdNum] = 0;
}
void SatelliteTV :: Setfamily(const char* fromBuf){
    IdNum[30] = atoi(fromBuf + l_IdNum);
}
void SatelliteTV :: Setcity(const char* fromBuf){
    city[20] = atof(fromBuf + l_IdNum + l_family);
}
void SatelliteTV :: SetNumPas(const char* fromBuf){
    NumPas[10] = atoi(fromBuf + l_IdNum + l_family + l_city);
}
void SatelliteTV :: SetSerPas(const char* fromBuf){
    SerPas[10] = atoi(fromBuf + l_IdNum + l_family + l_city + l_NumPas);
}
void SatelliteTV :: SetNamePack(const char* fromBuf){
    NamePack[20] = atof(fromBuf + l_IdNum + l_family + l_city + l_NumPas + l_SerPas);
}
void SatelliteTV :: Setprice(const char* fromBuf){
    price[10] = atof(fromBuf + l_IdNum + l_family + l_city + l_NumPas + l_SerPas + l_NamePack);
}
void SatelliteTV :: Setdate(const char* fromBuf){
    date[10] = atof(fromBuf + l_IdNum + l_family + l_city + l_NumPas + l_SerPas + l_NamePack + l_price);
}
bool SatelliteTV :: Comparefamily (const char* family) const {
    if ((strstr(*pfamily, family)) && (pfamily[30][strlen(IdNum)] == ' '))
        return true;
    else 
        return false;
}
void SatelliteTV::print() const {
    cout << pfamily << IdNum << city << NumPas << SerPas << ' ' << NamePack << price << date << endl;
}
#include <fstream>
const char filename[] = "dbase.txt";
int main() {
    setlocale (LC_ALL, "russian");
    const int maxn_record = 10;
    SatelliteTV satelliteTV[maxn_record];
    char buf [l_buf +1];
    char family[l_family + 1];
 
    ifstream fin(filename);
    if (!fin) {
        cout << "Нет файла " << filename << endl; return 1;
    }
    int i = 0;
    while (fin.getline(buf, l_buf)) {
        if (i >= maxn_record) {
            cout << "Слишком длинный файл" ; return 1; }
        satelliteTV[i].SetIdNum(buf);
        satelliteTV[i].Setfamily(buf);
        satelliteTV[i].Setcity(buf);
        satelliteTV[i].SetNumPas(buf);
        satelliteTV[i].SetSerPas(buf);
        satelliteTV[i].SetNamePack(buf);
        satelliteTV[i].Setprice(buf);
        satelliteTV[i].Setdate(buf);
        i++;
    }
    int n_record = i, n_satelliteTV = 0;
    float mean_price = 0;
 
    while (true) {
        cout << "Введите  или слово end: ";
        cin >> family;
        if(0 == strcmp(family, "end")) break;
        bool not_found = true;
        for (i=0; i<n_record; ++i){
            if (satelliteTV[i].Comparefamily(family)){
                satelliteTV[i].print();
                n_satelliteTV++; mean_price += satelliteTV[i].Getprice();
                not_found = false;
                break;
            }
        }
        if (not_found) cout << "Такого абонента нет" << endl;
    }
    if (n_satelliteTV) cout << "ghgh" << mean_price / n_satelliteTV << endl;
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru