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

Задача на использование классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Расчет обоев для комнаты http://www.cyberforum.ru/cpp-beginners/thread441351.html
Посмотрите пожалуйста, что с кодом. После того как я ввожу значения, программа не выводит значение. #include "stdafx.h" #include <iostream> #include <windows.h> using namespace std; enum { ER_NUMBER = 0, ER_HEIGHT, ER_WIDTH,
C++ Ошибки в компиляторе и вывод дробной части Есть следующее задание: Дано действительное число y, натуральное число n и генерированное случайное действительное число число x. Обсчитать по формуле a и вывести дробную часть результата. Формула: Написал следующий код: #include <stdio.h> #include <math.h> #include <conio.h> #include <stdlib.h> main(){ http://www.cyberforum.ru/cpp-beginners/thread441348.html
C++ Попадание в фигуру
True при попадании, в противном случаи false. Помогите парни!
Рекурсия: вычисление sqrt(1 + sqrt(2 + ... + sqrt(n))) C++
Не подскажите как расписать рекурсивно формулу? Спасибо!
C++ Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известно количество N членов ряда. http://www.cyberforum.ru/cpp-beginners/thread441326.html
Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известно количество N членов ряда. \sum_{k-1}^{n}1/{k}^{2}ln({e}^{kx}+{x}^{2}) Значение N 20 Начальные данные х=0,8
C++ создать программу для вычисления функции создать программу для вычисления функции y=\begin{cases} & \text{{f}_{1}(x) } \\ & \text{{f}_{2}(x) } \end{cases} первое при выполнении условия второе в других случаях y=\begin{cases} & \text{ \sqrt{x+t}+1/x } \\ подробнее

Показать сообщение отдельно
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
07.02.2012, 09:18     Задача на использование классов
Как нибудь так?
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
#include <iostream>
#include <string>
#include <iterator>
#include <set>
#include <algorithm>
 
class Patient {
 public:
  Patient(const std::string &surname, const std::string &name,
    const std::string &secondName, const std::string &address,
    size_t cardId, const std::string &diagnosis)
    : surname_(surname), name_(name), secondName_(secondName),
    address_(address), cardId_(cardId), diagnosis_(diagnosis) {}
  Patient(const std::string &surname, const std::string &name,
    const std::string &secondName, const std::string &address,
    size_t cardId)
    : surname_(surname), name_(name), secondName_(secondName),
    address_(address), cardId_(cardId), diagnosis_() {}
  const std::string &getSurname() const { return surname_; }
  const std::string &getName() const { return name_; }
  const std::string &getSecondName() const { return secondName_; }
  const std::string &getAddress() const { return address_; }
  size_t getCardId() const { return cardId_; }
  const std::string &getDiagnosis() const { return diagnosis_; }
  void setDiagnosis(const std::string &diagnosis) { diagnosis_ = diagnosis_; }
 private:
  std::string surname_, name_, secondName_, address_;
  size_t cardId_;
  std::string diagnosis_;
};
 
bool operator<(const Patient &a, const Patient &b) {
  if (a.getSurname() == b.getSurname())
    if (a.getName() == b.getName())
      return a.getSecondName() < b.getSecondName();
    else
      return a.getName() < b.getName();
  else
    return a.getSurname() < b.getSurname();
}
 
std::ostream &operator<<(std::ostream &stream, const Patient &patient) {
  return stream << patient.getName() << " " << patient.getSecondName() <<
    " " << patient.getSurname() << ", card: " << patient.getCardId() <<
    ", diagnosis: " << patient.getDiagnosis();
}
 
struct SearchPatientsByDiagnosis {
  SearchPatientsByDiagnosis(const std::string &diagnosis_)
    : diagnosis(diagnosis_) {}
  bool operator()(const Patient &patient) {
    return patient.getDiagnosis() == diagnosis;
  }
  std::string diagnosis;
};
 
struct SearchPatientsByCardIdRange {
  SearchPatientsByCardIdRange(size_t begin_, size_t end_)
    : begin(begin_), end(end_) {}
  bool operator()(const Patient &patient) {
    return patient.getCardId() >= begin && patient.getCardId() <= end;
  }
  size_t begin, end;
};
 
template<class InputIterator, class OutputIterator, class Predicate>
OutputIterator copy_if(InputIterator first, InputIterator last,
  OutputIterator result, Predicate pred) {
  for (; first!=last; ++result, ++first)
    if (pred(*first)) *result = *first;
  return result;
}
 
 
int main(int argc, char *argv[]) {
  std::set<Patient> patients;
  patients.insert(Patient("Ivanov", "Ivan", "Ivanovich", "Sadovaya 12, 33", 1223, "flu"));
  patients.insert(Patient("Kuznetsov", "Nikolay", "Stepanovich", "Ogorodnaya 5, 2", 1233, "flu"));
  patients.insert(Patient("Petrov", "Petr", "Petrovich", "Lenina 3, 43", 1227, "ARD"));
  patients.insert(Patient("Semenov", "Semen", "Semenovich", "Zagorodniy 7, 22", 1213, "ARD"));
  patients.insert(Patient("Vasilyev", "Vasiliy", "Vasilyevich", "Zapadnaya 13, 6", 1243, "flu"));
  std::copy(patients.begin(), patients.end(), std::ostream_iterator<Patient>(std::cout, "\n"));
 
  std::cout << "Only ARD:" << std::endl;
  copy_if(patients.begin(), patients.end(), std::ostream_iterator<Patient>(std::cout, "\n"),
    SearchPatientsByDiagnosis("ARD"));
 
  std::cout << "Cards in range 1220-1235:" << std::endl;
  copy_if(patients.begin(), patients.end(), std::ostream_iterator<Patient>(std::cout, "\n"),
    SearchPatientsByCardIdRange(1220, 1235));
 
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru