Advertisement
Guest User

Untitled

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