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

Đề tài: Xem giùm mình bài code này bị lỗi gi mà không compile được

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

    Mặc định Xem giùm mình bài code này bị lỗi gi mà không compile được

    đề: Write an OO program using C++ in which user will enter a list of arbitrary objects which have different types(maximum 20 objects) then the content of the list will be displayed on the screen.
    An object which user will enter may be:
    - An employee<ID, name, sex, salary, allowance> or
    - A teacher <ID, name, sex, salary> or
    - A student <ID, name, address, score>.
    Và đây là code của mình:
    #include<iostream>
    #include<iomanip>
    #include<string>
    using namespace std;
    class person
    {
    int id;
    char name[31];
    public:
    void setPerson();
    void displayPerson()
    {
    cout<<setiosflags(ios::right)<<setfill('0')<<setw( 6)<<id<<" ";
    cout<<setiosflags(ios::left)<<setw(30)<<name<<" ";
    }
    virtual void set();
    virtual void display();
    };
    void person::setPerson()
    {
    cout<<"Enter the ID: ";
    cin>>id;
    cout<<"Enter the name: ";
    cin.getline(name,30,'\n');
    }
    class person2: public person
    {
    char sex;
    double salary;
    public:
    void setPerson2();
    void displayPerson2()
    {
    displayPerson();
    cout<< (sex=='M')?"Male ":"Female ";
    cout<< setiosflags(ios::fixed)<< setprecision(2)<<setiosflags(ios::right)<<setw(10) <<salary<<" ";
    }
    };
    void person2::setPerson2()
    {
    char sexT;
    setPerson();
    cout<<"Enter the sex M(Male) or F(Famle):";
    do
    {
    cin>>sexT;
    strupr(&sexT);
    fflush(stdin);
    if(sexT!='M' || sexT!='F') cout<<"Enter again!"<<endl;
    }while(sexT!='M' || sexT!='F');
    sex=sexT;
    cout<<"Enter the salary: ";
    cin>>salary;
    }
    class teacher: public person2
    {
    public:
    virtual void set(){setPerson2();}
    virtual void display(){displayPerson2();cout<<endl;}
    };

    class employee: public person2
    {
    double allowance;
    public:
    virtual void set()
    {
    setPerson2();
    cout<<"Enter the allowance: ";
    cin>>allowance;
    }
    virtual void display()
    {
    displayPerson2();
    cout<<setiosflags(ios::fixed)<< setprecision(2)<<setiosflags(ios::right)<<setw(10) <<allowance<<endl;
    }
    };
    class student: public person
    {
    char address[51];
    double score;
    public:
    virtual void set();
    virtual void display()
    {
    displayPerson();
    cout<<setiosflags(ios::left)<<setw(50)<<address<<" ";
    cout<<setiosflags(ios::right)<<setw(5)<<score<<end l;
    }
    };
    void student::set()
    {
    setPerson();
    double scoreT;
    cout<<"Enter the address:";
    cin.getline(address,50,'\n');
    cout<<"Enter the score (0 -> 10): ";
    do
    {
    cin>>scoreT;
    if(scoreT<0 || scoreT>10) cout<<"Enter again"<<endl;
    }while(scoreT<0 || scoreT>10);
    }
    int main()
    {
    person **a;
    a = new person*[20];
    int n=0;
    int choice;
    do
    {
    cout<<"1- Enter an employee\n";
    cout<<"2- Enter a teacher\n";
    cout<<"3- Enter a student\n";
    cout<<"4- Display\n";
    cout<<"Others- Quit\n";
    cout<<"Enter your choice:";
    cin>>choice;
    switch(choice)
    {
    case 1: a[n]= new employee;
    a[n++]->set();
    break;
    case 2: a[n]= new teacher;
    a[n++]->set();
    break;
    case 3: a[n]= new student;
    a[n++]->set();
    break;
    case 4: for(int i=0;i<n;i++)
    a[i]->display();
    }
    }while(choice>0 && choice<5);
    return 0;
    }
    Các bạn xem giùm mình sao bài này compile bằng dev C++ không dc?

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    C++ Code:
    1. #include<iostream>
    2. #include<iomanip>
    3. #include<string>
    4.  
    5. using namespace std;
    6.  
    7. class person
    8. {
    9.     int id;
    10.     char name[31];
    11.  
    12. public:
    13.     virtual void set();
    14.     virtual void display();
    15. };
    16.  
    17. void person::set()
    18. {
    19.     cout<<"Enter the ID: ";
    20.     fflush(stdin);
    21.     cin>>id;
    22.     cout<<"Enter the name: ";
    23.     fflush(stdin);
    24.     cin.getline(name, 30);
    25. }
    26.  
    27. void person::display()
    28. {
    29.     cout<<setiosflags(ios::right)<<setfill('0')<<setw( 6)<<id<<" ";
    30.     cout<<setiosflags(ios::left)<<setfill(' ')<<setw(30)<<name<<" ";
    31. }
    32.  
    33. class person2: public person
    34. {
    35.     char sex;
    36.     double salary;
    37. public:
    38.     void set();
    39.     void display();
    40. };
    41.  
    42. void person2::set()
    43. {
    44.     char sexT;
    45.  
    46.     person::set();
    47.     cout<<"Enter the sex M(Male) or F(Famle):";
    48.     do
    49.     {
    50.         fflush(stdin);
    51.         cin>>sexT;
    52.    
    53.         strupr(&sexT);
    54.         if(sexT!='M' && sexT!='F')
    55.         {
    56.             cout<<"Enter again!"<<endl;
    57.         }
    58.     }
    59.     while (sexT != 'M' && sexT != 'F');
    60.     sex=sexT;
    61.     cout<<"Enter the salary: ";
    62.  
    63.     fflush(stdin);
    64.     cin>>salary;
    65. }
    66.  
    67. void person2::display()
    68. {
    69.     person::display();
    70.     (sex=='M')? cout<<"Male ":cout<<"Female ";
    71.     cout<< setiosflags(ios::fixed)<< setprecision(2)<<setiosflags(ios::right)<<setw(10) <<salary<<" ";
    72. }
    73.  
    74. class teacher: public person2
    75. {
    76. };
    77.  
    78. class employee: public person2
    79. {
    80.     double allowance;
    81.  
    82. public:
    83.     void set()
    84.     {
    85.         person2::set();
    86.         cout<<"Enter the allowance: ";
    87.         fflush(stdin);
    88.         cin>>allowance;
    89.     }
    90.  
    91.     void display()
    92.     {
    93.         person2::display();
    94.         cout<<setiosflags(ios::fixed)<< setprecision(2)<<setiosflags(ios::right)<<setw(10) <<allowance;
    95.     }
    96. };
    97.  
    98. class student: public person
    99. {
    100.     char address[51];
    101.     double score;
    102.  
    103. public:
    104.     void set();
    105.     void display()
    106.     {
    107.         person::display();
    108.         cout<<setiosflags(ios::left)<<setw(50)<<address<<" ";
    109.         cout<<setiosflags(ios::right)<<setw(5)<<score;
    110.     }
    111. };
    112.  
    113. void student::set()
    114. {
    115.     person::set();
    116.     double scoreT;
    117.     cout<<"Enter the address:";
    118.     fflush(stdin);
    119.     cin.getline(address,50,'\n');
    120.     cout<<"Enter the score (0 -> 10): ";
    121.     do
    122.     {
    123.         fflush(stdin);
    124.         cin>>scoreT;
    125.         if(scoreT<0 || scoreT>10)
    126.         {
    127.             cout<<"Enter again"<<endl;
    128.         }
    129.     }
    130.     while(scoreT<0 || scoreT>10);
    131.  
    132.     this->score = scoreT;
    133. }
    134.  
    135. int main()
    136. {
    137.     person **a;
    138.     a = new person * [20];
    139.    
    140.     int n=0;
    141.     int choice;
    142.  
    143.     do
    144.     {
    145.         cout<<"1- Enter an employee\n";
    146.         cout<<"2- Enter a teacher\n";
    147.         cout<<"3- Enter a student\n";
    148.         cout<<"4- Display\n";
    149.         cout<<"Others- Quit\n";
    150.         cout<<"Enter your choice:";
    151.         cin>>choice;
    152.         switch(choice)
    153.         {
    154.             case 1:
    155.                 a[n]= new employee;
    156.                 a[n++]->set();
    157.                 break;
    158.  
    159.             case 2:
    160.                 a[n]= new teacher;
    161.                 a[n++]->set();
    162.                 break;
    163.  
    164.             case 3:
    165.                 a[n]= new student;
    166.                 a[n++]->set();
    167.                 break;
    168.  
    169.             case 4:
    170.                 for(int i=0;i<n;i++)
    171.                 {
    172.                     a[i]->display();
    173.                     cout<<endl;
    174.                 }
    175.         }
    176.     }
    177.     while(choice>0 && choice<5);
    178.  
    179.     return 0;
    180. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

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

    cám ơn bạn nhiều nha hihi ^_^. sao 4rum này không có nút thanks nhỉ

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

  1. Mảng trên C Mấy bro vào code bài này giùm em cái
    Gửi bởi hjepsjga_94 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 14
    Bài viết cuối: 24-06-2013, 05:20 PM
  2. Algorithm Chèn code check bản quyền từ 1 file dll vào một project đã compile ra exe
    Gửi bởi sakervista trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 20-02-2012, 10:31 AM
  3. Lỗi Compile trong Code::Block???
    Gửi bởi DustinTran trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 7
    Bài viết cuối: 24-05-2010, 10:44 PM
  4. Hỏi cách Compile trong Code Block
    Gửi bởi Cparadise trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 1
    Bài viết cuối: 05-10-2009, 12:10 AM
  5. cho hỏi cách gọi cái compile trong code::block ra !
    Gửi bởi duc_classic trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 0
    Bài viết cuối: 06-03-2009, 11:37 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