Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: help!!! QUẢN LÝ MƯỢN SÁCH THƯ VIỆN

  1. #1
    Ngày gia nhập
    01 2012
    Bài viết
    0

    Red face help!!! QUẢN LÝ MƯỢN SÁCH THƯ VIỆN

    Em có bài C thế này mong anh chị giúp em với ại. Em tự đọc tài liệu về phần lớp bạn và lớp kế thùa nhưng em không hiểu lắm. Mong anh chị giúp em ạ. !!

    Khai báo lớp Người (Họ tên, Địa chỉ, SDT)
    Khai báo lớp Bạn đọc kế thừa từ lớp Người và có thêm (mã thẻ đọc, loại bạn đọc), mã
    bạn đọc là một số nguyên có 5 chữ số, tự động tăng. Loại bạn đọc có thể là sinh viên, học
    viên cao học hoặc giáo viên.
    Khai báo lớp Sách gồm các thuộc tính (mã sách, Tên sách, Tác giả, Chuyên ngành,
    Năm xuất bản) – trong đó Chuyên ngành có thể là: Khoa học tự nhiên, Văn học – Nghệ
    thuật, Điện tử Viễn thông, Công nghệ thông tin. Mã sách là một số nguyên có 5 chữ số,
    tự động tăng.
    Khai báo lớp Bảng QL Mượn sách là bạn của lớp Bạn đọc và lớp Sách trong đó một bạn
    đọc sẽ được phép mượn không quá 5 đầu sách khác nhau, mỗi đầu sách không mượn quá
    3 cuốn. Ghi rõ tình trạng hiện thời của sách khi cho mượn.
    Viết chương trình trong ngôn ngữ C++ thực hiện các yêu cầu sau:
    1. Nhập thêm đầu sách mới vào file SACH.DAT. In ra danh sách các đầu sách đã có
    trong file.
    2. Nhập thêm bạn đọc vào file BD.DAT. In ra danh sách bạn đọc đã có trong file.
    3. Lập Bảng QL mượn sách cho từng bạn đọc bằng cách nhập các đầu sách mà bạn
    đọc mượn, lưu vào file QLMS.DAT và in danh sách ra màn hình (chú ý: cùng
    một loại bạn đọc với một đầu sách thì không thể xuất hiện 2 lần trong bảng này).
    4. Sắp xếp danh sách Quản lý mượn sách đã lưu trong QLMS.DAT
    a. Theo tên bạn đọc
    b. Theo Số lượng cuốn sách được mượn (giảm dần)
    5. Tìm kiếm và hiển thị danh sách mượn sách theo tên bạn đọc
    Đã được chỉnh sửa lần cuối bởi kool : 05-05-2012 lúc 08:00 AM.

  2. #2
    Ngày gia nhập
    01 2012
    Bài viết
    0

    Đây là code của mình, nhưng mới chỉ có ý 1 và ý 2. Ai có thể ý tưởng gì giúp mình làm được ỷ 3 thì tốt quá. Mình không có ý tưởng gì về Bảng QLMS :(
    C++ Code:
    1. #include<iostream>
    2. #include<conio.h>
    3. #include<stdio.h>
    4. #include<fstream>
    5. #include<string.h>
    6. #include<iomanip.h>
    7.  
    8. using namespace std;
    9.  
    10. int n, m1=9999, m2= 10000,m;
    11. class Nguoi
    12. {
    13.       protected:
    14.               char ht[30], dc[30],sdt[12];
    15.       public:
    16.              Nguoi(){}
    17.              Nguoi(char ht1[], char dc1[], char sdt1[]);
    18. };
    19. //====== class Nguoi  ========
    20. class BanDoc:private Nguoi
    21. {
    22.       private:
    23.               char loai[20];
    24.               int ma;
    25.       public:
    26.              BanDoc (): Nguoi(){}
    27.              BanDoc(char ht1[], char dc1[], char sdt1[], char loai1[]):Nguoi (ht1, dc1, sdt1)
    28.              {
    29.                           ma = m1;
    30.                           strcpy (loai,loai1);
    31.              }
    32.              void init (char *ht1,char *dc1, char *sdt1, int m1);
    33.              friend class BangQL;
    34.              friend istream& operator>> (istream& in, BanDoc &a);
    35.              friend ostream& operator<< (ostream& out, const BanDoc &a);
    36.              void result ()
    37.              {
    38.                   cout<<endl<<ma<<setw (20)<<ht<<setw(20)<<dc<<setw (15)<<sdt<<setw (18)<<loai;
    39.              }
    40.              
    41. };
    42.  
    43. BanDoc dsbd[100];
    44.  
    45. //==========  class Sach  =========
    46. class Sach
    47. {
    48.       private:
    49.               int ms, nxb;
    50.               char ten[30], tgia[30], nganh[30];
    51.       public:
    52.              Sach(){}
    53.              Sach (char ten1[], char tgia1[], char nganh1[], int m2, int nxb1);
    54.              void init (char *ten1, char *tgia1, char *nganh1,int m2, int nxb1);
    55.              friend class BangQL;
    56.              friend istream& operator>> (istream& in, Sach &a);
    57.              friend ostream& operator<< (ostream& out, const Sach &a);
    58.              void result ();
    59. };
    60.  Sach dssach[100];
    61.  
    62. //======= class BangQL  ===========
    63.  
    64. class BangQL
    65. {
    66.       private:
    67.               BanDoc bandoc;
    68.               Sach sach;
    69.               int soluong;
    70.       public:
    71.              void init (BanDoc a, int masach);
    72.              void result ()
    73.              {
    74.                   cout.setf(ios::left);
    75.                   cout<<endl<<setw(20)<<bandoc.ht<<setw(20)<<sach.ten<<setw(7)<<soluong;
    76.              }
    77.              char* getbd ()
    78.              {
    79.                    return bandoc.ht;
    80.              }
    81.              char *getsach ()
    82.              {
    83.                   return sach.ten;
    84.              }
    85.              int slg ()
    86.              {
    87.                  return soluong;
    88.              }
    89.              int getma ()
    90.              {
    91.                  return sach.ms;
    92.              }
    93. };
    94.  
    95. BangQL dsBangQL [100];
    96.  
    97.  
    98. //========= Dinh nghia cac phuong thuc cua  lop BanDoc ===============
    99.  
    100. Nguoi::Nguoi (char ht1[], char dc1[], char sdt1[])
    101. {
    102.              strcpy (ht, ht1); strcpy (dc, dc1); strcpy (sdt,sdt1);
    103. }
    104.  
    105.  
    106. void BanDoc::init (char *ht1, char *dc1, char *sdt1, int m1)
    107. {
    108.              strcpy (ht,ht1); strcpy (dc,dc1); strcpy (sdt,sdt1); ma=m1;
    109. }
    110. istream& operator>> (istream& in, BanDoc &a)
    111. {
    112.          if ( in== cin)
    113.             {
    114.                    cout<<endl<<"Ma ban doc: "<<++m1;
    115.                    a.ma = m1;
    116.                    in.ignore (1);
    117.             }
    118.          else
    119.              {
    120.                    in>>a.ma;
    121.                    in.ignore (1);
    122.              }
    123.          if (in==cin)
    124.             {
    125.                      cout<<endl<<"Nhap ho ten ban doc: "; in.getline (a.ht,30);
    126.             }
    127.          else
    128.              in.getline (a.ht,30);
    129.          if (in==cin)
    130.             {
    131.                      cout<<endl<<"Nhap dia chi ban doc: "; in.getline (a.dc,30);
    132.             }
    133.          else
    134.              in.getline (a.dc,30);
    135.          if (in==cin)
    136.             {
    137.                      cout<<endl<<"Nhap SDT: "; in.getline (a.sdt,12);
    138.             }
    139.          else
    140.              in.getline (a.sdt,12);
    141.          if (in==cin)
    142.             {
    143.                      cout<<endl<<"1. Sinh vien ";
    144.                      cout<<endl<<"2. Hoc vien cao hoc ";
    145.                      cout<<endl<<"3. Giao vien ";
    146.                      cout<<endl<<"Moi ban chon "; int chon; cin>>chon;
    147.                      if (chon==1)     strcpy (a.loai, "Sinh vien ");
    148.                      if (chon==2)     strcpy (a.loai, "Hoc vien cao hoc ");
    149.                      if (chon==3)     strcpy (a.loai, "Giao vien ");
    150.             }
    151.          else
    152.              in.getline (a.loai, 20);
    153.          return in;
    154. }
    155.  
    156. ostream& operator<< (ostream& out, const BanDoc &a)
    157. {
    158.          if (out==cout)
    159.             {
    160.                        
    161.                        out.setf (ios::left);
    162.                        out<<endl<<setw (8)<<a.ma<<setw (20)<<a.ht<<setw (20)<<a.dc<<setw (15)<<a.sdt<<setw(18)<<a.loai;
    163.             }
    164.          else
    165.          out<<endl<<a.ma<<a.ht<<endl<<a.dc<<a.sdt<<a.loai;
    166.          return out;
    167. }
    168. //...........Ham nhap them va in thong tin ban doc..........
    169.  
    170. void init_BD()
    171. {
    172.      cout<<endl<<"Nhap so luong ban doc muon them vao: "; cin>>n;
    173.      ofstream f("BD.DAT",ios::app);
    174.      for (int i=1; i<=n;i++)
    175.      {
    176.          cout<<endl<<"---------------------------";
    177.          cout<<endl<<"Thong tin ban doc thu "<<i<<"la: "<<endl;
    178.          cin>>dsbd[i];
    179.          f<<dsbd[i];
    180.      }
    181.      f.close();
    182. }
    183.  
    184. void result_BD ()
    185. {
    186.      int i=0;
    187.      ifstream f ("BD.DAT");
    188.      if (f.bad())
    189.         cout<<endl<<"Khong the mo tap tin ";
    190.      else
    191.      {
    192.          cout<<endl<<"DANH SACH BAN DOC CO TRONG FILE BD.DAT LA:  "<<endl;
    193.          cout<<endl<<"----------------------------------------------";
    194.          while (f>>dsbd[i])
    195.          {
    196.                cout<<dsbd[i];
    197.                i++;
    198.          }
    199.          m+=i;
    200.      }
    201.      f.close();
    202. }
    203. //====== Dinh nghia cac phuong thuc lop Sach======
    204.  
    205. Sach::Sach (char ten1[], char tgia1[], char nganh1[], int m2, int nxb1)
    206. {
    207.            strcpy (ten,ten1); strcpy (tgia,tgia1);strcpy (nganh,nganh1);
    208.            ms=m2; nxb=nxb1;
    209. }
    210. void Sach::init (char *ten1, char *tgia1, char *nganh1,int m2, int nxb1)
    211. {
    212.      strcpy (ten,ten1);strcpy (tgia,tgia1);strcpy (nganh,nganh1); nxb=nxb1; ms=m2;
    213. }
    214.  
    215. istream& operator>> (istream& in, Sach &a)
    216. {
    217.        
    218.          if (in==cin)
    219.          {
    220.                      cout<<endl<<"Ma sach: "<<++m2;
    221.                      a.ms=m2;
    222.                      in.ignore (1);
    223.          }
    224.          else
    225.          {
    226.              in>>a.ms;
    227.              in.ignore(1);
    228.          }
    229.          if (in==cin)
    230.          {
    231.                      cout<<endl<<"Nhap ten sach: "; in.getline(a.ten,30);
    232.          }
    233.          else
    234.              in.getline (a.ten,30);
    235.          if (in==cin)
    236.          {
    237.                      cout<<endl<<"Nhap ten tac gia: "; in.getline (a.tgia,30);
    238.          }
    239.          else
    240.              in.getline(a.tgia,30);
    241.          if (in==cin)
    242.          {
    243.                       cout<<endl<<"1. Khoa hoc tu nhien ";
    244.                       cout<<endl<<"2. Van hoa - Nghe thuat ";
    245.                       cout<<endl<<"3. Dien tu vien thong ";
    246.                       cout<<endl<<"4. Cong nghe thong tin ";
    247.                       cout<<endl<<"Moi ban chon "; int chon; cin>>chon;
    248.                       if (chon==1)     strcpy (a.nganh,"Khoa hoc tu nhien ");
    249.                       if (chon==2)     strcpy (a.nganh,"Van hoc nghe thuat ");
    250.                       if (chon==3)     strcpy (a.nganh,"Dien tu vien thong ");
    251.                       if (chon==4)     strcpy (a.nganh,"Cong nghe thong tin ");
    252.          }
    253.          else
    254.              in.getline (a.nganh,30);
    255.          if (in==cin)
    256.             {
    257.                      cout<<endl<<"Nhap nam xuat ban: "; in>>a.nxb;
    258.             }
    259.          else
    260.              in>>a.nxb;
    261.            
    262.          return in;
    263. }
    264.  
    265. ostream& operator<< (ostream& out, const Sach &a)
    266. {
    267.          if (out==cout)
    268.          {
    269.                      
    270.                        out.setf(ios::left);
    271.                        out<<endl<<setw(8)<<a.ms<<setw(25)<<a.ten<<setw(17)<<a.tgia<<setw(25)<<a.nganh<<setw(9)<<a.nxb;
    272.          }
    273.          else
    274.            out<<endl<<a.ms<<endl<<a.ten<<endl<<a.tgia<<endl<<a.nganh<<endl<<a.nxb;
    275.          return out;
    276. }
    277. //.........Ham nhap va in them thong tin sach moi.......
    278.  
    279. void init_sach ()
    280. {
    281.      ofstream f("SACH.DAT",ios::app);
    282.      cout<<endl<<"Nhap vao so luong dau sach muon them vao: "; cin>>m;
    283.      for (int i=1; i<=m; i++)
    284.      {
    285.          cout<<endl<<"------------------------------------";
    286.          cout<<endl<<"Thong tin dau sach thu "<<i<<" la: "<<endl;
    287.          cin>>dssach[i];
    288.          f<<dssach[i];
    289.      }
    290.      f.close();
    291. }
    292.  
    293. void result_sach()
    294. {
    295.      int i=0;
    296.      ifstream f("SACH.DAT");
    297.      if (f.bad())
    298.         cout<<endl<<"khong the mo tap tin ";
    299.      else
    300.      {
    301.          cout<<endl<<"DANH SACH DAU SACH CO TRONG FILR LA: "<<endl;
    302.          cout<<endl<<"--------------------------------------------"<<endl;
    303.          while (f>>dssach[i])
    304.          {
    305.                cout<<dssach[i];
    306.                i++;
    307.          }
    308.          m+=i;
    309.      }
    310.      f.close();
    311. }
    312. // === Dinh nghia cac phuong thuc cua lop BangQL=======
    313.  
    314.  
    315. //=========== Ham chinh ================
    316.  
    317. int main()
    318.  
    319. {
    320.     while (1)
    321.     {
    322.           system ("cls");
    323.           cout<<endl<<"1. Nhap them dau sach moi. In ra danh sach sach co trong file ";
    324.           cout<<endl<<"2. Nhap them ban doc moi. In ra danh sach ban doc co trong file ";
    325.           cout<<endl<<"0. Thoat ";
    326.           cout<<endl<<"Moi ban chon "; int chon; cin>>chon;
    327.           if (chon==0)     break;
    328.           switch(chon)
    329.           {
    330.                       case 1: {
    331.                                init_sach();
    332.                                result_sach();
    333.                                break;
    334.                                }
    335.                       case 2:{
    336.                               init_BD();
    337.                               result_BD();
    338.                               break;
    339.                               }
    340.           }
    341.           getch();
    342.     }
    343.     getch();
    344. }
    Đã được chỉnh sửa lần cuối bởi kool : 11-05-2012 lúc 05:57 PM.

  3. #3
    Ngày gia nhập
    01 2012
    Bài viết
    0

    upppppppppp.. Sao không ai giúp mình vậy :(

  4. #4
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi kool Xem bài viết
    upppppppppp.. Sao không ai giúp mình vậy :(
    bưu chính ah, mình d10cn1 nè =)) chưa học đến mà bắt thi những cái này =))

  5. #5
    Ngày gia nhập
    01 2012
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi tohuu1 Xem bài viết
    bưu chính ah, mình d10cn1 nè =)) chưa học đến mà bắt thi những cái này =))

    hì hì. Mình cũng PTIT . :"> Bây giờ mình mới làm đến ý 3 thôi. Ý 4 sắp xếp hoài mà không ra :((

  6. #6
    Ngày gia nhập
    11 2010
    Bài viết
    1

    Mặc định Mình cũng đang vướng như cậu

    Trích dẫn Nguyên bản được gửi bởi kool Xem bài viết
    Em có bài C thế này mong anh chị giúp em với ại. Em tự đọc tài liệu về phần lớp bạn và lớp kế thùa nhưng em không hiểu lắm. Mong anh chị giúp em ạ. !!

    Khai báo lớp Người (Họ tên, Địa chỉ, SDT)
    Khai báo lớp Bạn đọc kế thừa từ lớp Người và có thêm (mã thẻ đọc, loại bạn đọc), mã
    bạn đọc là một số nguyên có 5 chữ số, tự động tăng. Loại bạn đọc có thể là sinh viên, học
    viên cao học hoặc giáo viên.
    Khai báo lớp Sách gồm các thuộc tính (mã sách, Tên sách, Tác giả, Chuyên ngành,
    Năm xuất bản) – trong đó Chuyên ngành có thể là: Khoa học tự nhiên, Văn học – Nghệ
    thuật, Điện tử Viễn thông, Công nghệ thông tin. Mã sách là một số nguyên có 5 chữ số,
    tự động tăng.
    Khai báo lớp Bảng QL Mượn sách là bạn của lớp Bạn đọc và lớp Sách trong đó một bạn
    đọc sẽ được phép mượn không quá 5 đầu sách khác nhau, mỗi đầu sách không mượn quá
    3 cuốn. Ghi rõ tình trạng hiện thời của sách khi cho mượn.
    Viết chương trình trong ngôn ngữ C++ thực hiện các yêu cầu sau:
    1. Nhập thêm đầu sách mới vào file SACH.DAT. In ra danh sách các đầu sách đã có
    trong file.
    2. Nhập thêm bạn đọc vào file BD.DAT. In ra danh sách bạn đọc đã có trong file.
    3. Lập Bảng QL mượn sách cho từng bạn đọc bằng cách nhập các đầu sách mà bạn
    đọc mượn, lưu vào file QLMS.DAT và in danh sách ra màn hình (chú ý: cùng
    một loại bạn đọc với một đầu sách thì không thể xuất hiện 2 lần trong bảng này).
    4. Sắp xếp danh sách Quản lý mượn sách đã lưu trong QLMS.DAT
    a. Theo tên bạn đọc
    b. Theo Số lượng cuốn sách được mượn (giảm dần)
    5. Tìm kiếm và hiển thị danh sách mượn sách theo tên bạn đọc

    Cùng học viện đây mà....mình cũng mới làm được mấy ý thôi, cái hàm tự động tăng là sao ý nhỉ.
    Code sơ lược của mình đây, xem có gì cho ý kiến với :

    Code:
    #include<iostream>
    #include<string>
    #include<conio.h>
    #include<iomanip>
    #include <sstream>
    #include<ctime.h>
    using namespace std;
    string CKDL(int i){
    	stringstream ss;
        ss<<i;
        return ss.str();
     }
    string auto_id(int i){
        string tem;
        string str=CKDL(i);
        tem.append(5-str.length(),'0');
        tem.append(str);
        return tem;
     }
    string auto_id1(int i){
        string tem;
        string str=CKDL(i);
        tem.append(3-str.length(),'0');
        tem.append(str);
        return tem;
     }
    class Sinhvien{
             private:
    			string masv;
    			string hoten;	
    			string diachi;
    			char sdt[13];
    			string lop;
             public:
               Sinhvien(){
    			  masv="00000";
    			  hoten="";
    			  diachi="";
    			  strcpy(sdt,"0000000000");
    			  lop="";
                }
    	      void nhap_sv(string auto_id){
     		       cout<<"\t Ma sinh vien   : "<<auto_id<<endl;masv=auto_id;cin.ignore(1);
     		       cout<<"\t Ho va ten      : ";getline(cin,hoten);
     		       cout<<"\t Dia Chi        : ";getline(cin,diachi);
     		       cout<<"\t So Dien Thoai  : ";cin.getline(sdt,13);
     		       cout<<"\t Lop            : ";getline(cin,lop);
     		       
     	         }
              void in_sv(){
     	 	       cout<<masv<<"     "<<hoten<<"     "<<diachi<<"     "<<sdt<<"     "<<lop;
            }
    		friend class BDK;
    	    friend void Them();
    	    friend int dieukienthem(string,int,string);
    	    friend void sapxep_ten();
    	    friend void sapxep_tg();
    	    friend void timkiem();
    	};
         Sinhvien dssv[1000];
     	 int n,i=0;
     	 void Nhap_Sinh_Vien(){
     	 	cout<<" Nhap so luong sinh vien can them: ";cin>>n;
            for(;n;n--){
     	 		string str=auto_id(i+1);
    	 	 	dssv[i].nhap_sv(str);
    	 	 	i++;
    	 	 }
     	 	
     	 }
     	 void In_Sinh_Vien(){
            cout<<" Ma sinh vien     Ho va ten       Dia chi      So dien thoai    Lop \n";
     	 	for(int index=0;index<i;index++){
    	 	 	dssv[index].in_sv();cout<<"\n";
    	 	 }
     	 }
    class Monhoc{
    		private:
    		string mamh;
    		string tenmon;
    		int sotiet;
    		int loai;
    	
    		public:
    		Monhoc(){
    			mamh="000";
    			tenmon="";
    			sotiet=0;
    			loai=0;
    		
    		}
    	 void nhap_mon_hoc(string auto_id1){
    		cout<<"\t Ma mon hoc 		:"<<auto_id1<<endl;mamh=auto_id1;cin.ignore(1);
     		cout<<"\t Ten mon hoc   	:";getline(cin,tenmon);
     		cout<<"\t Tong so tiet      	:";cin>>sotiet;
     		cout<<"\t Loai mon hoc :";
     		cout<<"\n\t\t 1. Dai cuong";
     		cout<<"\n\t\t 2. Co so nganh";
     		cout<<"\n\t\t 3. Chuyen nganh bat buoc";
     		cout<<"\n\t\t 4. Chuyen nganh tu chon";
     		cout<<"\n\t\t Chon:";cin>>loai;
    	}
    	void in_mon_hoc(){
    	    cout<<"   "<<mamh<<"      "<<tenmon<<"          "<<sotiet<<"         ";
     	 	if(loai==1) cout<<"Dai cuong";
              else if(loai==2)cout<<"Co so nganh";
              else if(loai==3)cout<<"Chuyen nganh bat buoc";
              else cout<<"Chuyen nganh tu chon";
    	}
    	  friend class BDK;
    	  friend void Them();
          friend int dieukienthem(string,int,string);
    	};
        Monhoc dsmh[1000];
        int m,j=0;
        void Nhap_Mon_Hoc(){
     	 	cout<<" Nhap so luong mon hoc can them:";cin>>m;
     	    for(;m;m--){
     	 		string str=auto_id1(j+1);
    	 	 	dsmh[j].nhap_mon_hoc(str);
    	 	 	j++;
    	 	 }
     	 	
     	 }
     	 void In_Mon_Hoc(){
            cout<<" Ma mon hoc       Ten mon hoc        Tong so tiet         Loai mon hoc\n";
     	 	for(int index=0;index<j;index++){
    	 	 	dsmh[index].in_mon_hoc(); cout<<"\n";
    	 	 }
     	 }
     	
    class BDK{
         private:
    	    Sinhvien sv;
    		Monhoc mh;
    		string maBDK;
    		int monhoc;
    		int sl;
         public:
           
    	    BDK(){
    			sl=0;
    		}
            Sinhvien getSV(){
    			return sv;
    		}
    		int getDS(){
    			return monhoc;
    		}
    		Monhoc getMH(){
    			return mh;
    		}
    		void set_sl(int soluong){
    			sl+=soluong;
    		}
    		int get_sl(){
    			return sl;
    		}
    		void nhap_ds_dk(Sinhvien sv1,Monhoc mh1,int monhoc1,string auto_id){
     	 	    maBDK=auto_id;
     	 	    mh=mh1;
     	 		sv=sv1;
     	 		monhoc=monhoc1;
    	   }
    	   void in_ds_dk(){
     	 	cout<<maBDK<<"     "<<sv.hoten<<"     "<<mh.tenmon<<"      ";
     	 	if(mh.loai==1) cout<<"Dai cuong";
              else if(mh.loai==2)cout<<"Co so nganh";
              else if(mh.loai==3)cout<<"Chuyen nganh bat buoc";
              else cout<<"Chuyen nganh tu chon";
              cout<<"    "<<sl<<"    ";
              time_t rawtime;
                struct tm * timeinfo;
    
                rawtime = time (NULL);
                timeinfo = localtime ( &rawtime );
                cout<<"\n Thoi gian dang ky: ";
                cout << timeinfo->tm_hour<<"h"<<timeinfo->tm_min<<"p"<<timeinfo->tm_sec<<"s";
     	  }
    	};
     	 BDK qlBDK[1000];
     	 int k=0;
     	 int dieukienthem(string masvdk,int chon,string mamondk){
     	 	int dem=0;
     	 
     	 	for(int index=0;index<k;index++){
     	 		if(mamondk==qlBDK[index].getMH().mamh&&qlBDK[index].getSV().masv==masvdk)
     	 		  return 0;
    	 	 	if(qlBDK[index].getSV().masv==masvdk&&qlBDK[index].getDS()==chon){
    	 	 		dem++;
    	 	 	}
    	 	 }
    	 	 return (dem<8);
     	 }
     	  
     	 void Them(){
     	      int chon;
     	      char c;
     	      string masvdk,mamondk;
    		  	cout<<"\n Loai mon dang ky ";
      		    cout<<"\n 1. Dai cuong";
           		cout<<"\n 2. Co so nganh";
           		cout<<"\n 3. Chuyen nganh bat buoc";
           		cout<<"\n 4. Chuyen nganh tu chon";
    	        cout<<"\n Chon: "; cin>>chon;cin.ignore(1);
    	        time_t rawtime;
                struct tm * timeinfo;
    
                rawtime = time (NULL);
                timeinfo = localtime ( &rawtime );
                cout << timeinfo->tm_hour<<"h"<<timeinfo->tm_min<<"p"<<timeinfo->tm_sec<<"s";
    	        cout<<"\nNhap ma sinh vien:";getline(cin,masvdk);
    	        for(int indexi=0;indexi<i;indexi++){
    		        	if(dssv[indexi].masv==masvdk){
    	        			cout<<"Ma mon hoc dang ky:";getline(cin,mamondk);
    	        		    if(dieukienthem(masvdk,chon,mamondk)){
    			        	  for(int indexj=0;indexj<j;indexj++){
    			  	        	  if(dsmh[indexj].mamh==mamondk){
    			  	        	  	  int sl=qlBDK[k].get_sl()+1;
    			  	        	      string str=auto_id(k+1);
    			  	        	  	  qlBDK[k].nhap_ds_dk(dssv[indexi],dsmh[indexj],chon,str);
    			  	        	  	  qlBDK[k].set_sl(sl);
    			  	        	  	  k++;
    			  	        	  	  break;
    			  	        	  }
    			  	          }
    		        		}
    		        	
            	      break;
            		}
    	        }       
     	 }
     	 void In_Ds()
     	 {
     	 	for(int index=0;index<k;index++){
     	 	qlBDK[index].in_ds_dk();
            cout<<"\n";
            }
     	 }
     	 void sapxep_ten()
     	 {
     	 	for(int indexi=0;indexi<k-1;indexi++)
     	 	{
    	 	 	for(int indexj=indexi+1;indexj<k;indexj++)
    	 	 	{
    	 	 		string str=qlBDK[indexi].getSV().hoten;
    	 	 		string cstr=qlBDK[indexj].getSV().hoten;
    	 	        if(str.compare(cstr)==1)
    	 	 		{
    		 	 		BDK temp=qlBDK[indexi];
    		 	 		qlBDK[indexi]=qlBDK[indexj];
    		 	 		qlBDK[indexj]=temp;
    		 	 	}
    	 	 	}
    	 	 }
        }
     
     	
    main(){
       int chon=1;
       while(chon){
           cout<<"\nQUAN LY DANG KY HOC THEO TIN CHI";
           cout<<"\n 1. Nhap danh sach mon hoc";
           cout<<"\n 2. In danh sach mon hoc";
           cout<<"\n 3. Nhap danh sach sinh vien";
           cout<<"\n 4. In danh sach sinh vien";
           cout<<"\n 5. Them sinh vien dang ky";
           cout<<"\n 6. In danh sach sinh vien dang ky";
           cout<<"\n 7. Sap xep Bang dang ky";
           cout<<"\n 8. Danh sach lop hoc";
           cout<<"\n 0. Thoat";
          
           cout<<"\n   Chon: "; cin>>chon;
           switch(chon){
           	  case 1: Nhap_Mon_Hoc();break;
           	  case 2:In_Mon_Hoc();break;
           	  case 3:Nhap_Sinh_Vien();break;
    		  case 4:In_Sinh_Vien();break;
              case 5:Them();break;
              case 6:In_Ds();break;
              case 7: 
              		int chon1;
              		cout<<"\n  1. Theo ten sinh vien ";
              		cout<<"\n  2. Theo thoi gian dang ky";
              		cout<<"\n  Chon:";cin>>chon1;
              		switch(chon1){
    		          	case 1:sapxep_ten();In_Ds(); break;
    		          //	case 2:sapxep_sl();In_Ds_Muon();break;
    		          } 
                    break;
             // case 8:timkiem();break;
           }
       }
       getch();
    }

Các đề tài tương tự

  1. Trả lời: 0
    Bài viết cuối: 22-06-2012, 08:57 PM
  2. Trả lời: 0
    Bài viết cuối: 22-06-2012, 08:50 PM
  3. Trả lời: 0
    Bài viết cuối: 22-06-2012, 07:52 PM
  4. Trả lời: 0
    Bài viết cuối: 22-06-2012, 07:50 PM
  5. Trả lời: 0
    Bài viết cuối: 22-06-2012, 07:49 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn