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

Đề tài: Đa thừa kế trong class! lỗi xuất ra mặt cười và hàm cin.getline() không nhập được!

  1. #1
    Ngày gia nhập
    11 2011
    Nơi ở
    Viet Nam
    Bài viết
    34

    Angry Đa thừa kế trong class! lỗi xuất ra mặt cười và hàm cin.getline() không nhập được!

    mình đang viết 1 bài về đa thừa kế, 1 lớp thừa kế từ 2 lớp khác, nhưng khi chạy thì bị lỗi xuất ra emoticon(ký tự vui) và hàm cin.getline() chua nhập dk tên, mấy bạn sửa giúp mình với
    Code:
    #include "stdio.h"
    #include "conio.h"
    #include "string.h"
    #include "iostream.h"
    class person
    {
    	private:
    		char name[];
    		int roll;
    		char sex;
    	public:
    		void getin();
    		void dis();
    };
    class acade
    {
    	private:
    		char c_name[];
    		int sem;
    		char gra[3];
    	public:
    		void getin();
    		void dis();
    };
    class student:public person,public acade
    {
    	private:
    		float amo;
    	public:
    		void getin();
    		void dis();
    };
    void person::getin()
    {
    	cout<<"Ho ten: \n";
    	cin.getline(name,50);
    	cout<<"Ma so:\n";
    	cin>>roll;
    	cout<<"Gioi tinh:\n";//Nam or Nu
    	cin>>sex;
    }
    void person::dis()
    {
    	cout<<name<<"\t"<<roll<<"\t"<<sex;
    }
    void acade::getin()
    {
    	cin.ignore(1);
    	cout<<"Ten khoa: \n";
    	cin.getline(c_name,50);
    	cout<<"Hoc ky: \n";
    	cin>>sem;
    	cout<<"Trinh do: \n";//trinh do A, B hoac C
    	cin>>gra;
    }
    void acade::dis()
    {
    	cout<<c_name<<"\t"<<sem<<"\t"<<gra<<"\n";
    }
    void student::getin()
    {
    	person::getin();
    	cout<<"\n";
    	acade::getin();
    }
    void student::dis()
    {
    	person::dis();
    	acade::dis();
    } 
    main()
    {
    	student obj;
    	cout<<"Nhap tong tin Sinh vien\n";
    	obj.getin();
    	cout<<"Ten:  So:   Gioi tinh:   Khoa:   Hoc ky:   Trinh do:  \n";
    	obj.dis();
    	getch();
    }

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

    Trích dẫn Nguyên bản được gửi bởi code_c Xem bài viết
    mình đang viết 1 bài về đa thừa kế, 1 lớp thừa kế từ 2 lớp khác, nhưng khi chạy thì bị lỗi xuất ra emoticon(ký tự vui) và hàm cin.getline() chua nhập dk tên, mấy bạn sửa giúp mình với
    Code:
    #include "stdio.h"
    #include "conio.h"
    #include "string.h"
    #include "iostream.h"
    class person
    {
    	private:
    		char name[];
    		int roll;
    		char sex;
    	public:
    		void getin();
    		void dis();
    };
    class acade
    {
    	private:
    		char c_name[];
    		int sem;
    		char gra[3];
    	public:
    		void getin();
    		void dis();
    };
    class student:public person,public acade
    {
    	private:
    		float amo;
    	public:
    		void getin();
    		void dis();
    };
    void person::getin()
    {
    	cout<<"Ho ten: \n";
    	cin.getline(name,50);
    	cout<<"Ma so:\n";
    	cin>>roll;
    	cout<<"Gioi tinh:\n";//Nam or Nu
    	cin>>sex;
    }
    void person::dis()
    {
    	cout<<name<<"\t"<<roll<<"\t"<<sex;
    }
    void acade::getin()
    {
    	cin.ignore(1);
    	cout<<"Ten khoa: \n";
    	cin.getline(c_name,50);
    	cout<<"Hoc ky: \n";
    	cin>>sem;
    	cout<<"Trinh do: \n";//trinh do A, B hoac C
    	cin>>gra;
    }
    void acade::dis()
    {
    	cout<<c_name<<"\t"<<sem<<"\t"<<gra<<"\n";
    }
    void student::getin()
    {
    	person::getin();
    	cout<<"\n";
    	acade::getin();
    }
    void student::dis()
    {
    	person::dis();
    	acade::dis();
    } 
    main()
    {
    	student obj;
    	cout<<"Nhap tong tin Sinh vien\n";
    	obj.getin();
    	cout<<"Ten:  So:   Gioi tinh:   Khoa:   Hoc ky:   Trinh do:  \n";
    	obj.dis();
    	getch();
    }
    Bạn phải khai báo char name[50] chớ, xem lại nhá, code đây, test trên code::block 10.05.

    C Code:
    1. #include "stdio.h"
    2. #include "conio.h"
    3. #include "string.h"
    4. #include "iostream"
    5. using namespace std;
    6. class person
    7. {
    8.     private:
    9.         char name[50];
    10.         int roll;
    11.         char sex[10];
    12.     public:
    13.         void getin();
    14.         void dis();
    15. };
    16. class acade
    17. {
    18.     private:
    19.         char c_name[50];
    20.         int sem;
    21.         char gra[3];
    22.     public:
    23.         void getin();
    24.         void dis();
    25. };
    26. class student:public person,public acade
    27. {
    28.     private:
    29.         float amo;
    30.     public:
    31.         void getin();
    32.         void dis();
    33. };
    34. void person::getin()
    35. {
    36.     cout<<"Ho ten: \n";
    37.     cin.getline(name,50);
    38.     cout<<"Ma so:\n";
    39.     cin>>roll;
    40.     cout<<"Gioi tinh:\n";//Nam or Nu
    41.     cin>>sex;
    42. }
    43. void person::dis()
    44. {
    45.     cout<<name<<"\t"<<roll<<"\t"<<sex;
    46. }
    47. void acade::getin()
    48. {
    49.     cin.ignore(1);
    50.     cout<<"Ten khoa: \n";
    51.     cin.getline(c_name,50);
    52.     cout<<"Hoc ky: \n";
    53.     cin>>sem;
    54.     cout<<"Trinh do: \n";//trinh do A, B hoac C
    55.     cin>>gra;
    56. }
    57. void acade::dis()
    58. {
    59.     cout<<c_name<<"\t"<<sem<<"\t"<<gra<<"\n";
    60. }
    61. void student::getin()
    62. {
    63.     person::getin();
    64.     cout<<"\n";
    65.     acade::getin();
    66. }
    67. void student::dis()
    68. {
    69.     person::dis();
    70.     acade::dis();
    71. }
    72. main()
    73. {
    74.     student obj;
    75.     cout<<"Nhap tong tin Sinh vien\n";
    76.     obj.getin();
    77.     cout<<"Ten:  So:   Gioi tinh:   Khoa:   Hoc ky:   Trinh do:  \n";
    78.     obj.dis();
    79.     getch();
    80. }



    hình test:

    Attached Thumbnails Attached Thumbnails Capture.JPG  

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

  1. Bài tập C++ Xây dựng class phân số với xuất nhập thành công nhưng rút gọn và tổng thì bị lỗi không tìm ra nguyên nhân
    Gửi bởi bunthiu92vt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 21-04-2013, 11:10 AM
  2. Cách xuất file Dll có chứa nhiều Class bên trong
    Gửi bởi hieuse0204 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 24-06-2012, 07:44 AM
  3. Xuất 1 kiểu dữ liệu là phân số mà không cần phải gọi qua hàm xuất trong class ?
    Gửi bởi giacmo1612 trong diễn đàn Nhập môn lập trình Java
    Trả lời: 4
    Bài viết cuối: 24-03-2012, 02:38 PM
  4. tự định nghĩa nhập xuất(>>, <<) trong class phân số
    Gửi bởi satthuvotinh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 01-09-2011, 09:32 AM
  5. Xây dựng class nhập xuất nhân viên theo menu?
    Gửi bởi fuji13 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 11-05-2011, 08:13 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