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

Đề tài: Lỗi trong BT lớn

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

    Mặc định Lỗi trong BT lớn

    đây là bt nhớn của em
    Chương trình quản lý vật tư với mọi đối tượng là 1 class
    Em ko fix được lỗi :((
    Mong được sự chỉ dẫn của mọi người
    Code đây ạh:


    Code:
    #include<stdafx.h>
    
    #include<iostream.h>
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>
    
    
    typedef unsigned char uchar; 
    
    
    
    class vattu
    {
    public:
    	int Mvattu;
    	char NSXvattu[20];
    	char Tenvattu[20];
    	char Ngaythangxuat[2];
    	int  Giatien;
    
    };
    public:
    int hienthi_menu()
    {
      int i;
      cout<<"\n Xin chao moi nguoi den voi chuong trinh quan ly vat tu! ";
      
      cout<<"\n 1: Nhap Vat tu";
      cout<<"\n 2: Them  Vat tu";
      cout<<"\n 3: Xoa Vat tu";
      cout<<"\n 4: Sap xep Vat tu theo ten";
      cout<<"\n 5: Tim kiem Vat tu";
      cout<<"\n 6: Luu danh sach Vat tu vao file";
      cout<<"\n 7: Doc danh sach Vat tu tu file";
      
      cout<<"\n 9: Ket thuc! ->|o|";
      cout<<"\n";
      cout<<"\n Day la nhung tien ich (tu 1->9):";
      cin>>i;
      return (i);
    };
    
    
    
    
    //////////////////QUAN LY////////////////////////////////////////////////////////////////////////
    
    
    class CQuanLy   
    {
    public:
    	CQuanLy(){n_kh=0;VT=new vattu[100];
    	}
    
    protected:
    public:
    	int n_vt;
        vattu *VT;
    
    public:
    	void nhapVT();
    	void themVT();
    	void xoaVT();
    	void sapxepVT();
    	void timkiemVT();
    
    	void luuDsVT_vaofile();
    	void docDsVT_tufile();
    	
    };
    
    void CQuanLy::themVT()
    {
      //printf("\n  THEM VAT TU THU [%d]",n_vt+1);
      cout<<"\n  THEM VAT TU THU ["<<n_vt+1<<"]";
      cout<<"\n  Ma VAT TU: ";
      cin>>VT[n_vt].Mvattu;
    
      cout<<"\n  Ten VAT TU: ";
      
      cin>>VT[n_vt].Tenvattu;
    
      cout<<"\n  Nha san xuat: ";
       
      cin>>VT[n_vt].NSXvattu;
    
      cout<<"\n  Ngay thang xuat suong: ";
       
      cin>>VT[n_vt].Ngaythangxuat;
    
      cout<<"\n  Tong so tien thanh toan: ";
      cin>>VT[n_vt].Giatien;
    
      n_vt++;
    }
    
    void CQuanLy::xoaVT()
    {
    	uchar i;
    	cout<<"\n  XOA VAT TU THU : ";
    	cin>>i;
        if(i>0 && i<n_vt-1)
    	for(int j=i-1;j<n_vt-1;j++)
    		VT[j]=VT[j+1];
    	cout<<"\n DA XOA VAT TU thu ["<<i<<"]...an phim bat ki de ve MENU...";
        cin>>i;
      n_vt--;
    }
    
    void CQuanLy::nhapVT()
    {
    	int n;
    	cout<<"\n So vat tu can nhap:";
    	cin>>n;
    	for(int i=0;i<n;i++)
    	{
    		themVT();
    	}
       cout<<"\n";
       
    }
    
    
    
    
    
    void layten(char *str_in,char *str_out,int &len_out) 
    {
    	uchar len=0;
    	len=strlen(str_in);
    	
    	uchar j=len;
    	while(str_in[j-1]!=' '&&j>0)j--;
    
        len_out=len-j;
    
      for(int k=j,c=0;k<len;k++,c++)
       { 
    	  str_out[c]=str_in[k];
          str_out[c+len_out]='\0';
       }
       
    }
    
    
    void CQuanLy::timkiemVT()
    {
    	char s_ten[10]; //ten vat tu can tim
    	char s_out[10]; //chuoi chua ten cua nhung vat tu trong danh sach
    
    	int l=0; //do dai cua ten cua moi vat tu trong danh sach
    	int res=0;//dem so luong vat tu co cung ten
    	 
    	int ds[255];//mang "ds" chua vi tri cua vat tu co cung ten trong danh sach
    
    	cout<<"\n Tim tat ca vat tu co ten la :";
    	cin>>s_ten; // luu ten can tim vao bien s_ten
      
        for(int i=1;i<=n_vt;i++) //kiem tra lan luot tu vat tu thu 1 -> het trong dah sach
    	{
    		layten(VT[i-1].Tenvattu,s_out,l);// lay ten va chua trong s_out,l: la do dai cua ten do		
    	    char *pdest; // con tro (pointer) tro den vi tri tim dc
    		//printf( "String to be searched:\n   %s\n",s_out);
     
    		pdest = strstr(s_out,s_ten );//tim kiem chuoi s_ten trong chuoi s_out
         if ( pdest != NULL && l==strlen(s_ten)) // if s_ten co trong s_out va do dai s_ten=do dai cua ten vat tu trong danh sach
            {
    	 	    ds[res]=i-1;
    			res++; //tang bien dem vat tu co cung ten
    		}
       else
            printf( "%s not found\n", s_ten );
    	}
      printf( "---------------------------------------\n" );
      cout<<"\n Tim duoc tat ca "<<res<<" vat tu.";
      //in danh sach vat tu co cung ten
      cout<<"\n\n Danh sach cu the la:\n\n";
      for(int i=0;i<res;i++)
      {
    	  printf( "(%d) Ma vat tu: %d \n Ten vat tu: %s\n NSX: %s\n ngayxuat: %s\n Tong so tien : %d\n"
    		 ,i+1
    		 ,VT[ds[i]].Mvattu
    		 ,VT[ds[i]].Tenvattu
    		 ,VT[ds[i]].NSXvattu
    		 ,VT[ds[i]].Ngaythangxuat
    		 ,VT[ds[i]].Giatien );
     printf( "----------------------------------------------------\n" );
      }
      
     
    }
    
    void CQuanLy::sapxepVT()
    {
     char si[10];
     char sj[10];
     int l;
     int temp;
     vattu temp;
    
    
      for(int i=0;i<n_vt-1;i++)
    	  for(int j=i+1;j<n_vt;j++)
    	  {
             layten(VT[i].Tenvattu,si,l);
    		 layten(VT[j].Tenvattu,sj,l);
    		    	
    		 if((int)si[0]>(int)sj[0])
    		 {
    		   temp =VT[i];
    		   VT[i]=VT[j];
    		   VT[j]=temp;
    		 }
    	  
    	  }
    
     cout<<"\n\n Danh sach sau khi sap xep :\n\n";
      for(int i=0;i<n_vt;i++)
      {
    	  printf( "(%d) Ma vat tu: %d \n Ten vat tu: %s\n NSX vat tu: %s\n ngay thang suat suong: %s\n Tong so tien : %d\n"
    		 ,i+1
    		 ,VT[i].Mvattu
    		 ,VT[i].Tenvattu
    		 ,VT[i].NSXvattu
    		 ,VT[i].Ngaythangxuat
    		 ,VT[i].Giatien );
     printf( "---------------------------------------------\n" );
      }
    
    }
    
    
    
    void CQuanLy::luuDsVT_vaofile()
    {
     FILE *pfile;
     pfile=fopen("vatu.dat","wb");
     if(pfile)
     {
        for(int i=0;i<n_vt;i++)
    	{
    		fprintf(pfile,"%d",VT[i].Mvattu);
    		fprintf(pfile,"%s",VT[i].Tenvattu);
    		fprintf(pfile,"%s",VT[i].NSXvattu);
    		fprintf(pfile,"%s",VT[i].Ngaythangxuat);
    		fprintf(pfile,"%d",VT[i].Giatien);
    	
    	}
     }
    fclose(pfile);
    
    }
    
    void CQuanLy::docDsVT_tufile()
    {
     FILE *pfile;
     pfile=fopen("vattu.dat","rb+");
     int i=0;
     if(!pfile)
     {
      fseek(pfile, 0L, SEEK_SET);
    
    
       while(!feof(pfile))
    	{
    		fscanf(pfile,"%d",&VT[i].Mvattu);
    		fscanf(pfile,"%s",VT[i].Tenvattu);
    		
    		fscanf(pfile,"%s",VT[i].NSXvattu);
    		fscanf(pfile,"%s",VT[i].Ngaythangxuat);
    		fscanf(pfile,"%d",&VT[i].Giatien);
    	    i++;
    	}
     }
     else 
    	 printf( " co loi khi mo file!");
     n_vt=i;
     printf( " NVT=%d",n_vt);
     //hien thi danh sach vat tu tu file
     for(int i=0;i<n_vt;i++)
     printf( "(%d) Mvattu: %d \n Ten vat tu: %s\n NSX vat tu: %s\n ngay thang xuat: %s\n Tong so tien : %d\n"
    		 ,i+1
    		 ,VT[i].Mvattu
    		 ,VT[i].Tenvattu
    		 ,VT[i].Ngaythangxuat
    		 ,VT[i].NSXvattu
    		 ,VT[i].Giatien );
     printf( "--------------------------------------------------------\n" );
    
    fclose(pfile);
    
    }
    
    
    /////////////////////////////////////////////////////////////////////////////////////////
    
    
    
    int main(void)
    {
     CQuanLy QL;
    
    
    while(1)
    {switch( hienthi_menu())
       {
       case 1: QL.nhapVT(); break;
       case 2:QL.themVT();break;
       case 3: QL.xoaVT();break;
       case 4:QL.sapxepVT(); break;
       case 5:QL.timkiemVT(); break;
       case 6:QL.luuDsVT_vaofile(); break;
       case 7:QL.docDsVT_tufile(); break;
       case 8: break;
       case 9:return 0;  ;break;
       default:return 0;
       }
    
    
    }
    
    
    
    getchar();
    
     return 0;
    }
    Lưu ý: Đưa code vào tag code nhé
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 06-12-2007 lúc 12:31 PM. Lý do: Cho code vào tag

  2. #2
    Ngày gia nhập
    11 2007
    Bài viết
    40

    Ặc sao không bỏ vào thẻ code vậy bạn. Thứ nữa là lần sau attach file cho tiện. Thấy dài thế này đọc oải lắm.

    Mà cuối cùng thì bạn bị lỗi gì mà không fix dc chứ. Bỏ cái code lên mà chả nói lý do bị lỗi thì sao giúp bạn dc.

  3. #3
    Ngày gia nhập
    11 2007
    Bài viết
    4

    upload thất bại nên bạn copy code vào chương trình hộ cái

    #include<stdafx.h> nghi cái thư viện đó sai

    chương trình ko chạy đc
    Đã được chỉnh sửa lần cuối bởi hung210987 : 06-12-2007 lúc 11:27 AM.

  4. #4
    Ngày gia nhập
    11 2007
    Bài viết
    40

    Bạn dùng IDE gì? Không chạy dc thì báo lỗi ntnào? Ghi rõ lên đi.

  5. #5
    Ngày gia nhập
    11 2007
    Bài viết
    4

    a ơi e bị lỗi code đó.nên khi chạy trên visual stadio6.0 nó báo lỗi.vì vậy a làm ơn xem lỗi ở chỗ nào và sửa giúp e dc ko?cám ơn a nhiều

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

    Mặc định Lỗi trong BT lớn

    toàn bộ dòng lỗi hiện ra khi chạy đó a (c:\program files\microsoft visual studio\myprojects\baitaplon\1.cpp(7) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
    Error executing cl.exe.)

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