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

Đề tài: Cần giúp đỡ về 1 đoạn code đa năng hóa toán tử

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

    Mặc định Cần giúp đỡ về 1 đoạn code đa năng hóa toán tử

    Mình cần đa năng hóa toán tử cộng với phân số nhưng khi chạy bằng trình dịch Cfree thì có lôi xuất hiện:
    [Error]:parse error before "+"
    và [Error] invalid operands to binary +.
    Mọi người giúp mình với , đây là code của mình:


    Code:
    #include<conio.h>
    #include<stdio.h>
    struct PhanSo
          {
             int tuso; //Numerator - Tu+? so^'
             int mauso; //Denominator - Ma^~u so^'
           };
    typedef struct PhanSo PhanSo;	    
    void nhap(PhanSo x) {
        printf("Nhap tu: ");
        scanf ("%d", &x.tuso);
        printf("Nhap mau: ");
        scanf("%d", &x.mauso);
    }
    void xuat(PhanSo x) {
        printf("Phan so: %d / %d", x.tuso, x.mauso);
        printf("\n\n");
    }       
    PhanSo  operator + (PhanSo ps1, PhanSo ps2)
    {
        PhanSo temp;
        temp.tuso = ps1.tuso *  ps2.mauso + ps1.mauso * ps2.tuso;
        temp.mauso = ps2.mauso * ps2.mauso;
        return temp;
    }
     
    void main(){
    	PhanSo m,n,tong;
        printf("nhap phan so  thu 1");
        nhap(m);
    	printf("nhap phan so thu 2");
    	nhap(n);
    	tong = m+n;
    	xuat(tong);
    	getch();
    }
    Hack to learn, no learn to hack

  2. #2
    Ngày gia nhập
    10 2011
    Nơi ở
    quy nhon city
    Bài viết
    7

    thế bạn chạy code này bằng phần mềm nào thế
    HỌC , HỌC NỮA , HỌC MÃI ..... ĐUỐI NGHỈ ..... ĐÚP HỌC LẠI

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

    Trích dẫn Nguyên bản được gửi bởi mfvodka107 Xem bài viết
    thế bạn chạy code này bằng phần mềm nào thế
    C free 4.0 bạn à.
    Hack to learn, no learn to hack

  4. #4
    Ngày gia nhập
    10 2011
    Nơi ở
    quy nhon city
    Bài viết
    7

    C free 4.0
    mình chạy cfree 5 bình thường không biết lỗi của bạn là gì nữa.
    còn nữa void nhap(PhanSo x) {
    printf("Nhap tu: ");
    scanf ("%d", &x.tuso);
    printf("Nhap mau: ");
    scanf("%d", &x.mauso);
    }

    phần này có vấn đề . mình cũng chưa hiểu chỗ này lắm .nhưng nó không cho nhập gián tiếp như vậy đâu. Bắt buộc phải nhập trực tiếp trong hàm main bạn nhé. Sửa lại chỗ đó là chạy ổn.
    HỌC , HỌC NỮA , HỌC MÃI ..... ĐUỐI NGHỈ ..... ĐÚP HỌC LẠI

  5. #5
    Ngày gia nhập
    02 2012
    Nơi ở
    Xanhpetecbua-Nga
    Bài viết
    34

    mình chạy cfree 5 bình thường không biết lỗi của bạn là gì nữa.
    còn nữa void nhap(PhanSo x) {
    printf("Nhap tu: ");
    scanf ("%d", &x.tuso);
    printf("Nhap mau: ");
    scanf("%d", &x.mauso);
    }

    phần này có vấn đề . mình cũng chưa hiểu chỗ này lắm .nhưng nó không cho nhập gián tiếp như vậy đâu. Bắt buộc phải nhập trực tiếp trong hàm main bạn nhé. Sửa lại chỗ đó là chạy ổn.
    __________________
    uhm có vấn đề thật, viết vậy thì không nhập đc, sửa chút thì không cần đưa về hàm main đâu
    vì đây là hàm nên phải thế này:
    C++ Code:
    1. void nhap(PhanSo *x) {
    2. printf("Nhap tu: ");
    3. scanf ("%d", &(*x).tuso));
    4. printf("Nhap mau: ");
    5. scanf("%d", &(*x).mauso));
    6. }

  6. #6
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Mặc định Cần giúp đỡ về 1 đoạn code đa năng hóa toán tử

    Đa năng hóa toán tử là tính chất của C++, trình dịch C sẽ không chấp nhận. Xem lại:
    Trình dịch mặc định là C hay C++
    Code chứa trong file c hay cpp

  7. #7
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    CFree 5.0 pro = 79$! WTF?
    Một là dùng http://www.codeblocks.org/
    Hai là http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
    Mình bảo đảm bản Express của VS có thể làm mọi projects trong 4 năm đại học của bạn.

    Trở lại vấn đề chính:
    - Không bao giờ mix C và C++! Chúng nhìn thì có vẻ giống, như khác xa lắm
    - Bỏ cái quá tải toán tử vào struct đi.

  8. #8
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Khai báo gì lạ thế ?
    Code:
    PhanSo  operator + (PhanSo ps1, PhanSo ps2)
    Toán tử này đa năng cho class/struct nào ? Có thấy đề cập đâu ?
    Nó biết của ai mà thực hiện@@ ?
    Um Mani Padme Hum...!!

  9. #9
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Đó không phải là cách khai hàm ngoại sao?
    Nếu là class thì phải khai trước là friend, nhưng có lẽ struct không cần vì mọi members mặc định là public
    (chưa sử dụng cho struct bao giờ nên chỉ đoán, không chắc lắm, nếu sai thì xin lỗi mọi người trước)

  10. #10
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Ấy chết, đúng là ngu mà tỏ ra nguy hiểm. Lần trước bị một lần rồi mà vẫn chưa khôn ra
    Cảm ơn tiền bối "Có"TichSu và xin lỗi chủ bài
    Um Mani Padme Hum...!!

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

  1. Mã nguồn C Lỗi Tìm giúp lỗi code C chuẩn hóa văn bản
    Gửi bởi minhtri01 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 03-05-2013, 08:35 PM
  2. code chuẩn hóa xâu trong lập trình C#. Giúp em?
    Gửi bởi thangcun trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 30-12-2010, 01:51 PM
  3. đoạn code đa năng hoá toán tử +. Giúp mình sửa
    Gửi bởi thanhbvh trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 15-07-2010, 08:12 PM
  4. da năng hóa toán tử giúp em
    Gửi bởi nhatnha trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 29-06-2010, 10:58 AM
  5. [ Solved ]Đa năng hóa dòng vào/ra, ai xem giúp với.
    Gửi bởi camping29 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 15-11-2008, 10:12 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