Trang 2 trên tổng số 2 Đầu tiênĐầu tiên 12
Từ 11 tới 20 trên tổng số 20 kết quả

Đề tài: class trong c ++

  1. #11
    Ngày gia nhập
    07 2018
    Bài viết
    0

    Mặc định class trong c ++

    Trích dẫn Nguyên bản được gửi bởi khoaph Xem bài viết
    Chỉ số trong ngoặc vuông là độ dài của mảng, không phải là chỉ số lớn nhất, bạn mới chuyển sang c++ phải không?

    - - - Nội dung đã được cập nhật ngày 13-08-2018 lúc 08:10 PM - - -

    Còn nữa, tại sao phải khai báo Find là Student trong khi chỉ sử dụng trường Score, chỉ cần khai báo char findscore là đủ
    1.bạn chưa hiểu ý mình. cái câu đó là mình trả lời bạn #huycan rằng trong trường hợp đó FindScore[4] có 5 phần tử và Studen cũng có 5 phần tử.
    2. Là sao mình chưa hiểu ý bạn. bạn trích đoạn code đó ra giùm mình vs
    Đã được chỉnh sửa lần cuối bởi tkdlbhvn : 14-08-2018 lúc 12:05 AM.

  2. #12
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    383

    Bạn không biết rồi
    FindScore[4] chỉ có 4 phần tử thôi, chỉ số mảng từ 0 đến 3
    Và c++ không báo lỗi outofrange khi truy cập mảng ngoài giới hạn
    2. Bạn khai báo Student Find mà chỉ dùng Find.score
    Nên khai báo char findscore và sửa tất cả các chỗ có Find.score thành findscore

  3. #13
    Ngày gia nhập
    07 2018
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi khoaph Xem bài viết
    Bạn không biết rồi
    FindScore[4] chỉ có 4 phần tử thôi, chỉ số mảng từ 0 đến 3
    Và c++ không báo lỗi outofrange khi truy cập mảng ngoài giới hạn
    2. Bạn khai báo Student Find mà chỉ dùng Find.score
    Nên khai báo char findscore và sửa tất cả các chỗ có Find.score thành findscore
    1. tại sao [4] lại chỉ có từ 0 -> 3, thế cái số 4 là gì v. ký tự kết thúc ak? ủa sao hôm trc mình sửa thành 5 r mà ko đc, hôm nay lại đc nhỉ.
    2. chỗ đấy mình đang muốn phân biệt giữa Find.score (chỉ số score nhập vào) và FindScore (số so sánh từ ctrncmp ở đây là kiểu int), hơn nữa nếu có thể thì ta có thể Find.name, Find.id trong trường hợp tìm các giá trị còn lại mà không cần phải khai báo char FindID và char FindName như ý bạn nói
    3. với lại các biến mình luôn để chữ cái đầu của 1 từ là chữ viết hoa (XxxxYyyyy) không bh mình để là xxxxyyyy, trừ khi nó có 1 chữ duy nhất

    - - - Nội dung đã được cập nhật ngày 14-08-2018 lúc 12:49 PM - - -

    à cho mình hỏi thêm chút nhé. với đối tượng là Student bao gồm các thuộc tính là id, name, score. Khai báo dưới dạng Student.id, .... Có cách nào mà để Student thành 1 mảng ko kiểu như Student[i].id vì đây nó có ít thì ko sao, ví dụ nếu data lớn thì phải khai báo Stdent1.xxx, Student2.xxx,..., Studentn.xxx . mình đang ko bít làm cách nào để khai báo Studenti.xxx chỉ 1 lần mà có thể nhập dữ liệu theo số lần nhập vô
    Đã được chỉnh sửa lần cuối bởi tkdlbhvn : 14-08-2018 lúc 12:45 PM.

  4. #14
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    383

    1. char chuoi[n]
    Có nghĩa là mảng char chứa n phần tử, vì chỉ số bắt đầu từ 0 nên chỉ số lớn nhất là n -1
    2. Bạn nói đúng
    4.
    Bạn đã biết về mảng sao không sử dụng
    C++ Code:
    1. Student[100] students;
    2. int n;// số lượng sinh viên<=100
    3. void nhap(int i)
    4. {
    5.     printf("Nhap sinh vien %d\n",i+1);
    6.     printf("id:");
    7.     gets(students[i].id);
    8.     //nhập tên, điểm
    9. }
    10. int main()
    11. {
    12.     //
    13. }
    Để chương trình có thể chạy được, bạn phải code thêm chỗ khởi tạo Student
    post trên di động chậm như rùa bò nên chỉ có vậy thôi
    Nếu bạn muốn lưu số sinh viên không giới hạn phải dùng đến vector trong c++ hoặc malloc trong c

  5. #15
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    845

    Cái gì muốn động thì bạn phải nghĩ tới chuyện động. Và động thì nên nghĩ tới cấp phát động. Cấp phát, cấp phát lại; các hàm này đã được che dấu trong C++ với các <vector><list> hoặc tương đương.

  6. #16
    Ngày gia nhập
    07 2018
    Bài viết
    0

    Mặc định class trong c ++

    Trích dẫn Nguyên bản được gửi bởi khoaph Xem bài viết
    1. char chuoi[n]
    Có nghĩa là mảng char chứa n phần tử, vì chỉ số bắt đầu từ 0 nên chỉ số lớn nhất là n -1
    2. Bạn nói đúng
    4.
    Bạn đã biết về mảng sao không sử dụng
    C++ Code:
    1. Student[100] students;
    2. int n;// số lượng sinh viên<=100
    3. void nhap(int i)
    4. {
    5.     printf("Nhap sinh vien %d\n",i+1);
    6.     printf("id:");
    7.     gets(students[i].id);
    8.     //nhập tên, điểm
    9. }
    10. int main()
    11. {
    12.     //
    13. }
    Để chương trình có thể chạy được, bạn phải code thêm chỗ khởi tạo Student
    post trên di động chậm như rùa bò nên chỉ có vậy thôi
    Nếu bạn muốn lưu số sinh viên không giới hạn phải dùng đến vector trong c++ hoặc malloc trong c
    1. cái dòng đầu tiên Student[100] students; là khai báo kiểu j vậy? chắc đoạn trên có khai báo gì đó phiền bạn up nốt đoạn trên với hoặc giải thích dòng này luôn a.
    Nếu là chỗ:
    class Student[100]{ xxx; xxx; } thì sẽ báo lỗi []

    2. trong trường hợp này ID, NAME, SCORE bạn khai báo ở đâu. dùng cái j để khai báo, class, struct, ... . mà trong trường hợp này nên dùng struct hay dùng class nhỉ?
    Đã được chỉnh sửa lần cuối bởi tkdlbhvn : 15-08-2018 lúc 04:23 PM.

  7. #17
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    383

    À há, chỗ 100 ý mình là khai báo mảng 100 phần tử nhưng mình lộn qua C#, đúng ra phải là
    Student students[100];
    Tạo class như trong bài #3 của bạn
    Class hay struct, theo mình biết nó chỉ khác nhau về scope( public, protected, private) mặc định của các member, nếu giữa chúng có khác biệt gì khác thì hóng các cao nhân chỉ giáo

  8. #18
    Ngày gia nhập
    07 2018
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi khoaph Xem bài viết
    À há, chỗ 100 ý mình là khai báo mảng 100 phần tử nhưng mình lộn qua C#, đúng ra phải là
    Student students[100];
    Tạo class như trong bài #3 của bạn
    Class hay struct, theo mình biết nó chỉ khác nhau về scope( public, protected, private) mặc định của các member, nếu giữa chúng có khác biệt gì khác thì hóng các cao nhân chỉ giáo
    cho mình hỏi chút nữa, đoạn code này nó bị lỗi gì v. lúc build thì ko báo lỗi nhưng chạy nó bị has stoped...

    struct Student{
    int id;
    char name;
    int score;
    };
    void NhapData(int id, const char* name, int score){
    Student Student[id];
    Student[id].id = id;
    Student[id].name = *name;
    Student[id].score = score;
    printf("%d_%s_%d", Student[id].id, Student[id].name, Student[id].score);
    }

  9. #19
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    845

    Trường name trong cấu trúc phải là con trỏ hoặc là mảng, hàm kế tiếp sai từ hệ quả của khai báo cấu trúc

  10. #20
    Ngày gia nhập
    07 2018
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi MHoang Xem bài viết
    Trường name trong cấu trúc phải là con trỏ hoặc là mảng, hàm kế tiếp sai từ hệ quả của khai báo cấu trúc
    tức là để gán giá trị thì 2 cái phải cùng kiểu dữ liệu hả bạn? mình sửa trên struct là const char* name thì chạy đc r. tks bạn

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