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

Đề tài: thắc mắc về con trỏ động.

  1. #1
    No Avatar
    nhtuyen97 Khách

    Mặc định thắc mắc về con trỏ động.

    bài toán nêu ra yêu cầu quản lý thành viên của 1 câu lạc bộ.
    - mọi người có thể nhập vào họ tên, địa chỉ liên lạc,phái, và sở thích.
    Phần họ tên, địa chỉ liên lạc, phái thì mình xử lý được, nhưng có phần sở thích mình vẫn chưa giải quyết nó được, vì khi nhập vào 1 người bao gồm họ tên, địa chỉ, phái và gồm n sở thích trong 1 lần nhập

    class thanhvien{
    private:
    char* hoten;
    char* diachi;
    char * phai;
    char * sothich;
    int n; // n sở thích của 1 thành viên
    public:
    void nhap();
    };

    void thanhvien::nhap(){
    hoten = new char[20];
    diachi = new char[50];
    phai = new char[10];
    cout<<"ho ten:"<<endl;
    cin.getline(hoten,20);
    cout<<"dia chi:"<<endl;
    cin.getline(diachi,50);
    cout<<"phai:"<<endl;
    cin.getline(phai,10);
    cout<<"Nhap so so thich : ";
    cin>>n;

    sothich = new char [n];
    cout<<"Nhap vao mang moi : "<<endl;

    for(int i=0;i<n;i++){
    cout<<a[i]<<endl;
    cout<<"a["<<i<<"]=";cin.ignore();
    cin.getline(sothich[i],n); //<- bao loi tai dong nay`

    }
    }

    mong các bạn giúp đỡ!thanks trước.

  2. #2
    Ngày gia nhập
    02 2009
    Bài viết
    34

    mình không rõ ý bạn lắm.
    cin.getline(sothich[i],n)
    nhưng ở dòng này.
    sothich[i] sẽ là 1 biến char. Vì vậy khi dùng getline nó sẽ báo là không phải kiểu char*.
    bạn có thể khai báo là
    char **sothich; ở trên.

  3. #3
    Ngày gia nhập
    01 2009
    Bài viết
    165

    bạn có thể dùng cấp phát động ,sau mỗi lần nhập ,người dùng sẽ nhập số sở thích của mình thì bạn chỉ cần cấp cho con trỏ trỏ tới biến sothich 1 khối nhớ tương đương là được.

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