ردود الذكاء الاصطناعي
سؤالك:
إجابة الشبكة العصبية:
#include <iostream>
#include <vector>
#include <algorithm>
struct Task {
std::string name;
int priority;
std::string description;
std::string deadline;
};
std::vector<Task> tasks;
void addTask() {
Task newTask;
std::cout << "Enter task name: ";
std::cin >> newTask.name;
std::cout << "Enter task priority: ";
std::cin >> newTask.priority;
std::cout << "Enter task description: ";
std::cin >> newTask.description;
std::cout << "Enter task deadline: ";
std::cin >> newTask.deadline;
tasks.push_back(newTask);
}
void removeTask(std::string taskName) {
tasks.erase(std::remove_if(tasks.begin(), tasks.end(), [&](Task &task) { return task.name == taskName; }), tasks.end());
}
void editTask(std::string taskName) {
for (Task &task : tasks) {
if (task.name == taskName) {
std::cout << "Enter new task name: ";
std::cin >> task.name;
std::cout << "Enter new task priority: ";
std::cin >> task.priority;
std::cout << "Enter new task description: ";
std::cin >> task.description;
std::cout << "Enter new task deadline: ";
std::cin >> task.deadline;
}
}
}
void searchTask(std::string keyword) {
for (Task &task : tasks) {
if (task.name.find(keyword) != std::string::npos || task.description.find(keyword) != std::string::npos || task.deadline.find(keyword) != std::string::npos) {
std::cout << "Task Name: " << task.name << std::endl;
std::cout << "Task Priority: " << task.priority << std::endl;
std::cout << "Task Description: " << task.description << std::endl;
std::cout << "Task Deadline: " << task.deadline << std::endl;
}
}
}
void displayTasksByPriority() {
std::sort(tasks.begin(), tasks.end(), [](const Task &a, const Task &b) { return a.priority < b.priority; });
for (Task &task : tasks) {
std::cout << "Task Name: " << task.name << std::endl;
std::cout << "Task Priority: " << task.priority << std::endl;
std::cout << "Task Description: " << task.description << std::endl;
std::cout << "Task Deadline: " << task.deadline << std::endl;
}
}
void displayTasksByDeadline() {
std::sort(tasks.begin(), tasks.end(), [](const Task &a, const Task &b) { return a.deadline < b.deadline; });
for (Task &task : tasks) {
std::cout << "Task Name: " << task.name << std::endl;
std::cout << "Task Priority: " << task.priority << std::endl;
std::cout << "Task Description: " << task.description << std::endl;
std::cout << "Task Deadline: " << task.deadline << std::endl;
}
}
int main() {
int choice;
std::string keyword, taskName;
do {
std::cout << "1. Add Task\n2. Remove Task\n3. Edit Task\n4. Search Task\n5. Display Tasks by Priority\n6. Display Tasks by Deadline\n7. Exit\n";
std::cout << "Enter your choice: ";
std::cin >> choice;
switch (choice) {
case 1:
addTask();
break;
case 2:
std::cout << "Enter task name to remove: ";
std::cin >> taskName;
removeTask(taskName);
break;
case 3:
std::cout << "Enter task name to edit: ";
std::cin >> taskName;
editTask(taskName);
break;
case 4:
std::cout << "Enter keyword to search: ";
std::cin >> keyword;
searchTask(keyword);
break;
case 5:
displayTasksByPriority();
break;
case 6:
displayTasksByDeadline();
break;
case 7:
std::cout << "Exiting program...\n";
break;
default:
std::cout << "Invalid choice. Please try again.\n";
break;
}
} while (choice != 7);
return 0;
}
يرجى ملاحظة: قد لا تكون الإجابات المقدمة بواسطة الذكاء الاصطناعي دقيقة دائمًا. لا تعتمد عليها في القضايا الحساسة مثل الطب، القانون، الأمور المالية أو القضايا الأمنية. من الأفضل دائمًا الرجوع إلى المتخصصين المؤهلين عند اتخاذ القرارات المهمة. إدارة الموقع غير مسؤولة عن المحتوى الذي يتم إنتاجه تلقائيًا.