Advertisement
Guest User

Untitled

a guest
Mar 25th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.04 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <string.h>
  4. #include <cstdio>
  5.  
  6. using namespace std;
  7. struct User
  8. {
  9. char name[12];
  10. char surname[20];
  11. char nomer[12];
  12. };
  13. void showall(User& us);
  14. void addUser(User& us);
  15. void deleteUser(User user[], int size);
  16.  
  17. int main(int argc, char** argv)
  18. {
  19. setlocale(LC_ALL, "Rus");
  20. //int size;
  21. User telbook[10];
  22. int k;
  23. cout << "********Телефонный справочник********" << "nnn";
  24. int iadd = 0;
  25. char v;
  26.  
  27. while (v != 'n')
  28. {
  29. cout << "1 - Добавить запись.n" << "2 - Показать всё.n" <<
  30. "3 - Удалить записьn";
  31. cout << "Введи команду: ";
  32. cin >> k;
  33.  
  34. switch (k)
  35. {
  36. case 1:
  37. system("cls");
  38. addUser(telbook[iadd]);
  39.  
  40. if (iadd >= 1)
  41. {
  42. for (int i = (iadd - 1); i >= 0; i--)
  43. {
  44. if (telbook[iadd].nomer == telbook[i].nomer)
  45. {
  46. cout << "Введеный номер совпадает с номером " << i + 1 <<
  47. "пользователя";
  48. addUser(telbook[iadd]);
  49. }
  50. }
  51.  
  52. cout << "Запись добавленаn";
  53. }
  54.  
  55. iadd++;
  56. break;
  57.  
  58. case 2:
  59. system("cls");
  60.  
  61. for (int i = 0; i < iadd; i++)
  62. {
  63. cout << i + 1 << " Запись:n";
  64. showall(telbook[i]);
  65. }
  66.  
  67. cout << telbook[0].nomer << 'n' << "Strlen:" << strlen(telbook
  68. [0].nomer);
  69. break;
  70.  
  71. case 3:
  72. system("cls");
  73. deleteUser(telbook, iadd);
  74. break;
  75.  
  76. default :
  77. cout << "некорректная командаn";
  78. cin >> k;
  79. }
  80.  
  81. cout << "n Продолжить?? y-да/ n-выход из программыn";
  82. cin >> v;
  83. }
  84.  
  85. return 0;
  86. }
  87.  
  88. void addUser(User& us)
  89. {
  90. int i = 0;
  91. char nom[12];
  92. bool esdigit;
  93. cout << "Пишите латиницейnn";
  94.  
  95. do //name
  96. {
  97. esdigit = false;
  98. cout << endl << "enter namen";
  99. cin >> us.name;
  100.  
  101. for (i = 0; i < strlen(us.name); i++)
  102. {
  103. if (!isalpha(us.name[i]))
  104. {
  105. cout << "Имя не должно содержать цифрn" ;
  106. esdigit = true;
  107. }
  108.  
  109. if (isspace(us.name[i]))
  110. {
  111. break;
  112. break;
  113. }
  114. }
  115. }
  116. while (strlen(us.name) > 12 || esdigit);
  117.  
  118. i = 0;
  119.  
  120. do //surneme
  121. {
  122. esdigit = false;
  123. cout << "enter surnamen";
  124. cin >> us.surname;
  125.  
  126. for (i = 0; i < strlen(us.surname); i++)
  127. {
  128. if (isdigit(us.surname[i]))
  129. {
  130. cout << "Фамилия не должна содержать цифрn" ;
  131. esdigit = true;
  132. break;
  133. }
  134. }
  135. }
  136. while (strlen(us.name) > 20 || strlen(us.name) <= 0 || esdigit);
  137.  
  138. bool isbykva;
  139. i = 0;
  140.  
  141. do //nomer
  142. {
  143. isbykva = false;
  144. cout << "n" << "enter nomern";
  145. cin >> us.nomer;
  146.  
  147. for (i = 0; i < strlen(us.nomer); i++)
  148. {
  149. if (isalpha(us.nomer[i]))
  150. {
  151. cout << "Номер не должен содержать буквn";
  152. isbykva = true;
  153. break;
  154. }
  155. }
  156.  
  157. if (strlen(us.nomer) != 12)cout << "В номере 12 цифр!!";
  158. }
  159. while (strlen(us.nomer) != 12 || isbykva);
  160.  
  161. i = 0; //strcpy(us.nomer,nom);
  162. }
  163. void deleteUser(User user[], int size)
  164. {
  165. bool isbykva;
  166. char nomer[12];
  167. cout << "n Введите номер пользователя которого желаете удалитьn";
  168.  
  169. do
  170. {
  171. isbykva = false;
  172. cin >> nomer;
  173.  
  174. if (strlen(nomer) != 12)cout << "В номере 12 цифр!!";
  175.  
  176. for (int i = 0; i < strlen(nomer); i++)
  177. {
  178. if (isalpha(nomer[i]))
  179. {
  180. cout << "Номер не должен содержать буквn";
  181. isbykva = true;
  182. break;
  183. }
  184. }
  185. }
  186. while (strlen(nomer) != 12 || isbykva);
  187.  
  188. bool find = false;
  189.  
  190. for (int i = 0; i <= size; i++)
  191. {
  192. if (nomer == user[i].nomer)
  193. {
  194. find = true; //user[i].nomer=user[size-1].nomer;
  195. break;
  196. }
  197.  
  198. if (find)
  199. {
  200. cout << "пользователь " << user[i].name << " " << user[i].surname << "удален";
  201. user[i] = user[size];
  202. --size;
  203. }
  204. else cout << "Запись не найдена!";
  205. }
  206. }
  207.  
  208. void showall(User& us)
  209. {
  210. cout << us.name << " " << us.surname << "n" << us.nomer << "n";
  211. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement