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

Наследование классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ string в бинарный файл http://www.cyberforum.ru/cpp-beginners/thread835742.html
Есть структура: struct Anketa { std::string name, family, brith_Date, tel; }; Надо что бы они записывали в бинарный файл данные и затем можно было считать. Целиком структуру не получается запихать в бинарник, из-за string, точнее получается, но при закрытии и открытии программы он уже не считает. В обычный файл проблем нету записать и считать.
C++ Архитектура программы "Морской бой" Пишу морской бой, с возможностью игры, как с компьютером, так и с другим человеком по сети. Не получается продумать архитектуру программы. В программе хочу использовать паттерн Strategy, чтоб можно было иметь несколько стратегий игры (AI) и MVC. Код не нужен, буду рад какому-нибудь псевдо-UML'у или простому текстовому описанию как организовать классы в программе. http://www.cyberforum.ru/cpp-beginners/thread835734.html
Найти количество цифр, которые входят в каждое из 3 чисел C++
Даны три натуральных числа А, В, С. Найдите количество цифр, входящих одновременно в состав каждого из для этих чисел. Входные данные: 3 числа, каждое в своей строке, не больше 1000000. Выходные данные: единственное число - искомая величина. Например, на входе: 234087 408209 1804 На выходе: 3
Игра со спичками C++
Сама игра следующая: на стол выкладывается достаточно большая кучка спичек (не менее 50). Каждый игрок при своем ходе берет спички из кучки. Нужно взять, по крайней мере, одну и не более, чем вдвое больше, чем взял предыдущий игрок. Выигрывает тот, кто берет последнюю спичку. Нужно реализовать выигрышную стратегию для компьютера.
C++ Принадлежит ли точка заштрихованой области? C++ (VS 2010) http://www.cyberforum.ru/cpp-beginners/thread835726.html
Вот получилось, но как добавить, чтобы проверять треугольники и окружность?? #include <iostream> using namespace std; int main() { setlocale (0, "Russian"); double x,y; cout<<"Введите Х : ";
C++ Задачи с олимпиады Помогите разобраться с данными задачами с олимпиады: 1. Вводиться 3 остатка от деления числа на 971, 997 и 1033. Вывести это число. Например: I: 5 10 15 O: 835049324 Ограничения: 64 мб памяти, время 1 с Мое решение: #include <iostream> подробнее

Показать сообщение отдельно
Алексей199
1 / 1 / 1
Регистрация: 03.04.2013
Сообщений: 14
17.04.2013, 10:29  [ТС]     Наследование классов
Вот ребят я сделал если кому-нибудь понадобится!

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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
 
const int N = 5;
 
class bill
{
    std::string number, first_name, last_name;
 
public:
    bill(std::string number, std::string first_name, std::string last_name)
    {
        this->number = number;
        this->first_name = first_name;
        this->last_name = last_name;
    }
 
    std::string getNumber()
    {
        return number;
    }
 
    std::string getFirst_name()
    {
        return first_name;
    }
 
    std::string getLast_name()
    {
        return last_name;
    }
};
 
struct list_el
{
    std::string number, first_name, last_name, date;
    int po, sum;
};
 
class listPlayer : bill
{
    int n;
    std::string date;
    std::vector<list_el> list;
 
public:
    listPlayer(std::string number, std::string first_name, std::string last_name, int n, int date) : bill(number, first_name, last_name)
    {
        this->n = n;
        this->date = date;
    }
 
    void addBill(bill el, std::string date, int po, int sum)
    {
        list_el l;
 
        l.number = el.getNumber();
        l.first_name = el.getFirst_name();
        l.last_name = el.getLast_name();
        l.date = date;
        l.po = po;
        l.sum = sum;
 
        list.push_back(l);
    }
 
    void delBill(int num)
    {
        if (list.size() >= num)
            list.erase(list.begin() + num);
    }
 
    std::vector<list_el> findNumber(std::string number)
    {
        std::vector<list_el> v;
        for (int i = 0; i < list.size(); i++)
            if (list[i].number == number)
                v.push_back(list[i]);
        return v;
    }
 
    std::vector<list_el> findLastName(std::string last_name)
    {
        std::vector<list_el> v;
        for (int i = 0; i < list.size(); i++)
            if (list[i].last_name == last_name)
                v.push_back(list[i]);
        return v;
    }
 
    std::vector<list_el> findDate(std::string date)
    {
        std::vector<list_el> v;
        for (int i = 0; i < list.size(); i++)
            if (list[i].date == date)
                v.push_back(list[i]);
        return v;
    }
 
    int sum()
    {
        int t = 0;
 
        for (int i = 0; i < list.size(); i++)
            t += list[i].sum;
        return t;
    }
};
 
int main()
{
    listPlayer list("", "", "", 1, 0000);
 
    std::fstream f("in.txt");
 
    for (int i = 0; i < N; i++)
    {
        std::string number, date, first_name, last_name;
        int po, sum;
 
        f >> number >> date >> po >> sum >> first_name >> last_name;
        list.addBill(bill(number, first_name, last_name), date, po, sum);
    }
 
    std::vector<list_el> l1 = list.findNumber("112233");                                               // поиск по номеру телефона
 
    for (int i = 0; i < l1.size(); i++)
        std::cout << l1[i].first_name << std::endl;
 
    std::cout << std::endl;
 
    std::vector<list_el> l2 = list.findLastName("Qwe");                                              // поиск по фамилии
 
    for (int i = 0; i < l2.size(); i++)
        std::cout << l2[i].first_name << std::endl;
 
    std::cout << std::endl << list.sum();                                                             // вывод суммы
 
    getchar();
}
 
Текущее время: 01:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru