bogdan_obukhovskii

2 задача

May 4th, 2020
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. //андросов игорь 2 задание
  2. //с 1 по 3 пункт, не понял что нужно сделать в 4 пункте
  3.  
  4. #include <iostream>
  5. #include <fstream>
  6.  
  7. using namespace std;
  8.  
  9. struct TEL
  10. {
  11. TEL* l;
  12. TEL* r;
  13. string num;
  14. string name;
  15. };
  16.  
  17. TEL* dobav(string num, string name, TEL* r);
  18.  
  19. void print(TEL* r);
  20.  
  21. void menyu(TEL* &tree)
  22. {
  23. cout << endl << "добавить телефон в картотеку: 1" << endl;
  24. cout << "вывести картотеку: 2" << endl;
  25. cout << "ввод телефона и время разговора: 3" << endl;
  26. string cmd; cin >> cmd;
  27. if (cmd == "1")
  28. {
  29. cout << "введите телефон потом имя: ";
  30. string n, name;
  31. cin >> n;
  32. cin >> name;
  33. tree = dobav(n, name, tree);
  34. }
  35. else if (cmd == "2")
  36. {
  37. print(tree);
  38. }
  39. else if (cmd == "3")
  40. {
  41. cout << "введите телефон и время разговора в минутах: ";
  42. string n;
  43. double t;
  44. cin >> n;
  45. cin >> t;
  46. cout << "абонент с номером " << n << " заплатит " << t * 3.6 << " рублей за разговор." << endl;
  47. }
  48. else
  49. {
  50. cout << "нет такой команды" << endl;
  51. }
  52. }
  53.  
  54. int main()
  55. {
  56. setlocale(0, "rus");
  57.  
  58. cout << "1 ключ лучше минимальный" << endl;
  59.  
  60. TEL* tree = NULL;
  61.  
  62. while (true)
  63. {
  64. menyu(tree);
  65. }
  66.  
  67. system("pause");
  68. return 0;
  69. }
  70.  
  71. TEL* dobav(string num, string name, TEL* r)
  72. {
  73. if (r == NULL) {
  74. r = new TEL;
  75. r->num = num;
  76. r->name = name;
  77. r->l = NULL;
  78. r->r = NULL;
  79. return r;
  80. }
  81. else
  82. if (num < r->num) {
  83. r->l = dobav(num, name, r->l);
  84. return r;
  85. }
  86. else {
  87. r->r = dobav(num, name, r->r);
  88. return r;
  89. }
  90. }
  91.  
  92. void print(TEL* r)
  93. {
  94. if (r == NULL) return;
  95. cout << r->num << " " << r->name << endl;
  96. print(r->l);
  97. print(r->r);
  98. }
Add Comment
Please, Sign In to add comment