Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

عرض المهام

جزء من قسم Logic & Flow في رحلة C++ على Coddy — الدرس 20 من 56.

challenge icon

التحدي

سهل

قم بتوسيع أداة قائمة المهام الخاصة بك من خلال تنفيذ وظيفة العرض لإظهار جميع المهام في تنسيق قائمة مرقمة. يعتمد هذا على الدرس السابق من خلال إضافة القدرة على رؤية المهام التي تم تخزينها في النظام.

سيتم توفير المدخلات التالية:

  • عدد صحيح n يمثل عدد المهام المراد إضافتها إلى القائمة
  • ثم n من السلاسل النصية (strings) التي تمثل أوصاف المهام

يجب أن يقوم برنامجك بما يلي:

  1. البدء بنفس الإعداد من الدرس السابق (std::vector<std::string> فارغ باسم tasks ورسالة ترحيب)
  2. قراءة عدد المهام وإضافة وصف كل مهمة إلى الـ vector باستخدام push_back()
  3. التحقق مما إذا كان الـ vector الخاص بالمهام فارغاً باستخدام طريقة .empty()
  4. إذا كان الـ vector فارغاً، قم بطباعة رسالة تشير إلى عدم وجود مهام
  5. إذا كان الـ vector يحتوي على مهام، فقم بالمرور عليها باستخدام حلقة for تقليدية مع فهرس (index)
  6. طباعة كل مهمة كقائمة مرقمة، تبدأ من 1 (وليس 0)
  7. عرض العدد الإجمالي للمهام في النهاية

استخدم تنسيق المخرجات الدقيق التالي:

لقائمة مهام فارغة:

Welcome to Task List Tool!

Menu Options:
1. Add Task
2. View Tasks
3. Quit

Task list system initialized and ready!
No tasks available.

لقائمة مهام غير فارغة:

Welcome to Task List Tool!

Menu Options:
1. Add Task
2. View Tasks
3. Quit

Task list system initialized and ready!
Your Tasks:
1. [first task]
2. [second task]
3. [third task]
...
Total tasks: [number of tasks]

استخدم حلقة for تقليدية مع i يبدأ من 0 ويصل إلى tasks.size(). عند الطباعة، اعرض i + 1 لإظهار أرقام المهام بدءاً من 1، وقم بالوصول إلى كل مهمة باستخدام tasks[i].

جرّب بنفسك

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
    vector<string> tasks;
    
    cout << "Welcome to Task List Tool!" << endl;
    cout << endl;
    cout << "Menu Options:" << endl;
    cout << "1. Add Task" << endl;
    cout << "2. View Tasks" << endl;
    cout << "3. Quit" << endl;
    cout << endl;
    cout << "Task list system initialized and ready!" << endl;
    
    string taskDescription;
    getline(cin, taskDescription);
    
    tasks.push_back(taskDescription);
    
    cout << "Task \"" << taskDescription << "\" added successfully!" << endl;
    cout << "Total tasks: " << tasks.size() << endl;
    
    return 0;
}

جميع دروس Logic & Flow