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

Đề tài: Ghi ra tệp danh sách quản lý sinh viên trong C++?

  1. #1
    Ngày gia nhập
    12 2011
    Bài viết
    1

    Mặc định Ghi ra tệp danh sách quản lý sinh viên trong C++?

    Các bạn xem cho mình đoạn code này, mình ghi tệp thế này đã đúng chưa vậy, vẫn không chạy dc à.

    C Code:
    1. #include <iostream.h>
    2. #include <conio.h>
    3. #include <fstream.h>
    4.  
    5. using namespace std;
    6.        
    7.  main()
    8. {
    9.  struct
    10.        {
    11.         char ht[25];
    12.         float t,l,h,td;
    13.        }
    14.  ts[50],tg;
    15.     int   n,i,j;
    16.     cout << " So thi sinh: " ;
    17.     cin   >> n ;
    18.     for (i=1;i<=n;++i)
    19.     {
    20.         cout << "\n Thi sinh " << i ;
    21.         cout << "\n Ho ten: "  ;
    22.         cin.ignore(1);
    23.         cin.get(ts[i].ht,25) ;
    24.         cout << "Cac diem toan, ly, hoa: ";
    25.         cin >> ts[i].t >> ts[i].l >> ts[i].h ;
    26.         ts[i].td = ts[i].t + ts[i].l + ts[i].h ;
    27.     }
    28.     for (i=1;i<=n-1;++i)
    29.     for (j=i+1;j<=n;++j)
    30.     if (ts[i].td < ts[j].td )
    31.        {
    32.         tg=ts[i];
    33.         ts[i]=ts[j];
    34.         ts[j]=tg;
    35.        }            
    36.     cout << "\nDanh sach thi sinh sau khi sap xep " ;
    37.     for (i=1;i<=n;++i)
    38.         {
    39.             cout << "\n Ho ten: " << ts[i].ht;
    40.             cout << "   Tong diem: "  << ts[i].td;
    41.         }
    42. ofstream ghitep("sinh vien.txt",ios::out|ios::binary);
    43. for (i=1;i<=n;i++)
    44. {
    45. ghitep<<"\n Ho ten: "<<ts[i].ht;
    46. ghitep<<"\n Tong diem: "<<ts[i].td;
    47. }            
    48. ghitep.close();        
    49. getch();
    50. }

  2. #2
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    bỏ khai báo struct ra ngoài hàm main rồi thử lại xem
    HT117-5277

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

    C Code:
    1. #include <iostream.h>
    2. #include <conio.h>
    3. #include <fstream.h>
    4.  
    5. using namespace std;
    6.  struct
    7.  main()
    8. {
    9.  
    10.        {
    11.         char ht[25];
    12.         float t,l,h,td;
    13.        }
    14.  ts[50],tg;
    15.     int   n,i,j;
    16.     cout << " So thi sinh: " ;
    17.     cin   >> n ;
    18.     for (i=1;i<=n;++i)
    19.     {
    20.         cout << "\n Thi sinh " << i ;
    21.         cout << "\n Ho ten: "  ;
    22.         cin.ignore(1);
    23.         cin.get(ts[i].ht,25) ;
    24.         cout << "Cac diem toan, ly, hoa: ";
    25.         cin >> ts[i].t >> ts[i].l >> ts[i].h ;
    26.         ts[i].td = ts[i].t + ts[i].l + ts[i].h ;
    27.     }
    28.     for (i=1;i<=n-1;++i)
    29.     for (j=i+1;j<=n;++j)
    30.     if (ts[i].td < ts[j].td )
    31.        {
    32.         tg=ts[i];
    33.         ts[i]=ts[j];
    34.         ts[j]=tg;
    35.        }            
    36.     cout << "\nDanh sach thi sinh sau khi sap xep " ;
    37.     for (i=1;i<=n;++i)
    38.         {
    39.             cout << "\n Ho ten: " << ts[i].ht;
    40.             cout << "   Tong diem: "  << ts[i].td;
    41.         }
    42. ofstream ghitep("sinhvien.txt",ios::out|ios::binary);
    43. for (i=1;i<=n;i++)
    44. {
    45. ghitep<<"\n Ho ten: "<<ts[i].ht;
    46. ghitep<<"\n Tong diem: "<<ts[i].td;
    47. }            
    48. ghitep.close();        
    49. getch();
    50. }

  4. #4
    Ngày gia nhập
    07 2011
    Bài viết
    8

    cái này ghi file theo C, Bạn coi lại hàm struct đi nhé

    Mình làm bài này rồi trên C thôi

    Code:
    #include<conio.h>
    #include<stdio.h>
    #include<iostream.h>
    #include<stdlib.h>
    #include<alloc.h>
    #include<string.h>
    #include<dos.h>
    #include<ctype.h>
    
    #define Max 50
    
    const soitems=12;
    
    const dong =4;
    const cot =12;
    
    const lines=4;
    const colums=20;
    
    const UP =72;
    const DOWN=80;
    
    const line=4;
    const colum=10;
    /////////////////////////ve trang tri///////////////////////////////////////////////////////
    void Normal() {
    textbackground(0); textcolor(10);
    				}
    void HighLight() {
    textbackground(10); textcolor(15);
    }
    void ve_ngang(int n,int x,int y)
    	{
        for(int i=x;i<=n;i++)
        {
         gotoxy(i,y);
         		printf("=");
          }
       }
    void ve_doc(int n,int y,int x)
    	{
        for(int i=y;i<=n;i++)
        {
         gotoxy(x,i);
         		printf("||");
          }
       }
    
    ////////////////////////thong bao////////////////////////////////////////////
    void delay(int n)
    		{
           for(int i=0;i<=n*90000;i++);
          }
    void thong_bao(char *str)
    	 {
    	 ve_ngang(65,7,22);
        ve_ngang(65,7,25);
    gotoxy(55,22);
        cprintf("Thong bao");
      	 ve_doc(23+1,23,7);
    	 ve_doc(23+1,23,64);
           	gotoxy(10,23);cprintf("%s",str);
             delay(100000);
          	gotoxy(10,23); clreol();
    	 ve_doc(23+1,23,64);
       }
    int xac_dinh_nhap_lai()
    		{       int kt,d=0;
    gotoxy(10,23);
    							cprintf("Ban co muon tiep tuc (Co: C)/(Khong:K): ");
    gotoxy(51,23);
                    			kt=getch();
                    if(kt=='C'||kt=='c')
                          {
                             d=1;
                          	 }
          gotoxy(10,23);clreol();
          ve_doc(23+1,23,64);
    
          return d;
          }
    //////////////////////////kiem tra so////////////////////////////////////
    int kt_so(char chu[])
    		{
             if( chu[0]== NULL || (chu[0]=='0'&& chu[1]== NULL)||chu[0]==' ')
                    {
                    thong_bao("Khong co ky tu, nhap lai");
                    return 1;
                    }
             else{
    
             for(int i=0;i<(int)strlen(chu);i++)
              if(isdigit(chu[i])==0) // tra ve 0 neu ko nam trong 0-9
                    {
                    thong_bao("Nhap sai, phai nhap so");
                    return 1;
                    }
                }
             return 0;
          }
    //////////////////////////kiem tra chu////////////////////////////////////////////////
    int kt_chu(char chu[])
    		{
             if( chu[0]== NULL || (chu[0]=='0'&& chu[1]== NULL)||chu[0]==' ')
                    {
                    thong_bao("Khong co ky tu, nhap lai");
                    return 1;
                    }
             else{
              		for(int i=0;i<(int)strlen(chu);i++)
              			if( (chu[i]>='0')&& (chu[i]<= '9') )
                    	{
                    		thong_bao("Kiem tra lai,chu phai co ky tu va khong duoc co so");
                       	return 1;
                    	}
                }
             return 0;
          }
    int kt_chu2(char chu[])
    		{
             if( chu[0]== NULL || (chu[0]=='0'&& chu[1]== NULL)||chu[0]==' ')
                    {
                    thong_bao("Kiem tra lai, phai co ky tu");
                       return 1;
                    }
             return 0;
          }
    
    
    ////////////////////////////danh sach mon hoc/////////////////////////////////////////////////
    typedef struct
    	{
         char ma_mh[30];
         char ten_mon_hoc[50];
         int STLT;
         int STTH;
    
       }mon_hoc;
    typedef struct
    	{
         int nh;
         mon_hoc mh[Max];
       }list_mon_hoc;
    
    int ktra_mon_hoc_trung(char ma_mon_hoc[],list_mon_hoc &m_hoc)
    	{
       	int k=0;
         for(int i=0;i<m_hoc.nh;i++)
         		{
              	if(strcmpi(m_hoc.mh[i].ma_mh,ma_mon_hoc)==0)
                  {	thong_bao("Ma mon hoc trung, Nhap lai");  k=1;}
             }
         if(k==0){thong_bao("Tiep tuc ");}
         return k;
       }
    
    int ktra_ma_mon_hoc(char ma[],list_mon_hoc &m_hoc)
         {
           int k=0;
           for(int i=0;i<m_hoc.nh;i++)
         		{
              	if(strcmpi(m_hoc.mh[i].ma_mh,ma)==0)
                  {	thong_bao("Tiep tuc");  k=1;}
             }
         if(k==0){thong_bao("Ma mon hoc sai, nhap lai");}
         return k;
         }
    void ds_mon_hoc(list_mon_hoc &m_hoc)
    	{
    
       	int i=0;
          m_hoc.nh=0;
      do{
          clrscr();
          char ma[30]="";
          int z;
    
    gotoxy(colum+5,line+2);
         cout<<"Ma mon hoc:";
    gotoxy(colum+4,line+4);
         cout<<"Ten mon hoc:";
    gotoxy(colum,line+6);
         cout<<"So tiet ly thuyet: ";
    gotoxy(colum,line+8);
         cout<<"So tiet thuc hanh: ";
    
         fflush(stdin);
    
    gotoxy(colum+18,line+2);
              gets(ma);
    
             if(kt_chu2(ma)==1) {continue; }
    
             else {
    			z=ktra_mon_hoc_trung(ma,m_hoc);
    
             if(z==1) { continue; }
    
             if(z==0)
              	{
    
                	strcpy(m_hoc.mh[i].ma_mh,ma);
             //////////////////////////////////////////////
              goto ten_mh;
         ten_mh:
                  char ten[30]="";
    gotoxy(colum+18,line+4);
              		gets(ten);
               if(kt_chu(ten)==1)
               			{
                         gotoxy(colum+18,line+4); clreol;
                         goto ten_mh;
                      }
    
               else {   strcpy(m_hoc.mh[i].ten_mon_hoc,ten); }
    
             /////////////////////////////////////////////////
                goto lyth;
             lyth:
                    char lt[5]="";
    
    gotoxy(colum+18,line+6);
                   gets(lt);
                  if(kt_so(lt)==1) {
                                     gotoxy(colum+18,line+6);clreol();
                                     goto lyth;
                  							}
                  else{  m_hoc.mh[i].STLT=atoi(lt); }
              ////////////////////////////////////////////////
                   goto thuc_hanh;
             thuc_hanh:
                    char th[5]="";
    
    gotoxy(colum+18,line+8);
                   gets(th);
                  if(kt_so(th)==1) {
                                     gotoxy(colum+18,line+6);clreol();
                                     goto thuc_hanh;
                  							}
                  else{  m_hoc.mh[i].STTH=atoi(th); }
    
                 m_hoc.nh++;
                 i++;
             	 }
             if(xac_dinh_nhap_lai()==0) {return;}
             }
           }while(1);
       }
    ////////////////////////////////them mon hoc//////////////////////////////////////////////////
    void them_mon_hoc(list_mon_hoc &p)
    	{
       	int i=0,z;
    
      do{
          clrscr();
          if(p.nh==Max) {thong_bao("Danh sach day "); return;}
    
          char ma[30]="";
    gotoxy(colum,line);
         cout<<"Them mon hoc";
    
    gotoxy(colum+5,line+2);
         cout<<"Ma mon hoc:";
    gotoxy(colum+4,line+4);
         cout<<"Ten mon hoc:";
    gotoxy(colum,line+6);
         cout<<"So tiet ly thuyet: ";
    gotoxy(colum,line+8);
         cout<<"So tiet thuc hanh: ";
    
         fflush(stdin);
    
    gotoxy(colum+19,line+2);
              gets(ma);
    
             if(kt_chu2(ma)==1) {continue; }
    
         else {
             		z=ktra_mon_hoc_trung(ma,p);
    
             		if(z==1) { continue; }
    
             		if(z==0)
              			{
                  			p.mh[p.nh]=p.mh[i];
                  			p.nh++;
                			strcpy(p.mh[i].ma_mh,ma);
       /////////////////////////////////////////////////
          goto ten_mh;
         ten_mh:
                  char ten[30]="";
    gotoxy(colum+19,line+4);
              		gets(ten);
               if(kt_chu(ten)==1)
               			{
                         gotoxy(colum+19,line+4); clreol();
                         goto ten_mh;
                      }
              else {   strcpy(p.mh[i].ten_mon_hoc,ten); }
        ////////////////////////////////////////////////
               goto lyth;
             lyth:
                    char lt[5]="";
    
    gotoxy(colum+19,line+6);
                   gets(lt);
                  if(kt_so(lt)==1) {
                                     gotoxy(colum+19,line+6);clreol();
                                     goto lyth;
                  							}
                  else { p.mh[i].STLT=atoi(lt); }
              ////////////////////////////////////////////////
                   goto thuc_hanh;
             thuc_hanh:
                    char th[5]="";
    
    gotoxy(colum+19,line+8);
                   gets(th);
                  if(kt_so(th)==1) {
                                     gotoxy(colum+19,line+8);clreol();
                                     goto thuc_hanh;
                  							}
                  else {  p.mh[i].STTH=atoi(th); }
              //////////////////////////////////////////////
    
                 i++;
             if(xac_dinh_nhap_lai()==0) {return;}
                   }
                }
           }while(1);
       }
    
    /////////////////////////////in danh sach mon hoc//////////////////////////////////////////////////
    void in_mon_hoc(list_mon_hoc &p)
    		{
             clrscr();
              int y=2;
        gotoxy(colums-11,lines);
          	cout<<"Ma mon hoc";
        gotoxy(colums+5,lines);
             cout<<"Ten mon";
        gotoxy(colums+20,lines);
             cout<<"STLT";
        gotoxy(colums+29,lines);
             cout<<"SLTH";
    
            for(int i=0;i<p.nh;i++)
            		{
            gotoxy(colums-8,lines+y);
                  printf("%s",p.mh[i].ma_mh);
            gotoxy(colums+3,lines+y);
                  printf("%s",p.mh[i].ten_mon_hoc);
            gotoxy(colums+21,lines+y);
                  printf("%d",p.mh[i].STLT);
            gotoxy(colums+30,lines+y);
                  printf("%d",p.mh[i].STTH);
                    y+=2;
                }
             getch();
    
          }
    ///////////////////////////////danh sach Lop//////////////////////////////////////////////////
    typedef struct
    		{
          	char ma_lop[30];
             char ten_lop[30];
          }lop;
    typedef struct
    		{
           	int nlop;
             lop mlop[Max];
          }list_lop;
    int ktra_lop_trung(char ma[],list_lop &lp)
     			{
             	int i=0;
              	for(int j=0;j<lp.nlop;j++)
                	{
                    if(strcmpi(ma,lp.mlop[j].ma_lop)==0)
                    	{thong_bao("Ma lop trung, Nhap lai "); i=1;}
    
                   }
                 if(i==0){thong_bao("Tiep tuc");}
              return i;
             }
    void ds_lop(list_lop &lp)
    {
          int k=0;
          lp.nlop=0;
      do{
             clrscr();
             int z;
          	char ma[30]="";
    gotoxy(colum,line+2);
    		cout<<"Nhap ma lop: ";
    gotoxy(colum,line+4);
          cout<<"Ten cua lop: ";
    
    
    gotoxy(colum+14,line+2);   fflush(stdin);
                      gets(ma);
           if(kt_chu(ma)==1) {continue; }
    
           else{
    		z=ktra_lop_trung(ma,lp);
    
          if(z==1) { continue; }
    
          if(z==0)
          			{
                       fflush(stdin);
                       strcpy(lp.mlop[k].ma_lop,ma);
        ///////////////////////////////////
    goto tenlop;
         tenlop:
                  char ten[30]="";
    gotoxy(colum+19,line+4);  fflush(stdin);
              		gets(ten);
               if(kt_chu(ten)==1)
               			{
                         gotoxy(colum+19,line+4); clreol();
                         goto tenlop;
                      }
              else {   strcpy(lp.mlop[k].ten_lop,ten); }
    						lp.nlop++;
              			k++;
                    if(xac_dinh_nhap_lai()==0) {return;}
                   }
                }
          }while(1);
    }
    /////////////////////////////them lop/////////////////////////////////////
    void them_ds_lop(list_lop &lp)
    {
          int k=0;
      do{
             clrscr();
             if(lp.nlop==Max) {thong_bao("Danh sach day "); return;}
    
          	char ma[30]="";
             int z;
    gotoxy(colum,line);
          cout<<"Them lop";
    gotoxy(colum,line+2);
    		cout<<"Nhap ma lop: ";
    gotoxy(colum,line+4);
          cout<<"Ten cua lop: ";
    
    
    gotoxy(colum+14,line+2);   fflush(stdin);
                      gets(ma);
    
           if(kt_chu2(ma)==1) {continue; }
    
          else {
          z=ktra_lop_trung(ma,lp);
    
          if(z==1) { continue; }
    
          if(z==0)
           			{
                        lp.mlop[lp.nlop]=lp.mlop[k];
                  			lp.nlop++;
           /////////////////////////////////////////////
                       strcpy(lp.mlop[k].ma_lop,ma);
             /////////////////////////////////////////
               goto tenlop;
         tenlop:
                  char ten[30]="";
    gotoxy(colum+14,line+4);  fflush(stdin);
              		gets(ten);
               if(kt_chu(ten)==1)
               			{
                         gotoxy(colum+14,line+4); clreol();
                         goto tenlop;
                      }
              else {   strcpy(lp.mlop[k].ten_lop,ten); }
    
              //////////////////////////////////////////////
              			k++;
                   if(xac_dinh_nhap_lai()==0) {return;}
                   }
              }
          }while(1);
    }
    
    ////////////////////////////in danh sach lop////////////////////////////////////////////////////////
    void in_lop(list_lop &p)
    		{
             clrscr();
             int y=2;
            gotoxy(colums+3,lines);
          	cout<<"Ma lop";
            gotoxy(colums+19,lines);
             cout<<"Ten lop";
    
            for(int i=0;i<p.nlop;i++)
            		{
                 gotoxy(colums+3,lines+y);
                  printf("%s",p.mlop[i].ma_lop);
                 gotoxy(colums+20,lines+y);
                  printf("%s",p.mlop[i].ten_lop);
                    y+=2;
                }
             getch();
           }
    /////////////////////////////////////danh sach sinh vien////////////////////////////////////////////
    typedef struct
    		{
            char masv[30];
            char ho[30];
            char ten[30];
            char ma_lop[30];
            int phai;
          }sinh_vien;
    struct node_sv
    		{
           sinh_vien info;
           struct node_sv *next;
          };
    typedef node_sv *NODE_SV;
    
    NODE_SV First = NULL;
    
    NODE_SV New_node(void)
    		{
           NODE_SV	p;
           p=(NODE_SV)malloc(sizeof(struct node_sv));
           return (p);
          }
    void clear_sinh_vien(NODE_SV &First)
    		{
             NODE_SV p=First;
             if(p==NULL)
             	{thong_bao("Khong co phan tu de xoa"); exit(0);}
              while(First!=NULL)
              		{
                      p=First;
                      First=First->next;
                      free(p);
                   }
          }
    void Delete_First(NODE_SV &First)
    		{
           NODE_SV p;
           if(First==NULL)
           	thong_bao("Khong co phan tu de xoa");
           else
           	{
              p=First;
              First=p->next;
              free(p);
             }
          }
    
    void insert_First(NODE_SV &First,sinh_vien x)
          {
           	NODE_SV p;
             p=New_node();
             p->info=x;
             p->next=First;
             First=p;
          }
    int ktra_ma_sv_trung(int &k,char ma[],NODE_SV p)
    		{
            while(p!=NULL)
            		{
                 if(strcmpi(p->info.masv,ma)==0)
                 		{  thong_bao("Ma sinh vien trung, nhap lai"); k=1;}
    
                 p=p->next;
                }
            if(k==0){thong_bao("Tiep tuc ");}
           return k;
          }
    int ktra_ma_lop(char ma[],list_lop lp)
     			{
                int i=0;
              	for(int j=0;j<lp.nlop;j++)
                	{
                    if(strcmpi(ma,lp.mlop[j].ma_lop)==0)
                    	{thong_bao("Tiep tuc"); i=1;}
    
                   }
                 if(i==0){thong_bao("Ma lop sai, Nhap lai");}
              return i;
             }
    
    void tao_ds_sinh_vien(NODE_SV &u,sinh_vien &sv,list_lop &lp)
    		{
    
             char ma[30];
          do{
           	clrscr();
             int k=0;
             NODE_SV p=u,q=u;
    
    gotoxy(colum+5,line-2);
             cout<<"Nhap";
    gotoxy(colum,line);
             cout<<"Ma sv: "; fflush(stdin);
    gotoxy(colum,line+2);
             cout<<"Ho: ";
    gotoxy(colum,line+4);
             cout<<"Ten: ";
    gotoxy(colum,line+6);
             cout<<"Ma lop: ";
    gotoxy(colum,line+8);
             cout<<"Phai: ";
    gotoxy(colum-7,line+10); textcolor(14);
             cout<<"Chu y: Phai (Nu la 0,Nam la 1): ";
    
                fflush(stdin);
    gotoxy(colum+10,line);
    			gets(ma);
    
             if(kt_chu2(ma)==1) {continue; }
    
             else{
             if(p!=NULL){ktra_ma_sv_trung(k,ma,q);}
    
             if(k==1){ continue; }
    
             if(k==0)
             	{
    
                strcpy(sv.masv,ma);
                /////////////////////////////////////////////
                goto  ho;
            ho:
                  char ho[30]="";
    gotoxy(colum+10,line+2);
             		gets(ho);
                 if(kt_chu(ho)==1)
                 		{
                         gotoxy(colum+10,line+2); clreol();
                         goto ho;
                       }
                 else {   strcpy(sv.ho,ho); }
           ////////////////////////////////////////////////////
              goto ten;
          ten:
          			char  ten[30]="";
    gotoxy(colum+10,line+4);
             	gets(ten);
                 if(kt_chu(ten)==1)
                 		{
                         gotoxy(colum+10,line+4); clreol();
                         goto ten;
                       }
                 else {   strcpy(sv.ten,ten); }
            /////////////////////////////////////////////////////
        goto loop;
       loop:
             char lop[30]="";
    gotoxy(colum+10,line+6);
             			gets(lop);
             if(kt_chu2(lop)==1) {gotoxy(colum+10,line+6); clreol();goto loop;}
    
             if(ktra_ma_lop(lop,lp)==0)
                 {   gotoxy(colum+10,line+6); clreol();
                 		goto loop; }
    
             else {strcpy(sv.ma_lop,lop);   }
    
    
              //////////////////////////////////////////////////////
          goto phai;
       phai:
                char pi[1]="";
    
    gotoxy(colum+10,line+8); fflush(stdin);
             			gets(pi);
    
                   if(pi[0]!='1' &&pi[0]!='0')
                   		{ thong_bao("Phai nhap so: 0 (Nu) hoac 1 (Nam)");
                   		gotoxy(colum+10,line+8); clreol();goto phai;
                           }
                   else {sv.phai=atoi(pi); }
    
    
             			insert_First(First,sv);
                      }
                        }
               if(xac_dinh_nhap_lai()!=1){return;}
            }while(1);
          }
    ///////////////////////////////////in danh sach sinh vien////////////////////////////////////////
    void ds_1_node_sinh_vien(NODE_SV p,int y)
    	{
    
    gotoxy(colums-8,lines+y);
          puts(p->info.masv);
    gotoxy(colums+3,lines+y);
          puts(p->info.ho);
    gotoxy(colums+13,lines+y);
          puts(p->info.ten);
          if(p->info.phai==1){gotoxy(colums+32,lines+y);cout<<"Nam";}
          if(p->info.phai==0){gotoxy(colums+32,lines+y);cout<<"Nu";}
    gotoxy(colums+44,lines+y);
          puts(p->info.ma_lop);
    
       }
       ////////////////////////////////////////////
    void in_ds_sv(NODE_SV First)
    	{
          goto quay_lai3;
      quay_lai3:
          clrscr();
        	NODE_SV p;
          p=First;
          char ma[30];
          int y=5;
          if(p==NULL)
          		{thong_bao("Ko co phan tu"); return;}
          else{
    gotoxy(colums,lines);
          cout<<"Nhap ma sinh vien: ";fflush(stdin);
          gets(ma);
    gotoxy(colums-11,lines+3);
          cout<<"Ma sinh vien"; fflush(stdin);
    gotoxy(colums+5,lines+3);
          cout<<"Ho";
    gotoxy(colums+16,lines+3);
          cout<<"Ten";
    gotoxy(colums+29,lines+3);
    		cout<<"Gioi tinh";
    gotoxy(colums+44,lines+3);
          cout<<"Ma Lop";
    
          while(p!=NULL)
          		{
                 if(strcmpi(p->info.masv,ma)==0)
                   { ds_1_node_sinh_vien(p,y);   y+=2;}
                     p=p->next;
                }
         }
         getch();
         if(xac_dinh_nhap_lai()==1) {  goto quay_lai3; }
    
       }
    
    void in_ds_lop(NODE_SV First)
    	{
          goto quay_lai4;
       quay_lai4:
          clrscr();
        	NODE_SV p;
          p=First;
          char ma[30];
          int y=5;
          if(p==NULL)	{thong_bao("Ko co phan tu"); return;}
          else{
    gotoxy(colums-8,lines);
          cout<<"Nhap ma lop: ";fflush(stdin);
          gets(ma);
    gotoxy(colums-11,lines+3);
          cout<<"Ma sinh vien"; fflush(stdin);
    gotoxy(colums+5,lines+3);
          cout<<"Ho";
    gotoxy(colums+16,lines+3);
          cout<<"Ten";
    gotoxy(colums+29,lines+3);
    		cout<<"Gioi tinh";
    gotoxy(colums+44,lines+3);
          cout<<"Ma Lop";
          while(p!=NULL)
          		{
                 if(strcmpi(p->info.ma_lop,ma)==0)
                   { ds_1_node_sinh_vien(p,y);  y+=2;}
                     p=p->next;
                }
         }
         getch();
         if(xac_dinh_nhap_lai()==1) {  goto quay_lai4; }
    
       }
    
    ///////////////////////////////////danh sach diem/////////////////////////////////////////////
    typedef struct
    		{
           char m_sv[30];
           char m_mh[30];
           int lan;
           int d_mon;
          }diem;
    struct node_diem
    		{
           diem info;
           struct node_diem *next;
          };
    typedef node_diem *NODE_diem;
    
    NODE_diem Head = NULL;
    
    NODE_diem New_diem(void)
    		{
           NODE_diem	p;
           p=(NODE_diem)malloc(sizeof(struct node_diem));
           return (p);
          }
    void insert_Head(NODE_diem &Head,diem x)
          {
           	NODE_diem p;
             p=New_diem();
             p->info=x;
             p->next=Head;
             Head=p;
          }
    void Delete_Head(NODE_diem &Head)
    		{
           NODE_diem p;
           if(Head==NULL)
           	thong_bao("Khong co phan tu de xoa");
           else
           	{
              p=Head;
              Head=p->next;
              free(p);
             }
          }
    
    void clear_diem(NODE_diem &Head)
    		{
             NODE_diem p=Head;
             if(p==NULL)
             	{thong_bao("Khong co phan tu de xoa"); exit(0);}
    
              while(Head!=NULL)
              		{
                      p=Head;
                      Head=Head->next;
                      free(p);
                   }
          }
    int ktra_ma_sv(int &k,char ma[],NODE_SV p)
    		{
            while(p!=NULL)
            		{
                 if(strcmpi(p->info.masv,ma)==0)
                 		{  thong_bao("Tiep tuc"); k=1;}
    
                 p=p->next;
                }
            if(k==0){thong_bao("Ma sinh vien sai, nhap lai");}
           return k;
          }
    
    void tao_ds_diem(NODE_diem &Head,NODE_SV First,diem &d,list_mon_hoc &m_hoc)
    		{
    
    	do{
             clrscr();
             int k=0;
             char ma[30]="";
             NODE_SV q=First;
    
             clrscr();
    gotoxy(colum+5,line-2);
             cout<<"Nhap";
    gotoxy(colum,line);
             cout<<"Ma sinh vien: ";
    gotoxy(colum,line+2);
             cout<<"Ma mon hoc: ";
    gotoxy(colum,line+4);
             cout<<"Lan thi: ";
    gotoxy(colum,line+6);
             cout<<"Diem: ";
    
    
             fflush(stdin);
    gotoxy(colum+14,line);
             		gets(ma);
    
    		ktra_ma_sv(k,ma,q);
    
          if(k==0) { continue; }
    
          if(k==1)
    		{
               goto loop1;
          loop1:
                  char ma_mh[30]="";
    gotoxy(colum+14,line+2);
                    gets(ma_mh);
    
    		if(ktra_ma_mon_hoc(ma_mh,m_hoc)==0) {gotoxy(colum+14,line+2); clreol(); goto loop1; }
    		else {
    
             strcpy(d.m_sv,ma);
    
             strcpy(d.m_mh,ma_mh);
    
    gotoxy(colum+14,line+4);
             cin>>d.lan;
    gotoxy(colum+14,line+6);
             cin>>d.d_mon;
    
             	insert_Head(Head,d);
                 }
    
    
           if(xac_dinh_nhap_lai()!=1){return;}
    
           }
    
          }while(1);
        }
    ///////////////////////////////////in danh sach thi////////////////////////////////////////
    void in_ds_thi(NODE_SV First)
    	{
           goto quay_lai2;
       quay_lai2:
    
          clrscr();
        	NODE_SV p;
          int y=5;
          p=First;
          char ma[30];
    gotoxy(colums-8,lines);
          cout<<"Nhap ma lop: ";fflush(stdin);
          gets(ma);
    gotoxy(colums-11,lines+3);
          cout<<"Ma sinh vien"; fflush(stdin);
    gotoxy(colums+5,lines+3);
          cout<<"Ho";
    gotoxy(colums+16,lines+3);
          cout<<"Ten";
    gotoxy(colums+29,lines+3);
    		cout<<"Gioi tinh";
    gotoxy(colums+44,lines+3);
          cout<<"Ma Lop";
     while(p!=NULL)
          		{
                   if(strcmpi(p->info.ma_lop,ma)==0)
                    {  ds_1_node_sinh_vien(p,y);  y+=2; }
                   p=p->next;
                }
            getch();
            if(xac_dinh_nhap_lai()==1) {  goto quay_lai2; }
       }
    ///////////////////////////////////in bang diem mon/////////////////////////////////////
    void ds_1_node_diem(NODE_diem p,list_mon_hoc x,int y)
    		{
             for(int i=0;i<x.nh;i++)
                {
             		if(strcmpi(p->info.m_mh,x.mh[i].ma_mh)==0)
            {   gotoxy(colums-9,lines+y);
                      printf("%s",x.mh[i].ten_mon_hoc);   }
                }
        gotoxy(colums+6,lines+y);
             cout<<p->info.d_mon;
         gotoxy(colums+17,lines+y);
          	cout<<p->info.lan;
    
          }
    void in_bang_diem(NODE_diem Head,list_mon_hoc &x)
    	{
          goto quay_lai;
       quay_lai:
          clrscr();
        	NODE_diem p;
          p=Head;
          char ma[30];
          int y=5;
          if(p==NULL)	{thong_bao("Ko co phan tu"); return;}
          else{
    gotoxy(colums-8,lines);
          cout<<"Nhap ma sinh vien: ";
          gets(ma);
    gotoxy(colums-10,lines+3);
           printf("Mon hoc");
    gotoxy(colums+5,lines+3);
          printf("Diem");
    gotoxy(colums+15,lines+3);
          printf("Lan thi");
    
          while(p!=NULL)
          		{
                  if(strcmpi(p->info.m_sv,ma)==0)
                    {  ds_1_node_diem(p,x,y); y+=2;  }
                    p=p->next;
                }
            getch();
          }
           if(xac_dinh_nhap_lai()==1) {  goto quay_lai; }
       }
    
    //////////////////////////////////////Save////////////////////////
    void save_sinh_vien(char *Name,NODE_SV First)
       {
           FILE *f;
           if((f=fopen(Name,"wb"))==NULL)
           	{ thong_bao("Ko the tao file ");exit(0);}
           NODE_SV p=First;
           while(p!=NULL)
           		{
                 fwrite(&p->info,sizeof(sinh_vien),1,f);
                 p=p->next;
                }
            fclose(f);
             thong_bao("Save thanh cong sv");
       }
    void save_diem(char *Name,NODE_diem Head)
       {
           FILE *f;
           if((f=fopen(Name,"wb"))==NULL)
           	{ thong_bao("Ko the tao file ");exit(0);}
           NODE_diem p= Head;
           while(p!=NULL)
           		{
                 fwrite(&p->info,sizeof(diem),1,f);
                 p=p->next;
                }
            fclose(f);
            thong_bao("Save thanh cong diem");
       }
    void save_mon_hoc(char *Name,list_mon_hoc &p)
           {
             FILE *f;
             f=fopen(Name,"wb");
             if(f== NULL)
             	{thong_bao("Ko the tao file "); exit(0);  }
    
              for(int i=0;i<p.nh;i++)
               {
              		fwrite(&p.mh[i],sizeof(mon_hoc),1,f);
                 }
              fclose(f);
               thong_bao("Save thanh cong mon hoc");
           }
    void save_lop(char *Name,list_lop &p)
           {
             FILE *f;
             f=fopen(Name,"wb");
             if(f== NULL)
             	{thong_bao("Ko the tao file "); exit(0);  }
    
              for(int i=0;i<p.nlop;i++)
               {
              fwrite(&p.mlop[i],sizeof(lop),1,f);
                 }
              fclose(f);
              thong_bao("Save thanh cong lop");
           }
    //////////////////////////////Load/////////////////////////////////////
    void load_sinh_vien(char *Name,NODE_SV &First)
             {
               clrscr();
               FILE *f;
               f=fopen(Name,"rb");
               if(f==NULL)
               		{ thong_bao("Ko the tao file "); exit(0);  }
    
               if(First!=NULL) {clear_sinh_vien(First); }
    
                   First=NULL;
    
                   sinh_vien x;
    
                   while(!feof(f))
                    	{
                            fread(&x,sizeof(sinh_vien),1,f);
                            insert_First(First,x);
                      }
                   fclose(f);
                   Delete_First(First);
                   thong_bao("Load sinh vien ");
              }
    void load_diem(char *Name,NODE_diem &Head)
             {
               clrscr();
               FILE *f;
               f=fopen(Name,"rb");
               if(f==NULL)
               		{ thong_bao("Ko the tao file "); exit(0);  }
    
               if(Head!=NULL) {clear_diem(Head); }
    
                   Head=NULL;
    
                   diem x;
    
                   while(!feof(f))
                    	{
                            fread(&x,sizeof(diem),1,f);
                            insert_Head(Head,x);
                      }
                   fclose(f);
                   Delete_Head(Head);
                   thong_bao("Load diem");
              }
    void load_mon_hoc(char *Name,list_mon_hoc &p)
    			{
               clrscr();
               FILE *f;int i=0;
             f=fopen(Name,"rb");
    
             if(f== NULL)
             	{thong_bao("Ko the tao file "); exit(0);  }
    
                  while(fread(&p.mh[i],sizeof(mon_hoc),1,f)!=0)
                        i++;
                  fclose(f);
                    p.nh=i;
                  thong_bao("Load mon hoc ");
             }
    void load_lop(char *Name,list_lop &p)
    			{
               clrscr();
               FILE *f;int i=0;
             f=fopen(Name,"rb");
    
             if(f== NULL)
             	{cout<<"Loi save";exit(0);  }
                  while(fread(&p.mlop[i],sizeof(lop),1,f)!=0)
                        i++;
                  fclose(f);
                    p.nlop=i;
                  thong_bao("Load lop ");
             }
    
    ////////////////////////////////////in Menu////////////////////////////////////////////////
    char td[soitems][100] = {  " 1. Nhap mon hoc ",
    									" 2. Nhap danh sach lop",
    									" 3. Nhap danh sach sinh vien ",
    									" 4. Nhap danh sach diem ",
    									" 5. Xem mon hoc",
                               " 6. Xem so lop",
                               " 7. Xem sinh vien",
                               " 8. In danh sach lop",
                               " 9. Xem bang diem",
                               "10. Save ",
                               "11. Load ",
                               "12. Ket thuc"
    								};
    
    int Menu(char td[][100])
    	{
        int ch;
        int n =soitems;
        int chon=0;
        Normal();
        clrscr();
        for(int i=0;i<n;i++)
        		{
               gotoxy(cot,dong+i);
               		cprintf("%s\n",td[i]);
             }
    	do
    			{  gotoxy(cot,dong+chon); HighLight(); cprintf("%s",td[chon]);
    				ch=getch();
    				if (ch==13) break;
    				if (ch==0)
    						ch =getch();
    				if (ch==UP)
    				{ gotoxy(cot,dong+chon); Normal(); cprintf("%s",td[chon]);
             chon --;
    				if ( chon ==-1) chon = n-1;
    				gotoxy(cot,dong+chon); HighLight(); cprintf("%s",td[chon]);
    
             }
    				else if (ch== DOWN)
    				{ 		gotoxy(cot,dong+chon); Normal(); cprintf("%s",td[chon]);
    						chon ++;
    						if ( chon ==n) chon = 0;
    						gotoxy(cot,dong+chon); HighLight(); cprintf("%s",td[chon]);
    				}
    		} while (1);
    return chon+1;
    }
    
    //////////////////////////////////////////////////////////////////////////////
    void main()
       {
        int chon;
        list_mon_hoc m_h;     m_h.nh=0;
        list_lop lp;	lp.nlop=0;
        sinh_vien sv;
        diem d;
    //    load_mon_hoc("d:\\du_lieu_C\\mon hoc.txt",m_h);
      //  load_lop("d:\\du_lieu_C\\lop.txt",lp);
        //load_sinh_vien("d:\\du_lieu_C\\sinh vien.txt",First);
        //load_diem("d:\\du_lieu_C\\diem.txt",Head);
    
        do {
         		Normal();
    			clrscr();
    			chon = Menu(td);
             Normal();
    			clrscr();
         switch(chon)
         		{
              case 1: { if(m_h.nh==0) {ds_mon_hoc(m_h); }
                        else { them_mon_hoc(m_h); }
                        break;
                        }
    
    
              case 2: { if(lp.nlop==0) {ds_lop(lp); }
                       	else  {them_ds_lop(lp);}
              				 break;
                        }
              ///////////////////////////////////////
              case 3:  tao_ds_sinh_vien(First,sv,lp);  break;
              case 4: tao_ds_diem(Head,First,d,m_h);break;
    
             /////////////////////
    
              case 5: in_mon_hoc(m_h);break;
              case 6: in_lop(lp); break;
             //////////////////////////////
              case 7: {in_ds_sv(First);break;}
    
              case 8: {in_ds_lop(First);break; }
    
              case 9: {in_bang_diem(Head,m_h);break;}
    
            ////////////////////////////////////////
              case 10:
              			{ save_mon_hoc("d:\\du_lieu_C\\mon hoc.txt",m_h);
                      	save_lop("d:\\du_lieu_C\\lop.txt",lp);
                      	save_sinh_vien("d:\\du_lieu_C\\sinh vien.txt",First);
           				  save_diem("d:\\du_lieu_C\\diem.txt",Head);
                        break;
                       }
    
    
              case 11:{  load_mon_hoc("d:\\du_lieu_C\\mon hoc.txt",m_h);
            					load_lop("d:\\du_lieu_C\\lop.txt",lp);
                          load_sinh_vien("d:\\du_lieu_C\\sinh vien.txt",First);
                          load_diem("d:\\du_lieu_C\\diem.txt",Head);
                          break;
                      }
                        }
        	}while(chon!=soitems);
    
       }

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

  1. Tìm kiếm trong danh sách sinh viên trả về 2 kết quả
    Gửi bởi corby112 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 21-11-2014, 06:10 PM
  2. Quản lí sinh viên bằng stack dùng danh sách liên kết. Làm sao để nhập nhiều sinh viên?
    Gửi bởi hoainamken trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 24-08-2011, 10:34 AM
  3. Bài tập quản lý sinh viên trong lập trình C#. Tìm kiếm sinh viên in ra cả danh sách?
    Gửi bởi anhduc12c5 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 24-08-2011, 08:32 AM
  4. Chương trình quản lí sinh viên viết trong visual c++ 2010. Lỗi không chạy khi in danh sách sinh viên theo năm
    Gửi bởi hikaru1015 trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 9
    Bài viết cuối: 03-06-2011, 09:31 AM
  5. Kỹ thuật C Quản lí Sinh Viên Bằng Danh Sách liên kết trong lập trình C
    Gửi bởi kitti trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 01-04-2011, 09:17 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