Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.91 KB | None | 0 0
  1. #pragma once
  2. #include <iostream>
  3. #include <fstream>
  4. #include <iomanip>
  5. using namespace std;
  6. class CA1
  7. {
  8. protected:
  9. int in;
  10. int out;
  11. public:
  12. CA1();
  13. CA1(int i, int o);
  14. ~CA1();
  15. };
  16. CA1::CA1() {
  17. in = 0;
  18. out = 0;
  19. }
  20. CA1::CA1(int i, int o) {
  21. in = i;
  22. out = o;
  23. }
  24. CA1::~CA1() {
  25.  
  26. }
  27.  
  28.  
  29.  
  30. class CB1 : virtual public CA1
  31. {
  32. public:
  33. CB1();
  34. CB1(int i, int o);
  35. void Table();
  36. virtual void Print(int i);
  37. virtual void Incr_input() { in += 10; };
  38. virtual void Incr_output() { out += 10; };
  39. virtual ~CB1();
  40. };
  41. CB1::CB1(): CA1() {
  42.  
  43. }
  44. CB1::CB1(int i, int o): CA1(i, o) {
  45.  
  46. }
  47. void CB1::Table() {
  48. ofstream fout;
  49. fout.open("data_table.txt");
  50. fout << "|" << " № компьютера " << "|" << " кол-во принятых сообщений " << "|" << " кол-во отправленных сообщений " << "|" << endl;
  51. fout << "____________________________________________________________________________" << endl;
  52. fout.close();
  53. cout << "|" << " № компьютера " << "|" << " кол-во принятых сообщений " << "|" << " кол-во отправленных сообщений " << "|" << endl;
  54. cout << "____________________________________________________________________________" << endl;
  55. }
  56. void CB1::Print(int i) {
  57. ofstream fout;
  58. fout.open("data_table.txt", ios::app);
  59. fout << "|" << setw(7) << i + 1 << setw(8) << "|" << setw(14) << in << setw(14) << "|" << setw(16) << out << setw(16) << "|" << endl;
  60. fout << "____________________________________________________________________________" << endl;
  61. fout.close();
  62. cout << "|" << setw(7) << i + 1 << setw(8) << "|" << setw(14) << in << setw(14) << "|" << setw(16) << out << setw(16) << "|" << endl;
  63. cout << "____________________________________________________________________________" << endl;
  64. }
  65. CB1::~CB1() {
  66.  
  67. }
  68.  
  69.  
  70.  
  71. class CB2 : virtual public CA1
  72. {
  73. public:
  74. CB2();
  75. CB2(int i, int o);
  76. virtual void Print(int i);
  77. virtual void Incr_input() { in += 20; };
  78. virtual void Incr_output() { out += 20; };
  79. virtual ~CB2();
  80. };
  81. CB2::CB2(): CA1() {
  82.  
  83. }
  84. CB2::CB2(int i, int o): CA1(i, o) {
  85.  
  86. }
  87. void CB2::Print(int i) {
  88. ofstream fout;
  89. fout.open("data_vec.txt", ios::app);
  90. fout << "Компютер № " << i + 1 << " получил " << in << " сообщений и отправил " << out << " сообщений." << endl;
  91. fout.close();
  92. cout << "Компютер № " << i + 1 << " получил " << in << " сообщений и отправил " << out << " сообщений." << endl;
  93. }
  94. CB2::~CB2() {
  95.  
  96. }
  97.  
  98.  
  99. class CD1 : public CB1
  100. {
  101. public:
  102. CD1();
  103. CD1(int i, int o);
  104. virtual void Incr_input() { in += 5; };
  105. virtual void Incr_output() { out += 5; };
  106. ~CD1();
  107. };
  108. CD1::CD1(): CB1() {
  109.  
  110. }
  111. CD1::CD1(int i, int o): CB1(i, o) {
  112.  
  113. }
  114. CD1::~CD1() {
  115.  
  116. }
  117.  
  118.  
  119.  
  120. class CD2 : public CB2
  121. {
  122. public:
  123. CD2();
  124. CD2(int i, int o);
  125. virtual void Incr_input() { in += 7; };
  126. virtual void Incr_output() { out += 7; };
  127. ~CD2();
  128. };
  129. CD2::CD2(): CB2() {
  130.  
  131. }
  132. CD2::CD2(int i, int o) : CB2(i, o) {
  133.  
  134. }
  135. CD2::~CD2() {
  136.  
  137. }
  138.  
  139.  
  140.  
  141.  
  142. #pragma once
  143. #include "Classes.cpp"
  144. class CComputer: public CD1, public CD2
  145. {
  146. public:
  147. CComputer();
  148. CComputer(int i, int o);
  149. ~CComputer();
  150. int get_count_input() { return in; };//взять значения принятых сообщений
  151. int get_count_output() { return out; };//взять значение отправленных сообщений
  152. void Incr_input() { in++; };//увеличить кол-во принятых сообщений
  153. void Incr_output() { out++; };//увеличить кол-во отправленных сообщений
  154. void Print(bool flag, int count);
  155. };
  156.  
  157.  
  158.  
  159. #include "Computer.h"
  160. CComputer::CComputer(): CD1() {
  161.  
  162. }
  163. CComputer::CComputer(int i, int o) : CD1(i, o) {
  164.  
  165. }
  166. CComputer::~CComputer() {
  167.  
  168. }
  169. void CComputer::Print(bool flag, int i) {
  170. if (flag == true)
  171. CB1::Print(i);
  172. else
  173. CB2::Print(i);
  174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement