Advertisement
Guest User

functions.h

a guest
Mar 18th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.14 KB | None | 0 0
  1. #ifndef functions_H
  2. #define functions_H
  3. void FillData()
  4. {
  5. puts("Ââåäèòå êîëè÷åñòâî äîáàâëÿåìûõ ñïîðòñìåíîâ");
  6. int n;
  7. scanf("%d", &n);
  8. num = n;
  9.  
  10. for (int i = 0; i < n; i++)
  11. {
  12. printf("Ââåäèòå ÔÈÎ â îäíîé ñòðîêå, âîçðàñò, ðîñò, âåñ, âèä ñïîðòà â îäíîé ñòðîêå, õàðàêòåðèñòèêó â îäíîé ñòðîêå");
  13. array[i].id = i;
  14. gets(array[i].name);
  15. scanf("%d %d %d", &array[i].age, &array[i].height, &array[i].weight);
  16. gets(array[i].sportsType);
  17. gets(array[i].characteristics);
  18. puts("\n");
  19. }
  20. UpdateFile();
  21. }
  22. void AddRecord()
  23. {
  24. printf("Ââåäèòå ÔÈÎ â îäíîé ñòðîêå, âîçðàñò, ðîñò, âåñ, âèä ñïîðòà â îäíîé ñòðîêå, õàðàêòåðèñòèêó â îäíîé ñòðîêå");
  25. gets(array[num].name);
  26. array[num].id = num;
  27. scanf("%d %d %d", &array[num].age, &array[num].height, &array[num].weight);
  28. gets(array[num].sportsType);
  29. gets(array[num].characteristics);
  30. num++;
  31. UpdateFile();
  32. }
  33. void DeleteRecord()
  34. {
  35.  
  36. puts("Ââåäèòå èíäåêñ");
  37. int index;
  38. scanf("%d", &index);
  39. while (index < 0 || index >= num)
  40. {
  41. puts("Îøèáêà. Ââåäèòå íîðìàëüíûé èíäåêñ");
  42. scanf("%d", index);
  43. }
  44. num--;
  45. for (int i = index; i < num; i++)
  46. array[i] = array[i + 1];
  47. array[num] = null;
  48. UpdateFile();
  49. }
  50. void FindWithPart()
  51. {
  52. char help[] = "Óêàæèòå ïîëå, ïî êîòîðîìó èä¸ò ïîèñê :\n1.ÔÈÎ\n2.âîçðàñò\n3.ðîñò\n4.âåñ\n5.âèä ñïîðòà\n6.õàðàêòåðèñòèêà";
  53. puts(help);
  54. char field;
  55. getc(field);
  56. int i = 0;
  57. bool flag = true;
  58. puts("Ââåäèòå çíà÷åíèå ïîëÿ çàïèñè");
  59. if(field == '1' || field == '5' || field == '6')
  60. {
  61. string toFind;
  62. gets(toFind);
  63. if (field == '1')
  64. {
  65. while(i < num)
  66. {
  67. if(array[i].name == toFind)
  68. {
  69. flag = false;
  70. Print(array[i]);
  71. }
  72. i++;
  73. }
  74. if (flag)
  75. puts("Íè÷åãî íå íàéäåíî!");
  76. }
  77. else if (field == '5')
  78. {
  79. while(i < num)
  80. {
  81. if(array[i].sportsType == toFind)
  82. {
  83. flag = false;
  84. Print(array[i]);
  85. }
  86. i++;
  87. }
  88. if (flag)
  89. puts("Íè÷åãî íå íàéäåíî!");
  90. }
  91. else
  92. {
  93. while(i < num)
  94. {
  95. if(array[i].characteristics == toFind)
  96. {
  97. flag = false;
  98. Print(array[i]);
  99. }
  100. i++;
  101. }
  102. if (flag)
  103. puts("Íè÷åãî íå íàéäåíî!");
  104. }
  105. }
  106. else if (field == '2' || field == '3' || field == '4')
  107. {
  108. int toFind;
  109. gets(toFind);
  110. if (field == '2')
  111. {
  112. while(i < num)
  113. {
  114. if(array[i].age == toFind)
  115. {
  116. flag = false;
  117. Print(array[i]);
  118. }
  119. i++;
  120. }
  121. if (flag)
  122. puts("Íè÷åãî íå íàéäåíî!");
  123. }
  124. else if (field == '3')
  125. {
  126. while(i < num)
  127. {
  128. if(array[i].height == toFind)
  129. {
  130. flag = false;
  131. Print(array[i]);
  132. }
  133. i++;
  134. }
  135. if (flag)
  136. puts("Íè÷åãî íå íàéäåíî!");
  137. }
  138. else
  139. {
  140. while(i < num)
  141. {
  142. if(array[i].weight == toFind)
  143. {
  144. flag = false;
  145. Print(array[i]);
  146. }
  147. i++;
  148. }
  149. if (flag)
  150. puts("Íè÷åãî íå íàéäåíî!");
  151. }
  152. }
  153. else
  154. {
  155. puts("Îøèáêà");
  156. // FindWithPart(); ìîæíî óáðàòü êîììåíòû è ïóñòèòü ôóíêöèþ åù¸ ðàç
  157. }
  158. }
  159.  
  160. void EditRecord()
  161. {
  162. puts("Ââåäèòå èíäåêñ çàïèñè, êîòîðóþ ìåíÿåì");
  163. int index;
  164. scanf("%d", &index);
  165. while (index < 0 || index >= num)
  166. {
  167. puts("Îøèáêà. Ââåäèòå íîðìàëüíûé èíäåêñ");
  168. scanf("%d", index);
  169. }
  170. char help[] = "Óêàæèòå ïîëå, êîòîðîå ðåäàêòèðóåì :\n1.ÔÈÎ\n2.âîçðàñò\n3.ðîñò\n4.âåñ\n5.âèä ñïîðòà\n6.õàðàêòåðèñòèêà";
  171. puts(help);
  172. int field;
  173. scanf("%d", &field);
  174. if(field == '1' || field == '5' || field == '6')
  175. {
  176. char replace[];
  177. gets(replace);
  178. if(field == '1')
  179. array[index].name = replace;
  180. else if(field == '5')
  181. array[index].sportsType = replace;
  182. else
  183. array[index].characteristics = replace;
  184. }
  185. else if (field == '2' || field == '3' || field == '4')
  186. {
  187. int replace;
  188. scanf("%d", &replace);
  189. if (field == '2')
  190. array[index].age = replace;
  191. else if(field == '3')
  192. array[index].height = replace;
  193. else
  194. array[index].weight = replace;
  195. }
  196. else
  197. {
  198. puts("Îøèáêà");
  199. //EditRecord(); ñìîòðè êîììåíò âûøå
  200. }
  201. UpdateFile();
  202. }
  203. void SortByField()
  204. {
  205. char help[] = "Óêàæèòå ïîëå, ïî êîòîðîìó ñîðòèðóåì :\n1.ÔÈÎ\n2.âîçðàñò\n3.ðîñò\n4.âåñ\n5.âèä ñïîðòà\n6.õàðàêòåðèñòèêà";
  206. char field;
  207. do
  208. {
  209. puts help;
  210. getc(field);
  211. } while(field != '2' || field != '3' || field != '4')
  212. if(field)
  213. for (int i = 0; i < num - 1; i++)
  214. for (int j = 0; j < num; j++)
  215. {
  216. if (field == '2')
  217. if(array[i].age < array[j].age)
  218. {
  219. sportsman temp = array[i];
  220. array[i] = array[j];
  221. array[j] = temp;
  222. }
  223. else if (field == '3')
  224. if(array[i].height < array[j].height)
  225. {
  226. sportsman temp = array[i];
  227. array[i] = array[j];
  228. array[j] = temp;
  229. }
  230. else
  231. {
  232. if(array[i].weight < array[j].weight)
  233. {
  234. sportsman temp = array[i];
  235. array[i] = array[j];
  236. array[j] = temp;
  237. }
  238. }
  239. }
  240. UpdateFile();
  241. }
  242. void ShowTable()
  243. {
  244. for (int i = 0; i < num; i++)
  245. {
  246. fprintf("%s, %d, %d, %d, %s, %s", array[i].name, array[i].age, array[i].height, array[i].weight, array[i].sportsType, param.characteristics);
  247. }
  248. }
  249.  
  250. void Print(sportsman param)
  251. {
  252. fprintf("%s, %d, %d, %d, %s, %s", param.name, param.age, param.height, param.weight, param.sportsType, param.characteristics);
  253. }
  254. void UpdateFile()
  255. {
  256. file = fopen(fileName, "w+");
  257. for (int i = 0; i < num; i++)
  258. {
  259. fprintf("\"%s\";", array[i].name);
  260. fprintf("\"%d\";\"%d\";\"%d\";", array[i].age, array[i].height, array[i].weight);
  261. fprintf("\"%s\";\"%s\"\n", array[i].sportsType, array[i].charateristics);
  262. }
  263. }
  264. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement