نمایش نتایج 1 تا 4 از 4

نام تاپیک: ارور عجیب در اینکلود کردن مت دات ایچ

  1. #1
    کاربر جدید آواتار amirali_asp_net
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران
    سن
    34
    پست
    19

    Thumbs down ارور عجیب در اینکلود کردن مت دات ایچ

    در کد شماره یک برای کاری ساده تابع pow نیاز است اما زمانی که math.h را اینکلود می کنم کل برنامه ایراد پیدا می کند امتحان کردم فقط بعد از اینکلود math.h این مشکل بوجود میاید

    کد بدون math.h



    #include <iostream.h>
    #include <stdio.h>
    #include <conio.h>






    class poly
    {
    private:
    int n;
    float a[100];
    public:
    void get();
    void put();
    poly(int=0);
    poly operator+(poly);
    poly operator-(poly);
    poly operator*(poly);
    float val(float);
    };

    void poly::get()
    {
    cout<<"\nEnter degree: ";
    cin>>n;
    if(n<0) n=0;
    if(n>100) n=100;
    int i;
    for(i=0;i<n;i++)
    {
    cout<<"\nEnter"<<i<<"'th coefficient: ";
    cin>>a[i];
    }
    }

    void poly::put()
    {
    int i;
    cout<<endl;
    for(i=0;i<n;i++)
    cout<<a[i]<<"x^"<<i<<"+";
    }

    poly poly::operator+(poly b)
    {
    poly s;
    s.n=(n>b.n)?(n):(b.n);
    int i;
    if(s.n==n)
    for(i=b.n;i<s.n;i++)
    b.a[i]=0;
    else
    for(i=n;i<s.n;i++)
    a[i]=0;
    for(i=0;i<s.n;i++)
    s.a[i]=a[i]+b.a[i];
    return s;
    }

    poly poly::operator-(poly b)
    {
    poly s;
    s.n=(n>b.n)?(n):(b.n);
    int i;
    for(i=0;i<s.n;i++)
    s.a[i]=a[i]-b.a[i];
    return s;
    }

    poly::poly(int h)
    {
    int i;
    n=h;
    for(i=0;i<h;i++)
    a[i]=0;
    }

    poly poly::operator*(poly b)
    {
    poly s(n+b.n-1);
    int i,j;
    for(i=0;i<n;i++)
    for(j=0;j<b.n;j++)
    s.a[i+j]+=a[i]*b.a[j];
    return s;
    }

    ///meghdar ezafe shode barnameh

    float poly::val(float value)
    {

    int j = 0;
    float answer=0;

    for(j=0;j<n;j++)
    {
    answer +=(a[j] * (pow(value,j)) );
    }

    return answer;
    }

    void main ()
    {
    poly a,b,c,d;
    a.get();
    a.put();
    b.get();
    b.put();
    c=a+b;
    c.put();
    d=a*b;
    d.put();
    getch();

    poly javab;
    javab.get();
    javab.put();
    float matloob;
    cin >> matloob;

    cout << "\n"<<javab.val(matloob);

    }


    کد با math.h



    #include <iostream.h>
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>





    class poly
    {
    private:
    int n;
    float a[100];
    public:
    void get();
    void put();
    poly(int=0);
    poly operator+(poly);
    poly operator-(poly);
    poly operator*(poly);
    float val(float);
    };

    void poly::get()
    {
    cout<<"\nEnter degree: ";
    cin>>n;
    if(n<0) n=0;
    if(n>100) n=100;
    int i;
    for(i=0;i<n;i++)
    {
    cout<<"\nEnter"<<i<<"'th coefficient: ";
    cin>>a[i];
    }
    }

    void poly::put()
    {
    int i;
    cout<<endl;
    for(i=0;i<n;i++)
    cout<<a[i]<<"x^"<<i<<"+";
    }

    poly poly::operator+(poly b)
    {
    poly s;
    s.n=(n>b.n)?(n):(b.n);
    int i;
    if(s.n==n)
    for(i=b.n;i<s.n;i++)
    b.a[i]=0;
    else
    for(i=n;i<s.n;i++)
    a[i]=0;
    for(i=0;i<s.n;i++)
    s.a[i]=a[i]+b.a[i];
    return s;
    }

    poly poly::operator-(poly b)
    {
    poly s;
    s.n=(n>b.n)?(n):(b.n);
    int i;
    for(i=0;i<s.n;i++)
    s.a[i]=a[i]-b.a[i];
    return s;
    }

    poly::poly(int h)
    {
    int i;
    n=h;
    for(i=0;i<h;i++)
    a[i]=0;
    }

    poly poly::operator*(poly b)
    {
    poly s(n+b.n-1);
    int i,j;
    for(i=0;i<n;i++)
    for(j=0;j<b.n;j++)
    s.a[i+j]+=a[i]*b.a[j];
    return s;
    }

    ///meghdar ezafe shode barnameh

    float poly::val(float value)
    {

    int j = 0;
    float answer=0;

    for(j=0;j<n;j++)
    {
    answer +=(a[j] * (pow(value,j)) );
    }

    return answer;
    }

    void main ()
    {
    poly a,b,c,d;
    a.get();
    a.put();
    b.get();
    b.put();
    c=a+b;
    c.put();
    d=a*b;
    d.put();
    getch();

    poly javab;
    javab.get();
    javab.put();
    float matloob;
    cin >> matloob;

    cout << "\n"<<javab.val(matloob);

    }


    اسمایلی نیازمند کمک

  2. #2
    کاربر جدید آواتار amirali_asp_net
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران
    سن
    34
    پست
    19

    نقل قول: ارور عجیب در اینکلود کردن مت دات ایچ

    ارور برنامه فقط برای math.h هستش چون این کلاس رو قبلا نوشته بودم فقط خواستم لوکال ترش کنم و کامل تر math.h رو اضاف کردم و کل کلاسم رو بهم ریخت

    خوشحال می شم اگر کسی کمکم کنه

  3. #3

    نقل قول: ارور عجیب در اینکلود کردن مت دات ایچ

    این خطا به دلیل این است که شما از عنوان poly برای کلاس خود استفاده کرده اید در حالی که poly یکی از توابع ریاضی موجود در math.h است که البته استاندارد نیست و در Borland هست .
    پس برای حل آن یک اسم دیگری انتخاب کنید و سعی کنید همواره اسم مورد نظر دارای حروف بزرگ و متفاوت از سایر توابع عمومی باشد.

    کامپایلر شما C++‎builder هست ؟ چه نسخه ای ؟

  4. #4
    کاربر جدید آواتار amirali_asp_net
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران
    سن
    34
    پست
    19

    نقل قول: ارور عجیب در اینکلود کردن مت دات ایچ

    با تشکر بسیار زیاد

    turbo C++‎ 4.5 هستش

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •