30/09/2018, 17:22

Lỗi" the system can not find the file specified"

Đây là code của chương trình

#pragma once
#include<iostream>
using namespace std;

class phieu
{
private:
    int sp;
    int tkno,tkco;
    char htn[30];
    char htg[30];
    int ngay,thang;
    unsigned nam;
public:
    virtual void nhap()
    {
        cout<<"
 Nhap so phieu: "; cin>>sp;
    cout<<"
 Nhap ngay lap: ";
    cin>>ngay;
    cin>>thang;
    cin>>nam;
    cout<<"
 Nhap tk no: "; cin>>tkno;
    cout<<"
 Nhap tk co: "; cin>>tkco;
    }
    virtual void in()
    {
        cout<<"
 So phieu: "<<sp;
    cout<<"
 Ngay lap: "<<ngay;
    cout<<"
 Thang lap: "<<thang;
    cout<<"
 Nam lap: "<<nam;
    }
    int set_ngay()
    {
        return ngay;
    };
    int set_thang()
    {
        return thang;
    };
    unsigned set_nam()
    {
        return nam;
    };
    int kiemtra()
    {
        return 0;
    };
    float tong()
    {
        return 0;
    }
    virtual char* set_htg( )
    {
        return htg;
    }

    

    

    phieu(void);
    ~phieu(void);
};

class phieunhap:public phieu
{

    char nhapkho[10];
     char ddiem[30];
     float st;
     char htn[30];
public:
    void nhap()
     {
         phieu::nhap();
     cout<<"
 Nhap ho ten nguoi nhan: ";
     cin.ignore(1);
     cin.getline(htn,30);
     cout<<"
 Nhap tai kho: ";
     cin.getline(nhapkho,10);
     cout<<"
 Nhap ddia diem: ";
     cin.getline(ddiem,30);
     cout<<"
 Nhap so tien: ";
     cin>>st;
     }
     void in()
     {
         phieu::in();
     cout<<"
 Ho ten nguoi giao: "<<htn;
     cout<<"
 Nhap tai kho: "<<nhapkho;
     cout<<"
 Dia diem: "<<ddiem;
     cout<<"
 So tien: "<<st;
     }
     int kiemtra()
     {
     return 2;
     }
     float tong()
     {
     return st;
     }
      
    phieunhap(void);
    ~phieunhap(void);
};


class phieuchi:public phieu
{
    char dc[40];
   char lido[100];
   char htg[30];
   float st;
public:
   void nhap()
   {
       phieu::nhap();
      cout<<"
 Nhap ho ten nguoi nhan:";
      cin.ignore(1);
      cin.getline(htg,30);
      cout<<"
 Nhap dia chi:"; cin.getline(dc,40);
      cout<<"
 Nhap ly do:"; cin.getline(lido,100);
      cout<<"
 Nhap so tien: ";cin>>st;
   }
   void in()
   {
       phieu::in();
   cout<<"
 Ho ten nguoi nhan:"<<htg;
   cout<<"
 Dia chi:"<<dc;
   cout<<"
 Ly do:"<<lido;
   cout<<"
 So tien: "<<st;
   }
   int kiemtra()
   {
      return 1;
   }
   float tong()
   {
      return st;
   }
    
    phieuchi(void);
    ~phieuchi(void);
};


//hàm chính
int main()
{

    phieu *ds[20];
    int n,c,i, thoat=1;

    do{
        cout<<"
   Hay nhap:------------------------";
        cout<<"
1. Nhap danh sach !";
        cout<<"
2. In danh sach phieu chi !";
        cout<<"
3. In danh sach phieu nhap  !";
        cout<<"
4. In ra danh sach phieu chi quy 1 !";
        cout<<"
5. In ra danh sach phieu chi quy 2 !";
        cout<<"
6. Tim kiem nguoi giao hang Nguyen Van A !";
        cout<<"
7. Thoat !";
        cin>>c;
        c=getchar();
        switch(c)
        {
        case '1': cout<<"
 So phieu trong danh sach: ";cin>>n;
            for(i=1;i<n;i++)
            {
                cout<<"
1. Nhap phieu chi !";
                cout<<"
2. Nhap phieu nhap !";
                int k;
                cin>>k;
                if(k==1) ds[i]=new phieuchi;
                else ds[i]=new phieunhap;
                ds[i]->nhap();
            }
            break;

        case '2': cout<<" In danh sach phieu chi !";
            for(i=1;i<n;i++)
            {
                if(ds[i]->kiemtra()==1) ds[i]->in();
                
            }
            break;

        case '3': cout<<" In danh sach phieu chi !";
            for(i=1;i<n;i++)
            {
                if(ds[i]->kiemtra()==2) ds[i]->in();
                
            }
            break;


        case '4': cout<<" In danh sach phieu chi Qúy1 !";
            for(i=1;i<n;i++)
            {
                if((ds[i]->kiemtra()==1)&&( ds[i]->set_thang()==1)&&(ds[i]->set_thang()<5)&&(ds[i]->set_nam()==2015)&&(ds[i]->tong()>10000000))
                ds[i]->in();
                
            }
            break;


        case '5': cout<<" In danh sach phieu chi Qúy2 !";
            for(i=1;i<n;i++)
            {
                if((ds[i]->kiemtra()==1)&&( ds[i]->set_thang()==6)&&(ds[i]->set_thang()<9)&&(ds[i]->set_nam()==2015))
                ds[i]->in();
                
            }
            break;

        case'6': cout<<" Tim kiem nguoi giao hang Nguyen van A: ";
            for(i=0;i<n;i++)
            {
                if((ds[i]->kiemtra()==2)&&strcmp(ds[i]->set_htg(),"nguyen van A")==0)
                ds[i]->in();
            }
            break;

        case '7': thoat=0;
            break;
            default:cout<<"
 Nhap sai. Xin nhap lai !";
            system("pause");

        }
    }while(thoat!=1);

    system("pause");
    return 0;
}
Mai Anh Dũng viết 19:38 ngày 30/09/2018

@Yen_Vu copy code này ở đâu ra vậy? Code được nhiều code như vậy mà lại bị lỗi cơ bản không include thư viện là thế nào nhỉ. Đạt không thích các câu hỏi như thế này một tí nào.

Thêm thư viện

#include <cstdio>
#include <cstring>

class phieuchiphieunhap không có hàm dựng

Yến Vũ viết 19:30 ngày 30/09/2018

Em hơi bị tự ái đấy nhé. code này là đề kiểm tra của bọn em. Em mới sử dụng visual studio 2010( trc đó vẫn dùng turbo c) nên mấy cái thư viện em vẫn chưa nắm rõ .Nên mới bị cái lỗi ngớ ngẩn thế này, Cám ơn vì anh góp ý.hehe. Thực ra thì em mới biết code vs sửa lỗi hiển thị trên visual thôi.Em sẽ sửa lại, có gì mong anh giúp đỡ.Em cám ơn nhiều.

Yến Vũ viết 19:36 ngày 30/09/2018

Anh cho em hỏi. Em đã tạo hàm dựng và chạy được rồi nhưng chỉ nhập được mà không in ra được. Em đã bug thử nhưng vẫn không sửa đc.Anh cho em ý kiến vs ạ.

Mai Anh Dũng viết 19:28 ngày 30/09/2018

Em đã tạo hàm dựng và chạy được rồi nhưng chỉ nhập được mà không in ra được. Em đã bug thử nhưng vẫn không sửa đc.Anh cho em ý kiến vs ạ.

Không có code thì không thể nào biết em làm cái gì, sao mà cho ý kiến giờ.

Yến Vũ viết 19:30 ngày 30/09/2018

Vâng code đây ạ : Anh xem giúp em:

#pragma once
#include<iostream>
#include<string>
using namespace std;

class phieu
{
private:
    int sp;
    int tkno,tkco;
    char htn[30];
    char htg[30];
    int ngay,thang;
    unsigned nam;
public:
    phieu()
    {
        sp=0;
        tkno=0;
        tkco=0;
        htn[0]='\0';
        htg[0]='0';
        ngay=0;
        thang=0;
        nam=0;
    }

    virtual void nhap()
    {
        cout<<"\n Nhap so phieu: "; cin>>sp;
    cout<<"\n Nhap ngay lap: ";
    cin>>ngay;
    cin>>thang;
    cin>>nam;
    cout<<"\n Nhap tk no: "; cin>>tkno;
    cout<<"\n Nhap tk co: "; cin>>tkco;
    }
    virtual void in()
    {
        cout<<"\n So phieu: "<<sp;
    cout<<"\n Ngay lap: "<<ngay;
    cout<<"\n Thang lap: "<<thang;
    cout<<"\n Nam lap: "<<nam;
    }
    int set_ngay()
    {
        return ngay;
    };
    int set_thang()
    {
        return thang;
    };
    unsigned set_nam()
    {
        return nam;
    };
    int kiemtra()
    {
        return 0;
    };
    float tong()
    {
        return 0;
    }
    virtual char* set_htg( )
    {
        return htg;
    }

    ~phieu(void);
};

class phieunhap:public phieu
{

    char nhapkho[10];
     char ddiem[30];
     float st;
     char htn[30];
public:
    phieunhap()
    {
        nhapkho[0]='\0';
        ddiem[0]='\0';
        st=0;
        htn[0]='\0';

    }
    void nhap()
     {
         phieu::nhap();
     cout<<"\n Nhap ho ten nguoi nhan: ";
     cin.ignore(1);
     cin.getline(htn,30);
     cout<<"\n Nhap tai kho: ";
     cin.getline(nhapkho,10);
     cout<<"\n Nhap ddia diem: ";
     cin.getline(ddiem,30);
     cout<<"\n Nhap so tien: ";
     cin>>st;
     }
     void in()
     {
         phieu::in();
     cout<<"\n Ho ten nguoi giao: "<<htn;
     cout<<"\n Nhap tai kho: "<<nhapkho;
     cout<<"\n Dia diem: "<<ddiem;
     cout<<"\n So tien: "<<st;
     }
     int kiemtra()
     {
     return 2;
     }
     float tong()
     {
     return st;
     }
      
    
    ~phieunhap();
};


class phieuchi:public phieu
{
    char dc[40];
   char lido[100];
   char htg[30];
   float st;
public:
    phieuchi()
    {
        dc[0]='\0';
        lido[0]='\0';
        htg[0]='\0';
        st=0;
    }
   void nhap()
   {
       phieu::nhap();
      cout<<"\n Nhap ho ten nguoi nhan:";
      cin.ignore(1);
      cin.getline(htg,30);
      cout<<"\n Nhap dia chi:"; cin.getline(dc,40);
      cout<<"\n Nhap ly do:"; cin.getline(lido,100);
      cout<<"\n Nhap so tien: ";cin>>st;
   }
   void in()
   {
       phieu::in();
   cout<<"\n Ho ten nguoi nhan:"<<htg;
   cout<<"\n Dia chi:"<<dc;
   cout<<"\n Ly do:"<<lido;
   cout<<"\n So tien: "<<st;
   }
   int kiemtra()
   {
      return 1;
   }
   float tong()
   {
      return st;
   }
  
    ~phieuchi();
};


//hàm chính
int main()
{

    phieu *ds[20];
    int n,c=0,i;
    bool thoat=false;

    do
    {
        cout<<"\n   Hay nhap:------------------------";
        cout<<"\n1. Nhap danh sach !";
        cout<<"\n2. In danh sach phieu chi !";
        cout<<"\n3. In danh sach phieu nhap  !";
        cout<<"\n4. In ra danh sach phieu chi quy 1 !";
        cout<<"\n5. In ra danh sach phieu chi quy 2 !";
        cout<<"\n6. Tim kiem nguoi giao hang Nguyen Van A !";
        cout<<"\n7. Thoat !\n ";
        cin>>c;
    

        switch(c)
        {
        case 1: cout<<"\n So phieu trong danh sach: ";cin>>n;
            for(i=0;i<n;i++)
            {
                cout<<"\n1. Nhap phieu chi !";
                cout<<"\n2. Nhap phieu nhap !";
                int k;
                cin>>k;
                if(k==1) ds[i]=new phieuchi;
                else ds[i]=new phieunhap;
                ds[i]->nhap();
            }
            break;

        case 2: cout<<" In danh sach phieu chi !";

            for(i=0;i<n;i++)
            {
                if(ds[i]->kiemtra()==1) ds[i]->in();
                
            }
            break;

        case 3: cout<<" In danh sach phieu chi !";
            for(i=0;i<n;i++)
            {
                if(ds[i]->kiemtra()==2) ds[i]->in();
                
            }
            break;


        case 4: cout<<" In danh sach phieu chi Qúy1 !";
            for(i=0;i<n;i++)
            {
                if((ds[i]->kiemtra()==1)&&( ds[i]->set_thang()==1)&&(ds[i]->set_thang()<5)&&(ds[i]->set_nam()==2015)&&(ds[i]->tong()>10000000))
                ds[i]->in();
                
            }
            break;


        case 5: cout<<" In danh sach phieu chi Qúy2 !";
            for(i=0;i<n;i++)
            {
                if((ds[i]->kiemtra()==1)&&( ds[i]->set_thang()==6)&&(ds[i]->set_thang()<9)&&(ds[i]->set_nam()==2015))
                ds[i]->in();
                
            }
            break;

        case 6: cout<<" Tim kiem nguoi giao hang Nguyen van A: ";
            for(i=0;i<n;i++)
            {
                if((ds[i]->kiemtra()==2)&&strcmp(ds[i]->set_htg(),"nguyen van A")==0)
                ds[i]->in();
            }
            break;
        

        case 7:
            thoat=true;
            break;
        default: cout<<"\n Ban nhap sai. Vui long nhap lai !";
        }
    }while (!thoat);
    

    system("pause");
    return 0;
}
Mai Anh Dũng viết 19:31 ngày 30/09/2018

1.Đặt tên biến gớm quá, đọc không cảm tình tí nào. Điển hình là anh không hiểu ds là gì.

phieu *ds;

Em nên đặt tên như sau

Class Phieu; // Tên class phải viết hoa chữ cái đầu
Phieu listPhieu; // Tên biến theo camel cũng được

2.Hàm kiemtra thuộc về phieu luôn trả về 0, điều kiện để in ra phiếu nhập là 2

        case 3:
            cout<<" In danh sach phieu nhap !";
            for(i=0; i<n; i++) {
                if(ds[i]->kiemtra()==2) ds[i]->in();
            }
            break;

Muốn hàm kiểm tra chạy đúng cho kiểu dữ liệu PhieuNhap thì thêm chữ virtual cho nó ở class Phieu

    virtual int kiemtra() {
        return 0;
    };

3.Khi muốn hỏi một vấn đề gì thì phải ghi rõ ra mình đang làm gì, code ở đâu, cách chạy chương trình như thế nào. Nhập vào như thế nào, hi vọng xuất ra như thế nào và lỗi như thế nào.

Hôm nay cuối tuần + rảnh nên anh mới vào debug thử chứ anh không thích câu hỏi như thế này tí nào.

Yến Vũ viết 19:35 ngày 30/09/2018

Vâng em cám ơn anh. Lần sau em sẽ rút kinh nghiệm. Trang web rất hay và bổ ích. Đặc biệt anh Đạt rất giỏi và rất nhiệt tình Em cám ơn anh nhiều lắm.

Bài liên quan
0