Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef functions_H
- #define functions_H
- void FillData()
- {
- puts("Ââåäèòå êîëè÷åñòâî äîáàâëÿåìûõ ñïîðòñìåíîâ");
- int n;
- scanf("%d", &n);
- num = n;
- for (int i = 0; i < n; i++)
- {
- printf("Ââåäèòå ÔÈÎ â îäíîé ñòðîêå, âîçðàñò, ðîñò, âåñ, âèä ñïîðòà â îäíîé ñòðîêå, õàðàêòåðèñòèêó â îäíîé ñòðîêå");
- array[i].id = i;
- gets(array[i].name);
- scanf("%d %d %d", &array[i].age, &array[i].height, &array[i].weight);
- gets(array[i].sportsType);
- gets(array[i].characteristics);
- puts("\n");
- }
- UpdateFile();
- }
- void AddRecord()
- {
- printf("Ââåäèòå ÔÈÎ â îäíîé ñòðîêå, âîçðàñò, ðîñò, âåñ, âèä ñïîðòà â îäíîé ñòðîêå, õàðàêòåðèñòèêó â îäíîé ñòðîêå");
- gets(array[num].name);
- array[num].id = num;
- scanf("%d %d %d", &array[num].age, &array[num].height, &array[num].weight);
- gets(array[num].sportsType);
- gets(array[num].characteristics);
- num++;
- UpdateFile();
- }
- void DeleteRecord()
- {
- puts("Ââåäèòå èíäåêñ");
- int index;
- scanf("%d", &index);
- while (index < 0 || index >= num)
- {
- puts("Îøèáêà. Ââåäèòå íîðìàëüíûé èíäåêñ");
- scanf("%d", index);
- }
- num--;
- for (int i = index; i < num; i++)
- array[i] = array[i + 1];
- array[num] = null;
- UpdateFile();
- }
- void FindWithPart()
- {
- char help[] = "Óêàæèòå ïîëå, ïî êîòîðîìó èä¸ò ïîèñê :\n1.ÔÈÎ\n2.âîçðàñò\n3.ðîñò\n4.âåñ\n5.âèä ñïîðòà\n6.õàðàêòåðèñòèêà";
- puts(help);
- char field;
- getc(field);
- int i = 0;
- bool flag = true;
- puts("Ââåäèòå çíà÷åíèå ïîëÿ çàïèñè");
- if(field == '1' || field == '5' || field == '6')
- {
- string toFind;
- gets(toFind);
- if (field == '1')
- {
- while(i < num)
- {
- if(array[i].name == toFind)
- {
- flag = false;
- Print(array[i]);
- }
- i++;
- }
- if (flag)
- puts("Íè÷åãî íå íàéäåíî!");
- }
- else if (field == '5')
- {
- while(i < num)
- {
- if(array[i].sportsType == toFind)
- {
- flag = false;
- Print(array[i]);
- }
- i++;
- }
- if (flag)
- puts("Íè÷åãî íå íàéäåíî!");
- }
- else
- {
- while(i < num)
- {
- if(array[i].characteristics == toFind)
- {
- flag = false;
- Print(array[i]);
- }
- i++;
- }
- if (flag)
- puts("Íè÷åãî íå íàéäåíî!");
- }
- }
- else if (field == '2' || field == '3' || field == '4')
- {
- int toFind;
- gets(toFind);
- if (field == '2')
- {
- while(i < num)
- {
- if(array[i].age == toFind)
- {
- flag = false;
- Print(array[i]);
- }
- i++;
- }
- if (flag)
- puts("Íè÷åãî íå íàéäåíî!");
- }
- else if (field == '3')
- {
- while(i < num)
- {
- if(array[i].height == toFind)
- {
- flag = false;
- Print(array[i]);
- }
- i++;
- }
- if (flag)
- puts("Íè÷åãî íå íàéäåíî!");
- }
- else
- {
- while(i < num)
- {
- if(array[i].weight == toFind)
- {
- flag = false;
- Print(array[i]);
- }
- i++;
- }
- if (flag)
- puts("Íè÷åãî íå íàéäåíî!");
- }
- }
- else
- {
- puts("Îøèáêà");
- // FindWithPart(); ìîæíî óáðàòü êîììåíòû è ïóñòèòü ôóíêöèþ åù¸ ðàç
- }
- }
- void EditRecord()
- {
- puts("Ââåäèòå èíäåêñ çàïèñè, êîòîðóþ ìåíÿåì");
- int index;
- scanf("%d", &index);
- while (index < 0 || index >= num)
- {
- puts("Îøèáêà. Ââåäèòå íîðìàëüíûé èíäåêñ");
- scanf("%d", index);
- }
- char help[] = "Óêàæèòå ïîëå, êîòîðîå ðåäàêòèðóåì :\n1.ÔÈÎ\n2.âîçðàñò\n3.ðîñò\n4.âåñ\n5.âèä ñïîðòà\n6.õàðàêòåðèñòèêà";
- puts(help);
- int field;
- scanf("%d", &field);
- if(field == '1' || field == '5' || field == '6')
- {
- char replace[];
- gets(replace);
- if(field == '1')
- array[index].name = replace;
- else if(field == '5')
- array[index].sportsType = replace;
- else
- array[index].characteristics = replace;
- }
- else if (field == '2' || field == '3' || field == '4')
- {
- int replace;
- scanf("%d", &replace);
- if (field == '2')
- array[index].age = replace;
- else if(field == '3')
- array[index].height = replace;
- else
- array[index].weight = replace;
- }
- else
- {
- puts("Îøèáêà");
- //EditRecord(); ñìîòðè êîììåíò âûøå
- }
- UpdateFile();
- }
- void SortByField()
- {
- char help[] = "Óêàæèòå ïîëå, ïî êîòîðîìó ñîðòèðóåì :\n1.ÔÈÎ\n2.âîçðàñò\n3.ðîñò\n4.âåñ\n5.âèä ñïîðòà\n6.õàðàêòåðèñòèêà";
- char field;
- do
- {
- puts help;
- getc(field);
- } while(field != '2' || field != '3' || field != '4')
- if(field)
- for (int i = 0; i < num - 1; i++)
- for (int j = 0; j < num; j++)
- {
- if (field == '2')
- if(array[i].age < array[j].age)
- {
- sportsman temp = array[i];
- array[i] = array[j];
- array[j] = temp;
- }
- else if (field == '3')
- if(array[i].height < array[j].height)
- {
- sportsman temp = array[i];
- array[i] = array[j];
- array[j] = temp;
- }
- else
- {
- if(array[i].weight < array[j].weight)
- {
- sportsman temp = array[i];
- array[i] = array[j];
- array[j] = temp;
- }
- }
- }
- UpdateFile();
- }
- void ShowTable()
- {
- for (int i = 0; i < num; i++)
- {
- fprintf("%s, %d, %d, %d, %s, %s", array[i].name, array[i].age, array[i].height, array[i].weight, array[i].sportsType, param.characteristics);
- }
- }
- void Print(sportsman param)
- {
- fprintf("%s, %d, %d, %d, %s, %s", param.name, param.age, param.height, param.weight, param.sportsType, param.characteristics);
- }
- void UpdateFile()
- {
- file = fopen(fileName, "w+");
- for (int i = 0; i < num; i++)
- {
- fprintf("\"%s\";", array[i].name);
- fprintf("\"%d\";\"%d\";\"%d\";", array[i].age, array[i].height, array[i].weight);
- fprintf("\"%s\";\"%s\"\n", array[i].sportsType, array[i].charateristics);
- }
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement