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

Структуры данных "Абонент" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевод букв в нижний регистр http://www.cyberforum.ru/cpp-beginners/thread554399.html
Как перевести все буквы строки введенной с клавиатуры в нижний регистр?
C++ Определить частоту вхождений символов алфавита в строку. Здравствуйте! Пишу курсовую. Уже который день подряд не могу додуматься как реализовать последнюю функцию свой программы. Задание: определение частоты повторений каждого символа алфавита в целом по массиву строк. #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <iostream> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread554392.html
Неправильно считает значение по модулю C++
#include "stdafx.h" #include <conio.h> #include <math.h> #include <stdlib.h> #include <iostream> using namespace std; int main() {int i,j; const int n=8,m=10; float a;
Переделать класс в шаблонный класс C++
Как данный процесс проделать? Я попробовал так по синтаксису из учебника: #include <iostream> #include <fstream> using namespace std; template <class T>
C++ Считывание и запись чисел в gmp библиотеке http://www.cyberforum.ru/cpp-beginners/thread554384.html
Скачал отсюда библиотеку static GMP library and header file for Visual C++ поместил gmp.h в VC и gmp.lib в VC/lib, настроил Visual Studio для работы с библиотекой, разобрался как работать с большими числами при помощи руководства(умножать делить логарифмы брать и т.д.) НО понял как это делать только путём считывания числа из файла, т.е. одно число в одном файле, другое в другом, умножил -...
C++ Наследование дескриптора семафора другими процессами Доброго времени суток, проблема в следующем: пишу приложение, которое использует семафоры. Мне нужно, чтобы дескриптор семафора мог наследоваться другими процессами, т.е если я 1 раз создал семафор в программе и не убил его, то при открытии другой копии этой программы она могла получить доступ к уже созданному семафору. HANDLE WINAPI CreateSemaphore( __in_opt LPSECURITY_ATTRIBUTES... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
05.05.2012, 14:21     Структуры данных "Абонент"
А менюшку пишите сами.

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 <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <functional> 
 
struct Address
{
   Address(const std::string& ci, const std::string& co, const std::string& st,
           const int h):city(ci), country(co), street(st), house(h)
   {
   }
   Address():house(0)
   {
   }
   std::string city;
   std::string country;
   std::string street;
   int house;
};
 
std::istream& operator >> (std::istream& is, Address& addr)
{
   is >> addr.city >> addr.country >> addr.street >> addr.house;
   return is;
}
 
class PhoneNote
{
public:
   PhoneNote(const Address& addr, const std::string& p_name, const std::string& no,
             const int start):address(addr), person_name(p_name), number(no), start_year(start)
   {
   }
   PhoneNote():start_year(0)
   {
   }
   Address address;
   std::string person_name;
   std::string number;
   int start_year;
};
 
std::istream& operator >> (std::istream& is, PhoneNote& note)
{
   is >> note.address >> note.person_name >> note.number >> note.start_year;
   return is;
}
 
std::pair<std::string, std::string> select_phone_and_name(const PhoneNote& note)
{
   return std::make_pair(note.number, note.person_name);
}
 
std::pair<std::string, Address> select_phone_and_address(const PhoneNote& note)
{
   return std::make_pair(note.number, note.address);
}
 
struct find_notes_by_year : public std::unary_function<PhoneNote, bool>
{
public:
   find_notes_by_year(int y):year(y)
   {
   }
   result_type operator () (const argument_type& arg) const
   {
      return arg.start_year == year;
   }
private:
   int year;
};
 
class PhoneBook
{
public:
   PhoneBook(const std::vector<PhoneNote>& vec):notes(vec)
   {
   }
   std::vector<std::pair<std::string, std::string> > get_phones_and_names() const
   {
      std::vector<std::pair<std::string, std::string> > result;
      std::transform(notes.begin(), notes.end(), std::back_inserter(result), select_phone_and_name);
      return result;
   }
   std::vector<std::pair<std::string, Address> > get_phones_and_addresses() const
   {
      std::vector<std::pair<std::string, Address> > result;
      std::transform(notes.begin(), notes.end(), std::back_inserter(result), select_phone_and_address);
      return result;
   }
   std::vector<PhoneNote> get_notes_by_year(const int year)
   {
      std::vector<PhoneNote> result;
      std::remove_copy_if(notes.begin(), notes.end(), std::back_inserter(result), std::not1(find_notes_by_year(year)));
      return result;
   }
private:
   friend std::istream& operator >> (std::istream&, PhoneBook&);
   std::vector<PhoneNote> notes;
};
 
std::istream& operator >> (std::istream& is, PhoneBook& book)
{
   PhoneNote note;
   while (is >> note)
   {
      book.notes.push_back(note);
   }
   return is;
}
 
int main()
{
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru