صفحه 3 از 5 اولاول 12345 آخرآخر
نمایش نتایج 81 تا 120 از 172

نام تاپیک: مشكلات من با ++C

  1. #81

    نقل قول: مشکلات من با ++C

    سلام, من سه چهار روزه با CPP کار میکنم,
    راي ضرب دو ماتريس در حالت کلی این رو تو سی پلاس پلاس نوشتم ولی اشکال میگیره, کسی می تونه یه نیگا بندازه:

    #include<iostream.h>
    void main()
    {
    int m,n,i,j,k,p;
    int a[m][k] , b[k][n] , c[m][n];
    cout<<"Enter the number of rows for Matrix A: "<<endl;
    cin>>m;
    cout<<"Enter the number of coulmns for Matrix A: "<<endl;
    cin>>k>>endl;
    cout<<"Enter Matrix A: "<<endl;
    for( i = 0 ; i < m ; i++)
    for( j = 0 ; j < k ; j++)
    cin>>a[m][k];
    cout<<"Enter the number of rows for Matrix B: "<<endl;
    cin>>k;
    cout<<"Enter the number of coulmns for Matrix B: "<<endl;
    cin>>n>>endl;
    cout<<"Enter Matrix B: "<<endl;
    for( i = 0 ; i < k ; i++)
    for( j = 0 ; j < n ; j++)
    cin>>b[k][n];
    for( i = 0 ; i < m ; i++)
    for( j = 0 ; j < n ; j++)
    {
    c[m][n] = 0;
    for( p = 0 ;p < k ; p++)
    c[i][j] += a[i][p]*b[p][j];
    }
    cout<<"The resultant matrix is ";
    for( i = 0 ; i < m ; i++)
    {
    for( j = 0 ; j < n ; j++)
    cout<<a[i][j]<<" ";
    cout<<endl;
    }
    }

  2. #82
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    int a[m][k] , b[k][n] , c[m][n];


    آرایه یه عضو استاتیک هستش ، نمیتونی بدون تعیین ابعاد اونو تعریف کنی ، اینجوری بنویس :
    int a[50][50] , b[50][50] , c[50][50];



    این یعنی چی ؟
    cin>>k>>endl;

    endl ، رو معمولا cout میکنند ، اینطوری بنویس :
    cin>>k;



    اگه بازم سوالی بود در خدمتم ؛

  3. #83
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    به به سلامی دوباره به دوستان خوبم دوباره از دوستای عزیزی که ما در این تاپیک همراهی کردن تشکر میکنم و خیلی خوشحالم که این تاپیک داره رونق پیدا میکنه
    خوب ما رسیدیم به اینجایی که ما میتونیم با جداسازی واسطه از یک برنامه هم امنیت برنامه رو بالا ببریم هم اینکه کاری کنیم که مشتری نتونه بفهمه که ما چی نوشتیم
    خوب اول یه سری توضیحات رو بنویسم
    واسطه یک کلاس مشخص می کند مشتری های کاربر از چه خدماتی می توانند استفاده کنند و این خدمات را درخواست کنند اما از چگونگی انجام این خدمات آگاه نمی شوند. واسطه کلاس از توابع public هست
    ما اومدیم یه برنامه رو سه قسمت کردیم
    1- سرفایل gradebook.h
    #include <cstdlib>
    #include <iostream>
    #include <string>

    using namespace std;
    class GradeBook
    {
    public:
    GradeBook( string );
    void setCourseName( string );
    string getCourseName();
    void displaymessage();
    private:
    string coursename;
    };

    2- فایل کد منبع gradebook.cpp
    #include <cstdlib>
    #include <iostream>
    #include "GradeBook.h"
    using namespace std;

    GradeBook::GradeBook( string name )
    {
    setCourseName( name );
    }
    void GradeBook::setCourseName( string name )
    {
    coursename = name;
    }
    string GradeBook::getCourseName()
    {
    return coursename;
    }
    void GradeBook::displaymessage()
    {
    cout << "welcome to the gradebook for \n" << getCourseName() << endl;
    }

    3- تابع main
    #include <cstdlib>
    #include <iostream>
    #include "GradeBook.h"
    #include <conio.h>
    using namespace std;

    int main()
    {
    GradeBook gradebook1("cs101 introduction to C++‎ programing");
    GradeBook gradebook2("cs102 data structures in C++‎");

    cout << "gradebook1 created for course:" << gradebook1.getCourseName() << "\ngradebook2 created for course: " << gradebook2.getCourseName() << endl;
    getch();
    return 0;
    }


    اما من نتونستم این سه تا مثال رو با موفقیت اجرا کنم شما میتونید بگید مشکل چیه؟

  4. #84
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    هیچ مشکلی نداره ، فقط اینو یادت رفته بود
     #include<string>


    اینو اول هر سه تا فایل بذار ، بعد اجراش کن

  5. #85
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشکلات من با ++C

    نقل قول نوشته شده توسط mabbaszadegan مشاهده تاپیک
    هیچ مشکلی نداره ، فقط اینو یادت رفته بود
     #include<string>
    اینو اول هر سه تا فایل بذار ، بعد اجراش کن
    من این کار رو کردم اما بازم ارور داد

  6. #86
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    چه اروری میده ؟

    من اجراش کردم ، اجرا شد

  7. #87
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    خوب ببین وقتی قسمت اول رو میخوام کامپایل کنم این ارور رو میده
    [Linker error] undefined reference to `WinMain@16'
    ld returned 1 exit status

    و وقتی قسمت دوم رو مینویسم و میخوام کامپایل کنم این ارور ها رو میده
    \Dev-Cpp\bin\t2.cpp C:\Dev-Cpp\bin\C GradeBook.h: No such file or directory.
    7 C:\Dev-Cpp\bin\t2.cpp `GradeBook' has not been declared
    8 C:\Dev-Cpp\bin\t2.cpp ISO C++‎ forbids declaration of `GradeBook' with no type
    C:\Dev-Cpp\bin\t2.cpp In function `int GradeBook(std::string)':
    9 C:\Dev-Cpp\bin\t2.cpp `setCourseName' undeclared (first use this function)
    (Each undeclared identifier is reported only once for each function it appears in.)
    At global scope:
    12 C:\Dev-Cpp\bin\t2.cpp `GradeBook' is not a class or namespace
    C:\Dev-Cpp\bin\t2.cpp In function `void setCourseName(std::string)':
    13 C:\Dev-Cpp\bin\t2.cpp `void setCourseName(std::string)' used prior to declaration
    14 C:\Dev-Cpp\bin\t2.cpp `coursename' undeclared (first use this function)
    14 C:\Dev-Cpp\bin\t2.cpp At global scope:
    17 C:\Dev-Cpp\bin\t2.cpp `GradeBook' is not a class or namespace
    C:\Dev-Cpp\bin\t2.cpp In function `std::string getCourseName()':
    19 C:\Dev-Cpp\bin\t2.cpp `coursename' undeclared (first use this function)
    19 C:\Dev-Cpp\bin\t2.cpp At global scope:
    22 C:\Dev-Cpp\bin\t2.cpp `GradeBook' is not a class or namespace

  8. #88
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    اینارو امتحان کن ، من همین الان اجراش کردم


    1- سرفایل gradebook.h
    using namespace std;
    #include<string>
    class GradeBook
    {
    public:
    GradeBook( string );
    void setCourseName( string );
    string getCourseName();
    void displaymessage();
    private:
    string coursename;
    };


    2- فایل کد منبع gradebook.cpp
    #include <cstdlib>
    #include <iostream>
    #include "GradeBook.h"
    using namespace std;
    #include<string>
    GradeBook::GradeBook( string name )
    {
    setCourseName( name );
    }
    void GradeBook::setCourseName( string name )
    {
    coursename = name;
    }
    string GradeBook::getCourseName()
    {
    return coursename;
    }
    void GradeBook::displaymessage()
    {
    cout << "welcome to the gradebook for \n" <<getCourseName()<<endl;
    }


    3- تابع main
    #include<conio.h>
    #include<string>
    #include <iostream>
    #include "GradeBook.h"
    using namespace std;
    int main()
    {
    GradeBook gradebook1("cs101 introduction to C++‎‎ programing");
    GradeBook gradebook2("cs102 data structures in C++‎‎");

    cout << "gradebook1 created for course:" << gradebook1.getCourseName() << "\ngradebook2 created for course: " << gradebook2.getCourseName() << endl;
    _getch();
    return 0;
    }

  9. #89
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    بازم همون ارور ها رو میده یعنی اشکال از کجا میتونه باشه؟

  10. #90
    کاربر جدید
    تاریخ عضویت
    آذر 1388
    محل زندگی
    khoozestan
    پست
    7

    نقل قول: مشکلات من با ++C

    سلام خوبی؟
    ساختار do while به شکل زیر و شما اشتباه نوشتی
    Do{
    دستور;
    دستور2;
    .
    .
    (شرط)while {
    در این برنامه ای که شما نوشتی یک تکرار بی نهایت while ایجاد شده است تا تعدادی نامعلوم عدد بخونه و وارون آنها را نمایش بده.برای ایجاد حلقه تکرار بی نهایت در شرط حلقه (1) قرار میدیم ، 1 مقداری غیر صفر است و در c دارای ارزش درستی است و در طول اجرای برنامه تغییر نمی کنه.
    می تونی از کتاب C++‎ جعفر نزاد قمی استفاده کنی خیلی به دردت می خوره

  11. #91
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشکلات من با ++C

    نقل قول نوشته شده توسط mehrara_bolouri مشاهده تاپیک
    سلام خوبی؟
    ساختار do while به شکل زیر و شما اشتباه نوشتی
    Do{
    دستور;
    دستور2;
    .
    .
    (شرط)while {
    در این برنامه ای که شما نوشتی یک تکرار بی نهایت while ایجاد شده است تا تعدادی نامعلوم عدد بخونه و وارون آنها را نمایش بده.برای ایجاد حلقه تکرار بی نهایت در شرط حلقه (1) قرار میدیم ، 1 مقداری غیر صفر است و در c دارای ارزش درستی است و در طول اجرای برنامه تغییر نمی کنه.
    می تونی از کتاب C++‎‎ جعفر نزاد قمی استفاده کنی خیلی به دردت می خوره
    اصلا برنامه من در مورد while نیست

  12. #92
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    نمیدونم اشکال کجاست ، من همین کد رو با vs 2008 کامپایل کردم ، هیچ اروری نداد

    فک نکنم ++dev c با vs فرقی بکنه

  13. #93
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    میگم شاید مشکل از نحوه ذخیره کردن برنامه باشه
    من هر کدوم از این سه قسمت رو با پسوند cpp. ذخیره میکنم شاید نباید این شکلی عمل کنم
    من بازم امتحان کردم ولی این بار فقط به قسمت اول گیر داد الان vs2008 رو نصب میکنم و رو اون هم امتحان میکنم
    آخرین ویرایش به وسیله majmaji : جمعه 25 دی 1388 در 10:55 صبح

  14. #94
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    خب همینه دیگه !!!!!!

    باید اینو با پسوند .h ذخیره کنی :

    using namespace std;
    #include<string>
    class GradeBook
    {
    public:
    GradeBook( string );
    void setCourseName( string );
    string getCourseName();
    void displaymessage();
    private:
    string coursename;
    };

  15. #95
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    ببین من میخوام تو vs 2008 بنویسم اما نمیدونم چجوری
    من یه win 32 کنسول درست کردم و برنامه خالی رو فعال کردم بعد 3 قسمت داره header و sourse و resourse که اولین برنامه رو باید تو اولی بنویسم و دومی رو تو دومی سومی رو که میخوام تو سومی بنویسم ارور میده باید چکار کنم؟

  16. #96
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    نه دیگه ، حالا وقتی win32 consoul رو ساختی ، روی یکی از اون پوشه ها کلیک راست کن و گزینه add -> new item رو انتخاب کن ، باید یه دونه h. و دوتا cpp. بسازی و کدهارو توش بنویسی

    اجرا کردی بگو

  17. #97
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    اجرا نمیشه نمیدونم چشه به نظرت ول کنم برم جلو یا نه بازم امتحان کنم؟
    امروز چند صد بار با dev امتحان کردم هر دفعه یه چیزی رو تغیر دادم ولی تو قسمت اول برنامه بعد از کامپایل ارور میده و یک ارور هم میده که میگه مثلا اگه اسم برنامه رو با majid ذخیره کرده باشم میگه majid.exe ساخته نشد و در قسمت دوم برنامه که میخوام کامپایل کنم به #include "GradeBook.h" گیر میده
    به نظرت ول کنم برم جلو

  18. #98
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    اینو امتحان کن ، اگه جواب نداد بیخیالش شو
    فایل های ضمیمه فایل های ضمیمه

  19. #99
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    نه نشد.
    بریم سراغ مثال بعدی
    مثال بعدی در مورد معتبر سازی نام درس هست که در این مثال می خواهیم درسی چاپ بشه که دارای 25 کارکتر یا کمتر هست
    این هم همون 3 قسمت برنامه
    #include <cstdlib>
    #include <iostream>
    #include <string>

    using namespace std;
    class GradeBook
    {
    public:
    GradeBook(string);
    void setCourseName(string);
    string getCourseMan();
    void displaymessage();
    private:
    string coursename;
    };



    قسمت دوم
    #include <cstdlib>
    #include <iostream>
    #include <string>
    #include "GradeBook.h"

    using namespace std;

    GradeBook::GradeBook(string name)
    {
    setCourseName(name);
    }

    void GradeBook::setCourseName(string name)
    {
    if ( name.Length() <= 25 )
    coursename = name;

    if ( name.Length() < 25 )
    {
    coursename = name.substr( 0, 25 )

    cout << "name \"" << name << "\" exceeds maximum length (25).\n" <<endl;
    }
    }

    sring GradeBook::getCourseName()
    {
    return coursename;
    }

    void GradeBook::displaymessage()
    {

    cout << "welcome to the gradebook for \n" << getCourseName() << endl;
    }

    قسمت سوم
    #include <cstdlib>
    #include <iostream>
    #include <string>
    #include "GradeBook.h"
    #include <conio.h>

    using namespace std;

    int main()
    {
    GradeBook gradebook1( "cs101 introduction to programing in C++‎" );
    GradeBook gradebook2( "cs102 C++‎ data structures" );

    cout << "gradebook1's initial course name is:" << gradebook1.getCuorseName()
    << "\ngradebook2;s initial course name is:" << gradebook2.getCourseName() <<endl;

    gradebook1.setCourseName( "cs101 C++‎ programing" );

    cout << "gradebook1's course name is:" << gradebook1.getCuorseName()
    << "\ngradebook2;s course name is:" << gradebook2.getCourseName() <<endl;

    return 0;
    getch();
    }

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

  20. #100
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    خوب کتاب یک سری توضیحات اورده که من رو اونا یک سری سوال دارم
    name.length() یک احضار تابع عضو است ما که در برنامه تابع ()length رو تعریف نکردیم. تازه مگه name یک داده عضو نبود پس چرا در اینجا از اون به عنوان یک شی استفاده شده و با اون یک تابع فراخوانی میشه؟
    در کلاس string کتابخانه ++C استاندارد تابع عضو length تعریف شده است که تعداد کارکتر های داخل یک شی string را بر میگرداند. منظورش از
    کلاس string کتابخانه ++C استاندارد همون #include <string> هست؟
    آیا تابع length فقط برای اشیا مورد استفاده قرار میگیره؟ برای داده هایی که از نوع int هستند چطور؟ برای پارامتر های یک تابع چطور؟


  21. #101
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    #include<string>
    این خط کلاسی به اسم sting رو دراختیار میذاره ، این کلاس هم مثل همین کلاسهایی که خودت نوشتی یه سری توابع عضو داره ، اعضای داده ای داره ، سازنده و مخرب و friend داره

    وقتی مینویسی :
    string name;
    یک شی name از کلاس string تعریف کردی، حالا توسط این شی میتونی از توابع عضو کلاس string استفاده کنی

    اگه دوست داشتی این لینکها رو ببین :

    http://www.cplusplus.com/reference/s...string/length/
    http://www.cplusplus.com/reference/s...string/insert/
    http://www.cplusplus.com/reference/string/getline/
    http://www.cplusplus.com/reference/string/string/empty/

    البته این فقط چهارتا از توابع مهمشه ، بقیشو خودت دوست داشتی ببین


    موفق باشی

  22. #102
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    آها تازه فهمیدم خوب برای اینکه بدونیم کلاس هایی که قبلا نوشته شده مثل همین string چه توابعی رو در اختیار میزاره و این توابع چه کار میکنن باید همین سایت ها رو بخونیم؟
    تازه در آخر این فصل یک سری جمع بندی داره که یه مروری هم بر اینا برویم
    در این فصل آموختید که چگونه کلاس های تعریف شده توسط کاربر را ایجاد کنید و نیز چگونه اشیا این کلاس ها را ایجاد و از آنها استفاده کنید بخصوص اینکه داده های عضو یک کلاس را برای نگهداری و ذخیره داده های هر شی از کلاس اعلان کردیم.
    در مورد این قسمتی که آبی شده می خواستم بگم من کجای این مثال ها این کار رو کردم؟
    آموختید که چگونه توابع عضو یک شی را برای درخواست خدماتی که ارائه می دهد احضار کنید و چگونه داده ها را به عنوان آرگومان به آن تابع عضو منتقل کنید.
    این بالایی رو هم نمیدونم کجا ازش استفاده میکردیم.
    تازه این مثال آخریه رو هم نتونستم اجرا کنما مثل همون قبیه ارور میده

  23. #103
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    برای اینکه بدونیم کلاس هایی که قبلا نوشته شده مثل همین string چه توابعی رو در اختیار میزاره و این توابع چه کار میکنن باید همین سایت ها رو بخونیم؟
    دقیقا ، اگه میخوای تو برنامه نویسی پیشرفت کنی ، باید مراجع زیادی رو ببینی ؛ این چند تا سایت رو واسه شروع یادت باشه :
    http://www.cplusplus.com/
    http://msdn.microsoft.com/
    http://www.planet-source-code.com/
    http://www.codeproject.com/

    اگه زبانت خوبه ، این آخری خیلی به دردت میخوره

    داده های عضو یک کلاس را برای نگهداری و ذخیره داده های هر شی از کلاس اعلان کردیم.
    اگه یادت باشه ، قبل از اینکه از توابع set و get استفاده کنی ، به طور مستقیم داده ها رو مقداردهی میکردی

    توابع عضو یک شی را برای درخواست خدماتی که ارائه می دهد احضار کنید و چگونه داده ها را به عنوان آرگومان به آن تابع عضو منتقل کنید.
    توابع عضو set و get و یه تابع عضو displaymessage رو باهاش کار کردی ؛

    تازه این مثال آخریه رو هم نتونستم اجرا کنما مثل همون قبیه ارور میده
    نمیدونم والا ، من اجرا کردم ، اجرا شد ؛ از مدیرای بخش سوال کن ،

    موفق باشی

  24. #104
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    دست گلت درد نكنه محمد جان خيلي بهت زحمت دادم خدا بخواد ديگه فصل 3 تموم شد و حالا رسيديم سر تمريناش. من از اين بخش خوشم مياد چون سوالاش حرفه اي طراحي شده و اگه كسي كتاب رو سرسري خونده باشه نميتونه به سوالا جواب بده
    اگه اشكال نداره من سوالا رو بنويسم و جوابشو بگم شما ببين من درست ميگم يا غلط:
    1- در مورد تفاوت پيش نمونه تابع و تعريف تابع توضيح دهيد:
    در پيش نمونه يك تابع ما نام تابع، نوع برگشتي آن و تعداد و نوع داده ها و ترتيب قرار گرفتن پارامتر ها رو كه از تابع انتظار دريافت آن را داريم تعريف مي‌كنيم اما تابع را به صورت كامل تعريف نميكنيم به صورت زير
    void setCourseName(string name) ولي در تعريف تابع ما تابع را در كل تعريف ميكنيم يعني عملياتي را كه تابع انمام مي دهد را هم تعريف ميكنيم

    2- سازنده پيش فرض چيست؟ اگر در كلاسي فقط يك سازنده پيش فرض به طور ضمني تعريف شده باشد داده هاي عضو اين كلاس چگونه مقدار اوليه ميگيرند؟
    سازنده پيش فرض به داده عضو كلاس مقدار اوليه نميدهد اما براي هر داده ي عضوي كه يك شي از كلاس ديگر است سازنده پيش فرض را احضار مي‌كند. قسمت دوم سوال رو هم نميدونم
    3- در مورد هدف از استفاده داده عضو را توضيح دهيد:
    خوب اگر از متغير محلي استفاده شود فقط در همان محل تعريف تا آخر جايي كه آكولاد بسته مي‌شود قابل استفاده است براي اين كه بتونيم مطمئن بشيم و در چند تابع در يك كلاس از اون استفاده كنيم بايد اون رو به صورت داده عضو تعريف كنيم.
    4- سرفايل چيست؟ فايل كد مبدا چيست؟ هدف استفاده از هر يك را توضيح دهيد؟
    سرفايل ها قسمتي از برنامه هستند كه داراي پسوند h. هستند و فايل كد مبدا نيز قسمتي از برنامه هستند كه داراي پسوند cpp. هستند
    براي امنيت بيشتر و براي اينكه كاربر مشتري به برنامه دسترسي نداشته باشه از اين دو استفاده ميشه.
    5- توضيح دهيد چگونه بدون نوشتن اعلان using در يك برنامه ميتوان از كلاس string استفاده كرد؟
    فكر كنم بايد كل كلاس string با تابع درونش و عملياتي كه انجام ميده رو يك بار تعريف كنيم
    6- توضيح دهيد چگونه يك كلاس مي تواند يك تابع set و يك تابع get براي يك داده عضو فراهم سازد
    خوب ما اين كار رو در مثال هايي كه با هم نوشتيم و بحث و بررسي كرديم انجام داديم درسته؟
    دادا اينا باشه بقيش برنامه نويسي هست من دارم روشون فكر ميكنم يخته سخته ولي الان رفتم زيرخمشو گرفتم

  25. #105
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    سلام مجید جان ، آفرین ، خیلی خوبه
    البته زیاد رو تعریفها نمیخواد گیر بدی ، وقتی خودت کد بنویسی ، به طور اتوماتیک تعریفها هم یاد میگیری

    دادا اینا باشه بقیش برنامه نویسی هست من دارم روشون فکر میکنم یخته سخته ولی الان رفتم زیرخمشو گرفتم
    ببینم چه میکنی

  26. #106
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    خوب ما با 5 تا برنامه روبرو هستیم اولی همون کلاس gradebook هست که میگه یکاری کنید تا برنامه اسم استاد ردس را هم چاپ کند من برنامه رو نوشتم در دو قسمت یکی تعریف کلاس و دیگری تابع main اما بازهم همون ارور رو میده
    #include <cstdlib>
    #include <iostream>
    #include <string>
    using namespace std;

    class GradeBook
    {
    public:
    GradeBook( string name, a)
    {
    setCourseName( name, a );
    }

    void setCourseName( string name )
    {

    coursename = name;
    }

    string getCourseName()
    {
    return coursename;
    }
    void setTeacherName( string a )
    {
    teachername = a;
    }
    string getTeacherName()
    {
    return teachername;
    }

    void displaymessage()
    {

    cout << "this course is presented by\n" << getTeacherName() << "welcome to the gradebook for\n" << getCourseName() << endl;
    }
    private:
    string coursename;
    string a;
    };

    و قسمت دوم برنامه
    #include <cstdlib>
    #include <iostream>
    #include <string>
    #include <conio.h>
    #include "GradeBook.h"

    using namespace std;

    int main()
    {
    GradeBook gradebook1( "cs101 introduction to C++‎ programing" );
    GradeBook gradebook2( "this course is peresented by majid & mohamad" );

    cout <<"gradebook1 created for course: " << gradebook1.getCourseName() << "\ngradebook2 is the name of teacher:" << gradebook2.getTeacherName() <<endl;
    getch();
    return 0;
    }

  27. #107
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    خب کدت چندتا ایراد داشت ، دونه دونه بررسیش میکنیم :

    1. اعضای داده ای کلاس عبارتند از :
    coursename و teachername که این دومی رو یادت رفته بود تعریف کنی ؛
    پس داریم :
    private:
    string coursename;
    string teachername;


    2. سازنده باید اعضای داده ای رو مقداردهی کنه ، پس اگه قراره سازنده ت دوتا آرگومان داشته باشه ، باید بنویسی :
    GradeBook( string a, string b)
    {
    coursename=a;
    teachername=b;

    }


    3. توابع set و get رو درست نوشتی

    خب این از مشکلات تابع اولت ، کد اصلاح شده قسمت اول اینطوری میشه :

    GradeBook.h
    #include <cstdlib>
    #include <iostream>
    #include <string>
    using namespace std;

    class GradeBook
    {
    public:
    GradeBook( string a, string b)
    {
    coursename=a;
    teachername=b;

    }

    void setCourseName( string name )
    {

    coursename = name;
    }

    string getCourseName()
    {
    return coursename;
    }
    void setTeacherName( string a )
    {
    teachername = a;
    }
    string getTeacherName()
    {
    return teachername;
    }

    void displaymessage()
    {

    cout << "this course is presented by\n" << getTeacherName() << "welcome to the gradebook for\n" << getCourseName() << endl;
    }
    private:
    string coursename;
    string teachername;

    };


    واما تابع main.cpp :
    فقط یه مشکل داشت ، سازنده ای که تعریف کردی دوتا آرگومان میگیره ، پس توی تابع main هم باید با دو آرگومان صدازده بشه ؛ مثلا :
    GradeBook gradebook1( "cs101 introduction to C++‎‎ programing","Mohammad" );
    GradeBook gradebook2( "this course is peresented by majid & mohamad","Majid" );


    شکل اصلاح شده تابع main.cpp:
    #include <cstdlib>
    #include <iostream>
    #include <string>
    #include <conio.h>
    #include "GradeBook.h"

    using namespace std;

    int main()
    {
    GradeBook gradebook1( "cs101 introduction to C++‎‎ programing","Mohammad" );
    GradeBook gradebook2( "this course is peresented by majid & mohamad","Majid" );

    cout <<"gradebook1 created for course: " << gradebook1.getCourseName() << "\ngradebook2 is the name of teacher:" << gradebook2.getTeacherName() <<endl;
    getch();
    return 0;
    }


    من اجرا کردم ، اجرا شد ، حالا بازم امتحان کن ، اگه نشد یه پست جداگونه بذار از مدیرای بخش سوال کن


    موفق باشی

  28. #108
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    آره دادا درست شد میدونی اشکال کارم کجا بود قسمت اول رو باید با همون نام کلاس ذخیره میکردم ولی من با یه نام دیگه ای ذخیره میکردم

    دادا در برنامه دوم از ما میخواد که کلاس account رو درست کنیم با این شرایط:
    کلاس باید دارای یک داده عضو از نوع int برای نمایش موجودی حساب باشد.
    باید سازنده ای ایجاد کنید که موجودی اولیه مشتری را دریافت کند و از آن برای مقدار اولیه دادن به داده عضو استفاده کند. سازنده باید مقدار اولیه موجودی را ارزیابی کند تا معلوم شود بزرگتر است یا برابر با صفر است در غیر اینصورت باید مقدار اولیه برابر با صفر قرار داده شود.
    تابع عضو credit باید یک مقدار به مقدار اولیه اضافه کند.
    تابع عضو debit باید پول را از حساب برداشت کند و باید اطمینان دهد که مقدار بدهکاری بیشتر از موجودی account نیست
    در صورت مثبت بودن جواب موجودی نباید تغیر کند و موجودی باید پیغامی مبنی بر "debit amount exceeded account balance" است در خروجی چاپ کند.
    تو برنامه گفته از 3 تابع استفاده کنید من هر کاری میکنم 4 تابع میشه تازه اینجا دو تا شرط داره یکی تو قسمت سازنده یکی هم تو قسمت برداشت پول من نمیدونم این دو تا رو چه جوری بیان کنم چون هنوز منظور سوال رو نفهمیدم تو قسمت سازنده میگه اگه بزرگتر یا براب 0 نبود خوب این به این معنی هست که مقدار پول منفی باشه و منفی یعنی اینکه بدهکاری خوب اگه مشتری بدهکار باشه بدهکاریش از بین میره
    و در قسمت دوم شرطی که در قسمت برداشت میگه مقدار بدهکاری بیشتر از موجودی نباشه؟
    من گیج شدم
    و نمیدونم از کجا باید شروع کنم اگه میشه یه نقطه شروع برای من مشخص کن
    ممنون

  29. #109
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    خب ، خدا رو شکر که اجرا شد


    خب به نظرم اول شروع کن به نوشتن کلاس ، اعضای داده ای رو مشخص کن ، بعد هرجوری به نظر خودت معقوله واسش شرط بذار ، مثلا در مورد سازنده :
    سازنده زمانی صدا زده میشه که بخواهی شی جدیدی رو معرفی کنی (در واقع این شی همون شخصیه که میخواد حساب باز کنه) ؛ خب برای باز کردن حساب شخص باید مقداری پول اولیه بریزه توحسابش ، مسلما این پول یه مقدار مثبت و حتی شاید بزرگتر از 10000$ داشته باشه ؛

    یا در مورد تابع credit باید به حساب شخص پول واریز کنه ، پس این تابع هم یه مقدار بزرگتر از صفر رو میگیره و به موجودی فرد اضافه میکنه

    بقیشو خودت تحلیل کن ، اگه به نظرت تابع دیگه ای هم نیاز داره بهش اضافه کن


    راستی یه چیزی :
    خیلی خوشم اومد ازت ، این تلاشت باعث شد منم خیلی چیزا رو یاد بگیرم ، همینطوری ادامه بدی ، مطمئنم حرفه ای میشی

    موفق باشی

  30. #110
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    کرج
    پست
    321

    نقل قول: مشکلات من با ++C

    در این دستور که گذاشتم اون قسمتی که بولد شده رو لطف می کنید توضیح بدید که چیکار می کنه.
    out_file.write((char*)&temp,sizeof(temp));

  31. #111
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    کرج
    پست
    321

    نقل قول: مشکلات من با ++C

    یه سوال دیگه هم دارم.این کد رو ببینید
    #include<iostream>
    using namespace std;
    int main(){

    int max;

    cout<<"enter a number:";
    cin>>max;
    if(!cin.bad()){
    cin.clear();
    cout<<"enter an integer number please:";
    cin>>max;
    }
    cout<<"max is:"<<max<<endl;

    return 0;
    }
    خوب این برنامه باید اگر کاربر در ورودی کاراکتر وارد کرد اخطار بده و ورودی جدید دریافت کنه.اگر برای ورودی اول کاراکتر بزنیم وارد شرط میشه و پیغام رو نمایش میده اما دیگه ورودی نمی گیره و داخل متغیر max یه عدد نامفهوم قرار میگیره.وقتی اول بلوک شرط cin.clear() هم می ذارم باز تغییر نمی کنه و ورودی نمی گیره.
    مشکل از کجاست؟

  32. #112
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    خوب آقا محمد این برنامه من با توضیحاتی که در پست قبلی زدم این برنامه رو نوشتم:
    #include <cstdlib>
    #include <iostream>
    #include <string>

    using namespace std;

    class Account
    {
    public:
    Account (int mojodi)
    {

    void cerdit (mojodi);
    }
    void cerdit (int mojodi, int a)
    {
    mojodihesab = mojodi;
    mojodihesab = mojodihesab + a;
    }
    void debit (int b)
    {
    if( b < mojodihesab)
    mojodihesab = mojodihesab - b;
    }
    void getbakanc()
    {
    return mojodihesab;
    }
    private:
    int mojodihesab;
    int a;
    int b;
    };


    و این هم قسمت دوم
    #include <cstdlib>
    #include <iostream>
    #include <conio.h>
    #include "Account.h"

    using namespace std;
    int main()
    {
    Account accoount1;
    cout << "account1 mojodihesab ra neshan midahad" << account1.getbalance() << endl;
    getch();
    return 0;
    }

  33. #113
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشکلات من با ++C

    نقل قول نوشته شده توسط white tower مشاهده تاپیک
    در این دستور که گذاشتم اون قسمتی که بولد شده رو لطف می کنید توضیح بدید که چیکار می کنه.
    out_file.write((char*)&temp,sizeof(temp));
    منم دقیقا نمیدونم ، فک کنم مال کتاب جعفرنژاده
    تا این حد میدونم که این دستور مقادیری رو که از کاربر گرفته ،توسط جریان out_file میریزه توفایل (این روش در فایلهای باینری کاربرد داره )


    یه سوال دیگه هم دارم.این کد رو ببینید
    کد:
    #include<iostream>
    using namespace std;
    int main(){

    int max;

    cout<<"enter a number:";
    cin>>max;
    if(!cin.bad()){
    cin.clear();
    cout<<"enter an integer number please:";
    cin>>max;
    }
    cout<<"max is:"<<max<<endl;

    return 0;
    }
    خوب این برنامه باید اگر کاربر در ورودی کاراکتر وارد کرد اخطار بده و ورودی جدید دریافت کنه.اگر برای ورودی اول کاراکتر بزنیم وارد شرط میشه و پیغام رو نمایش میده اما دیگه ورودی نمی گیره و داخل متغیر max یه عدد نامفهوم قرار میگیره.وقتی اول بلوک شرط cin.clear() هم می ذارم باز تغییر نمی کنه و ورودی نمی گیره.
    مشکل از کجاست؟
    خب واسه اینکه باید شرط رو توی حلقه بذاری ، مثلا از while استفاده کن و تا وقتی کاربر کارکتر وارد میکنه حلقه اجرا بشه

  34. #114
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    خب مجید جان ، کارت نسبتا خوب بود ، فقط :
    1. چرا سه تا عضو داده ای ؟ به نظرت یه عضو کافی نیست ؟
    2. بازم سازنده رو بد تعریف کردی ، سازنده وظیفه مقداردهی به اعضای داده ای رو داره ، یعنی سازنده Account باید اعضای داده ای کلاس رو مقدار دهی کنه ؛
    3. برنامه رو طوری بنویس که واست راحته ، به نظرم بعضی جاها خیلی به خودت سخت گرفتی ، ولی درکل خوب بود

    موفق باشی

  35. #115
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشكلات من با ++C

    دادا من مخم هنگ کرده این مثال رو میتونی برام بنویسی تا من دقیقا هم منظور شما رو بفهمم و هم منظور سوال کتاب رو
    چون ما باید 2 تا داده دیگه داشته باشیم برای برداشت و سپرده گذاری
    تازه من باز هنوز منظور این دو تا شرطی رو که سوال گذشته نمیفهمم

  36. #116
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشكلات من با ++C

    سلام
    اینو یه نگاه بنداز :
    #include <cstdlib>
    #include <iostream>
    #include <string>

    using namespace std;

    class Account
    {
    private:
    int mojodihesab;

    public:
    Account (int mojodi)
    {
    //واسه افتتاح حساب حداقل باید 10000$ بریزه به حساب ، وگرنه حساب صفر میشه
    if(mojodi>10000) {
    mojodihesab=mojodi; }
    else {
    mojodihesab=0;
    }
    }
    // این تابع یه مقداری رو به حساب کاربر میریزه
    // مسلما این مقدار باید بزرگتر از صفر باشه
    void cerdit (int a)
    {
    if(a>0)
    mojodihesab = mojodihesab + a;

    }
    // این تابع رو خودت درست نوشتی ، دیگه توضیح نمیدم
    void debit (int b)
    {
    if( b < mojodihesab)
    mojodihesab = mojodihesab - b;
    }
    // این تابع موجودی شخص رو برمیگردونه ، که خودت درست نوشته بودی
    // من فقط اسمشو عوض کردم
    int getmojodihesab()
    {
    return mojodihesab;
    }

    };

    سوالی بود ، درخدمتم

  37. #117
    کاربر جدید
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    شیراز
    پست
    13

    نقل قول: مشکلات من با ++C

    یک نفر می شه به من بگه که با چه version کار می کنید؟

    واسه من using namespace اصلا قبول نمی کنه.

  38. #118
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشکلات من با ++C

    نقل قول نوشته شده توسط mabbaszadegan مشاهده تاپیک
    سلام
    اینو یه نگاه بنداز :
    #include <cstdlib>
    #include <iostream>
    #include <string>

    using namespace std;

    class Account
    {
    private:
    int mojodihesab;

    public:
    Account (int mojodi)
    {
    //واسه افتتاح حساب حداقل باید 10000$ بریزه به حساب ، وگرنه حساب صفر میشه
    if(mojodi>10000) {
    mojodihesab=mojodi; }
    else {
    mojodihesab=0;
    }
    }
    // این تابع یه مقداری رو به حساب کاربر میریزه
    // مسلما این مقدار باید بزرگتر از صفر باشه
    void cerdit (int a)
    {
    if(a>0)
    mojodihesab = mojodihesab + a;

    }
    // این تابع رو خودت درست نوشتی ، دیگه توضیح نمیدم
    void debit (int b)
    {
    if( b < mojodihesab)
    mojodihesab = mojodihesab - b;
    }
    // این تابع موجودی شخص رو برمیگردونه ، که خودت درست نوشته بودی
    // من فقط اسمشو عوض کردم
    int getmojodihesab()
    {
    return mojodihesab;
    }

    };
    سوالی بود ، درخدمتم
    خوب یک سوال مگه ما از دو متغیر a و b استفاده نمیکنیم؟ پس چرا اون ها رو معرفی نکردیم تازه مگه این دو مقدار نباید توسط ما به کامپیوتر داده بشه پس به نظر من دو تا cin کم داره

  39. #119
    کاربر تازه وارد آواتار majmaji
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    34
    پست
    96

    نقل قول: مشکلات من با ++C

    نقل قول نوشته شده توسط shp_com مشاهده تاپیک
    یک نفر می شه به من بگه که با چه version کار می کنید؟

    واسه من using namespace اصلا قبول نمی کنه.
    سلام
    ما داریم با کتاب دایتل پیش میریم
    و در کامپایلر dev-C++‎ کار میکنیم

  40. #120
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: مشکلات من با ++C

    سلام ، خوشحالم که کم کم داره تعدادمون زیاد میشه ، خوش اومدی shp_com ،

    نقل قول نوشته شده توسط majmaji مشاهده تاپیک
    خوب یک سوال مگه ما از دو متغیر a و b استفاده نمیکنیم؟ پس چرا اون ها رو معرفی نکردیم تازه مگه این دو مقدار نباید توسط ما به کامپیوتر داده بشه پس به نظر من دو تا cin کم داره
    a و b به عنوان آرگومان وارد تابع میشند ، اگه بخواهی اونا رو کاربر وارد تابع کنه ، توی تابع main باید cin کنی و بفرستیشون تو تابع


    موفق باشی

صفحه 3 از 5 اولاول 12345 آخرآخر

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

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