示例#1
0
void Register_Function(Modules md, Students st)
{
	Students st;
	Modules md;
	int dd,mm,yyyy;
   bool done=1;
   bool done_d=1;
   char string_date[15];
   char ch_d,stat=2;
   while(done_d)
   {
     system("cls");
     cout<<"\n Enter the New date (E).";
     cout<<"\n Exit (Q) ";
	 cout<<"\n Enter your choice: ";

	 cin>>  ch_d;

	 switch(ch_d)
	 {
	 case 'q':
	 case 'Q':
     done_d=0;

	 stat=1;
	 break;

 	 case 'e':
	 case 'E':
     stat=0;
	 break;


     }

if(stat==1)
break;
else if(stat==2)
continue;


   system("cls");
   cout<<"Please Enter the Date(dd mm yyyy):";
   cin>>dd>>mm>>yyyy;
	while(done)
	{ int ID;
     md.Browse();
	 cout<<"\n Date(dd-mm-yyy):"<<dd<<"-"<<mm<<"-"<<yyyy;
	 cout<<"\n Please Select one of Modules by ID or -1 to exit: ";
	 cin>>  ID;
	
	 if (ID<=-1) {done=0;break;}
	  if(md.Check_ID(ID)==0)
	 {getch();
		 continue;
	 }
	 int done_m=1;
	 while(done_m)
	 {
     system("cls");
     cout<<"\n Date(dd-mm-yyy):"<<dd<<"-"<<mm<<"-"<<yyyy<<" Module Name: "<<md.Get_Name(ID);
     cout<<"\n Enter the student ID (I).";
	 //cout<<"\n Undo (U).";
	 //cout<<"\n Search student name by ID (S).";
     cout<<"\n Browse students(B).";
	 cout<<"\n Exit (Q) ";
	 cout<<"\n Enter your choice: ";

     char IDc; 
	 int done_i=1;
	 int IDi=0;
	 cin>>  IDc;

	 switch(IDc)
	 {
	 case 'q':
	 case 'Q':
     done_m=0;
	 break;

	 case 'i':
	 case 'I':
          //system("cls")

		 while(1){
cout<<"\n Date(dd-mm-yyy):"<<dd<<"-"<<mm<<"-"<<yyyy<<" Module Name: "<<md.Get_Name(ID);
cout<<"\n Enter Student ID (-1 to exit): ";
cin>>IDi;
if (IDi<0) break;
if (st.Check_ID(IDi))
{
     cout<<"\n Date(dd-mm-yyy):"<<dd<<"-"<<mm<<"-"<<yyyy<<" Module Name: "<<md.Get_Name(ID)<<" Student ID/Name: "<<IDi<<'/'<<st.Get_Name(IDi);
	

     cout<<"\n On Time (O).";
	 cout<<"\n Late (L).";
	 cout<<"\n Absent (A).";
     cout<<"\n Exit (Q) ";
	 cout<<"\n Status: ";
	 cin>>IDc;

sprintf(string_date,"%d-%d-%d",dd,mm,yyyy);
Registers[Current_Reg].Date=string_date;
Registers[Current_Reg].Mod_ID=ID;
Registers[Current_Reg].Mod_Name=md.Get_Name(ID);
Registers[Current_Reg].St_ID=IDi;
	 	 switch(IDc)
	 {
	 case 'q':
	 case 'Q':
     
	 break;

	 case 'o':
	 case 'O':
Registers[Current_Reg].status=+1;
     


	 break;

	 case 'L':
	 case 'l':
Registers[Current_Reg].status=0;     
	 break;

	 case 'a':
	 case 'A':
Registers[Current_Reg].status=-1;     
	 break;


		 }


//cout<<"Record_number:("<<Current_Reg<<")"<<Registers[Current_Reg].Date<<" "<<Registers[Current_Reg].Mod_Name<<" "<<Registers[Current_Reg].St_ID;
Current_Reg++;
}


		 }

     //Registers[Current_Reg].
		 
	 break;

	 case 'b':
	 case 'B':
     st.Browse();
	 getch();
	 break;

	 case 's':
	 case 'S':
     //st.Search_Name()
	 break;



	 }  
	 }
	}
}