3 Develop a program in C to maintain a list of homework assi
3. Develop a program in C++ to maintain a list of homework assignments. When an assignment
is assigned, add it to the list, and when it is completed, remove it. You should keep
track of the due date. Your program should provide the following services:
• Add a new assignment.
• Remove an assignment.
• Provide a list of the assignments in the order they were assigned.
• Find the assignment(s) with the earliest due date.
Solution
#include<bits/stdc++.h>
using namespace std;
//Class to hold due date
 class Date
 {
    public:int m,d,y;//month,day,year
   //default constructor
    Date()
    {
   }
    //parameterized constructor
    Date(int a,int b,int c)
    {
        m=a;
        d=b;
        y=c;
    }
};
 class Homework
 {
 public:
    Date da;
 int assgn_id;
   Homework()
    {
}
       Homework(int id,int m,int d,int y)
        {
            assgn_id=id;
            Date t(m,d,y);
            da=t;
        }
//Displat id and due date of assignment
        void Display()
        {
            cout<<\"Assignment ID \"<<assgn_id<<endl;
            cout<<\"Assignment Due date \"<<da.d<<\"/\"<<da.m<<\"/\"<<da.y<<endl;
         }
 };
 int main(int argc, char const *argv[])
 {int flag=1;
   
 Homework *a[10];
 int count=0;
 int ch;
 int id;
 int m,d,y;
 int c=0;
    while(flag)
    {
       cout<<\"1)Add assignment\ 2)Delete assignment\ 3)Display List of assignments\ 4)Exit\ \";
        cin>>ch;
        switch(ch)
        {
            case 1:cout<<\"Enter assignment id\ \";
            cin>>id;
            cout<<\"Enter due day\ \";
            cin>>d;
            cout<<\"Enter due month\ \";
            cin>>m;
            cout<<\"Enter due year\ \";
            cin>>y;
            a[count]=new Homework(id,d,m,y);
           
            count++;
break;
           case 2:
            cout<<\"Enter ID to Delete assignment\ \";
            cin>>id;
          
            for (int i = 0; i < count; ++i)
            {
               
                if(a[i]->assgn_id==id)
                {
                    for (int j = i; j < count-1; ++j)
                    {
                        a[j]=a[j+1];
                    }
                    c++;
                    count--;
                    break;
               }
            }
           if(c==0)
                cout<<\"Assignment not found\ \";
            else
                cout<<\"Assignment Deleted\ \";
            break;
case 3:
           for (int i = 0; i < count; ++i)
            {
                a[i]->Display();
            }
            break;
case 4:flag=0;break;
       }
    }
    return 0;
 }
==========================================================
Output:
akshay@akshay-Inspiron-3537:~/Chegg$ g++ homework.cpp
 akshay@akshay-Inspiron-3537:~/Chegg$ ./a.out
 1)Add assignment
 2)Delete assignment
 3)Display List of assignments
 4)Exit
 1
 Enter assignment id
 1
 Enter due day
 1
 Enter due month
 2
 Enter due year
 2000
 1)Add assignment
 2)Delete assignment
 3)Display List of assignments
 4)Exit
 1
 Enter assignment id
 2
 Enter due day
 2
 Enter due month
 3
 Enter due year
 2001
 1)Add assignment
 2)Delete assignment
 3)Display List of assignments
 4)Exit
 3
 Assignment ID 1
 Assignment Due date 2/1/2000
 Assignment ID 2
 Assignment Due date 3/2/2001
 1)Add assignment
 2)Delete assignment
 3)Display List of assignments
 4)Exit
 1
 Enter assignment id
 3
 Enter due day
 3
 Enter due month
 4
 Enter due year
 2003
 1)Add assignment
 2)Delete assignment
 3)Display List of assignments
 4)Exit
 3
 Assignment ID 1
 Assignment Due date 2/1/2000
 Assignment ID 2
 Assignment Due date 3/2/2001
 Assignment ID 3
 Assignment Due date 4/3/2003
 1)Add assignment
 2)Delete assignment
 3)Display List of assignments
 4)Exit
 2
 Enter ID to Delete assignment
 2
 Assignment Deleted
 1)Add assignment
 2)Delete assignment
 3)Display List of assignments
 4)Exit
 3
 Assignment ID 1
 Assignment Due date 2/1/2000
 Assignment ID 3
 Assignment Due date 4/3/2003
 1)Add assignment
 2)Delete assignment
 3)Display List of assignments
 4)Exit
 4




