Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct date_time {
- int day;
- int month;
- int year;
- int hour;
- int minutes;
- int seconds;
- };
- struct cases {
- char title[100];
- char description[100];
- date_time dt;
- int priority;
- };
- struct list_cases {
- cases store[100];//хранилище
- int cases_number = 0;//текущее количество элементов хранилища
- };
- //Добавить задание(+)
- void add_cases(list_cases& some_list, const char* title, const char* description, const date_time dt, const int priority) {
- if (some_list.cases_number == 100) {
- cout << "Задание не может быть добавлено" << endl;
- return;
- }
- strcpy(some_list.store[some_list.cases_number].title, title);
- strcpy(some_list.store[some_list.cases_number].description, description);
- some_list.store[some_list.cases_number].dt = dt;
- some_list.store[some_list.cases_number].priority = priority;
- some_list.cases_number++;
- }
- //Удалить задание(+)
- void del_case(list_cases& some_list, const char* title) {
- for (int i = 0; i < some_list.cases_number; i++) {
- if (!strcmp(some_list.store[i].title, title)) {
- for (int j = i; j < some_list.cases_number - 1; j++) {
- some_list.store[j] = some_list.store[j + 1];
- }
- some_list.cases_number--;
- }
- }
- }
- //Найти задание по названию(+)
- void find_case_by_title(struct list_cases& some_list, const char* title) {
- for (int i = 0; i < some_list.cases_number; i++) {
- if (!strcmp(some_list.store[i].title, title)) {
- cout << some_list.store[i].title << ", описание - " << some_list.store[i].description << ", дата - " << some_list.store[i].dt.day << '.' << some_list.store[i].dt.month << '.' << some_list.store[i].dt.year << " " << ", время - " << some_list.store[i].dt.hour << ":" << some_list.store[i].dt.minutes << ":" << some_list.store[i].dt.seconds << ", важность - " << some_list.store[i].priority << endl;
- }
- }
- cout << endl;
- }
- //по важности(+)
- void find_case_by_priority(struct list_cases& some_list, const int priority) {
- int max = 0, num;
- for (int i = 0; i < some_list.cases_number; i++) {
- if (some_list.store[i].priority == priority) {
- if (some_list.store[i].priority > max) {
- max = some_list.store[i].priority;
- num = i;
- }
- cout << some_list.store[num].title << ", описание - " << some_list.store[num].description << ", дата - " << some_list.store[num].dt.day << '.' << some_list.store[num].dt.month << '.' << some_list.store[num].dt.year << " " << ", время - " << some_list.store[num].dt.hour << ":" << some_list.store[num].dt.minutes << ":" << some_list.store[num].dt.seconds << ", важность - " << some_list.store[num].priority << endl;
- }
- }
- }
- //по дате и времени(+) ура!!! заработало))
- void find_case_by_dt(list_cases& some_list, struct date_time d) {
- for (int i = 0; i < some_list.cases_number; i++) {
- if (some_list.store[i].dt.day == d.day && some_list.store[i].dt.month == d.month && some_list.store[i].dt.year == d.year || some_list.store[i].dt.hour == d.hour && some_list.store[i].dt.minutes == d.minutes && some_list.store[i].dt.seconds == d.seconds) {
- cout << some_list.store[i].title << ", описание - " << some_list.store[i].description << ", дата - " << some_list.store[i].dt.day << '.' << some_list.store[i].dt.month << '.' << some_list.store[i].dt.year << " " << ", время - " << some_list.store[i].dt.hour << ":" << some_list.store[i].dt.minutes << ":" << some_list.store[i].dt.seconds << ", важность - " << some_list.store[i].priority << endl;
- }
- }
- }
- //по описанию(+)
- void find_case_by_description(struct list_cases& some_list, const char* description) {
- for (int i = 0; i < some_list.cases_number; i++) {
- if (!strcmp(some_list.store[i].description, description)) {
- cout << some_list.store[i].title << ", описание - " << some_list.store[i].description << ", дата - " << some_list.store[i].dt.day << '.' << some_list.store[i].dt.month << '.' << some_list.store[i].dt.year << " " << ", время - " << some_list.store[i].dt.hour << ":" << some_list.store[i].dt.minutes << ":" << some_list.store[i].dt.seconds << ", важность - " << some_list.store[i].priority << endl;
- }
- }
- cout << endl;
- };
- //редактировать задание(работает)
- void edit_case(list_cases& some_list, const char* title, int index, int value) {
- for (int i = 0; i < some_list.cases_number; i++) {
- if (!strcmp(some_list.store[i].title, title)) {
- if (index < 0 || index > some_list.cases_number) {
- cout << "Индекс некорректный" << endl;
- return;
- }
- for (int i = 0; i < some_list.cases_number; i++) {
- some_list.store[index].priority = value;
- }
- }
- }
- }
- //сортировка в порядке возрастания приоритета (для сортировки в порядке убывания поменять знак в if)
- void sort_by_priority(list_cases& some_list) {
- cases temp;
- for (int i = 0; i < some_list.cases_number - 1; i++) {
- for (int j = i + 1; j < some_list.cases_number; j++) {
- if (some_list.store[j].priority < some_list.store[i].priority) {
- temp = some_list.store[i];
- some_list.store[i] = some_list.store[j];
- some_list.store[j] = temp;
- }
- }
- }
- }
- //Вывели все задания
- void print(const list_cases& some_list) {
- for (int i = 0; i < some_list.cases_number; i++) {
- cout << some_list.store[i].title << ", описание - " << some_list.store[i].description << ", дата - " << some_list.store[i].dt.day << '.' << some_list.store[i].dt.month << '.' << some_list.store[i].dt.year << " " << ", время - " << some_list.store[i].dt.hour << ":" << some_list.store[i].dt.minutes << ":" << some_list.store[i].dt.seconds << ", важность - " << some_list.store[i].priority << endl;
- };
- cout << endl;
- }
- int main()
- {
- setlocale(LC_ALL, "ru");
- list_cases my_cases;
- add_cases(my_cases, "Case1", "Description1", { 01,02,2024,11,00,00 }, 3);
- add_cases(my_cases, "Case2", "Description2", { 02,02,2024,12,00,00 }, 4);
- add_cases(my_cases, "Case3", "Description3", { 03,02,2024,13,00,00 }, 5);
- add_cases(my_cases, "Case4", "Description4", { 04,02,2024,14,00,00 }, 2);
- add_cases(my_cases, "Case5", "Description5", { 05,02,2024,15,00,00 }, 1);
- print(my_cases);
- //del_case(my_cases, "Case2");//Удалить Case2
- //print(my_cases);//Вывод после удаления Case2
- //find_case_by_title(my_cases, "Case4");
- //find_case_by_priority(my_cases, 5);
- //find_case_by_description(my_cases, "Description4");
- //find_case_by_dt(my_cases, { 03,02,2024, 13,0,0});//поиск по дате и времени
- //edit_case(my_cases, "Case2", 3, 444);//для int
- sort_by_priority(my_cases);
- print(my_cases);
- //cout << endl;
- //print(my_cases);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement