جستجو

لينک هاي روزانه

برچسب ها

سعید دامغانیان (275)     رادیو صدای ققنوس (106)     برنامه نویسی (104)     ترانه سرا (94)     شعر کوتاه (77)     پایتون (65)     شعر عاشقانه (45)     شاه بیت (30)     منزلگه ققنوس (28)     برگ ریز (21)     شب (19)     ترانه (18)     دامغانیان (17)     شعر (16)     سکوت (13)     جاوا اسکریپت (12)     saeed damghanian (12)     طراحی وب (9)     html (8)     ساختمان داده ها (8)     عکس نوشته (8)     C (7)     سی پلاس پلاس (7)     کوییز پایتون (7)     شعر بی دروغ (6)     آموزش اندروید (5)     ترانه جدید (5)     زبان پایتون (5)     مینا جلالی (5)     android programming (5)     ترانه سعید دامغانیان (5)     مهتاب عاشق (5)     شی گرایی در پایتون (5)     گلایه (4)     بارون (4)     طراحی سایت (4)     دیتابیس در پایتون (4)     پایگاه داده ها پایتون (4)     زبان انگلیسی (3)     غزل (3)     CPP (3)     پروژه پایتون (3)     عاشقانه (2)     رویا (2)     آموزش برنامه نویسی (2)     پس زمینه (2)     فوتوشاپ (2)     استراکچر (2)     اچ تی ام ال (2)     Ajax (2)     ماشین حساب (2)     شعر جدید (2)     طراحی گرافیک (2)     پشته (2)     سپیدار (2)     هلهله (2)     پایگاه داده ها (2)     Python (2)     زبان برنامه نویسی پایتون (2)     الهه ی عشق (2)     کتاب جدید سعید دامغانیان (2)     سقف مهتاب (2)     توابع در پایتون (2)     کلاس در پایتون (2)     مونگو دیبی (2)     طراحی فوتوشاپ (2)     Turtle in Python (2)     پیراهن (1)     غدیر خم (1)     امید دارم (1)     مدار منطقی (1)     تبریک روز پدر (1)     آرایه ها (1)     اعجاز (1)     اعداد اول (1)     پاورقی (1)     رنگ عشق (1)     چشم انتظار (1)     عشق قدیمی (1)     هم نفس (1)     روز پدر (1)     بهونه (1)     سراب (1)     رنگارنگ (1)     تاسوعا (1)     دل بیمار (1)     شهادت حضرت زهرا (1)     کدنویسی (1)     خبرفوری (1)     حل المسائل (1)     کهکشان (1)     فریاد (1)     مبانی کامپیوتر (1)     آتش عشق (1)     English (1)     یادگاری (1)     بهانه (1)     نیایش (1)     خبر فوری (1)     شعر سپید (1)    

   منزلگه ققنوس          


○○○مدیر سایت: سعید دامغانیان
○○مهندس کامپیوتر - نرم افزار
○برنامه نویس فول استک
○عضو ارشد جامعه برنامه نویسی نسترن
○صاحب امتیاز رسانه رادیو صدای ققنوس
○مدرس گرافیک و طراحی سه بعدی

اکانت ما در شبکه هاي اجتماعي :

اکانت ما در فيسبوک  اکانت ما در اينستاگرام  اکانت ما در توييتر


رادیو صدای ققنوس

در این مثال , شما یاد میگیرید که اطلاعاتی را که توسط کاربر وارد شده با استفاده از تخصیص حافظه پویا ذخیره کنید .

برای اینکه این مثال را متوجه شوید باید با مباحث زیر آشنایی داشته باشید:

برنامه پس از اجرا ابتدا تعداد رکوردها را (که یک عدد صحیح میباشد) از کاربر گرفته و به ازای هر رکورد یک اسم subject  و یک mark میگیرد. Subject به صورت رشته و marks بصورت integer وارد میشود. سپس اطلاعات وارد شده در استراکچر را نمایش میدهد.

رادیو صدای ققنوس

یک نمونه خروجی:

زبان برنامه نویسی C

دانلود سورس کد

همیشه در حال یادگیری و بدرود
سعید دامغانیان - رادیو صدای ققنوس

نوشته شده در دوشنبه بیستم دی ۱۴۰۰ ساعت 22:36 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • این پروژه ، یک مینی پروژه غیر گرافیکی (تحت کنسول است) که کاربر باید یک عدد را طی مراحل زیر حدس بزند.

    • کاربر حد بالا و حد پایین را که دو عدد هستند وارد میکند . مثلا 1 و 10 (یعنی میخواهد عددی بین 1 تا 10 را حدس بزند)
    • برنامه یک عدد صحیح تصادفی بین این دو مقدار را تولید میکند و در متغیری ذخیره مینماید.
    • برای حدس زدنهای متوالی یک حلقه while نوشتیم.
    • اگر کاربر عددی بالاتر از عدد تصادفی ساخته شده توسط مفسر پایتون یا کامپایلر سی وارد کرده باشد ، یک پیغام مبنی بر اینکه عدد وارد شده خیلی بزرگتر (از مقدار جواب) است چاپ می شود.
    • اگر کاربر عددی کمتر از عدد تصادفی ساخته شده توسط مفسر پایتون یا کامپایلر سی وارد کرده باشد ، یک پیغام مبنی بر اینکه عدد وارد شده خیلی کوچکتر (از مقدار جواب) است چاپ می شود.
    • و اگر کاربر عدد را در  تعداد دفعه های مجاز درست حدس بزند پیغام تبریک بر روی کنسول چاپ میشود.
    • و اگر کاربر عدد را طی چند مرحله مجاز درست حدس نزند پیغامی نمایش داده میشود که امیدواریم دفعه بعد بهتر عمل کنید.

    نمونه ای از خروجی را در تصویر زیر مشاهده میکنید:

    حدس عدد در سی و پایتون

    این برنامه به زبانهای C و Python نوشته شده است و میتوانید از لینک زیر فایلهای سورس را دانلود نمایید.

     دانلود سورس کدها

    همیشه در حال یادگیری و بدرود
    سعید دامغانیان - رادیو صدای ققنوس

    نوشته شده در یکشنبه نوزدهم دی ۱۴۰۰ ساعت 18:58 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • برنامه دفترچه تلفن (ساده) برای ++C

    در این برنامه ابتدا تعدادی شماره تلفن و اسم (هرکدام اول شماره و بعد اسم شخص) را میگیریم و در فایلی ذخیره میکنیم. تعداد نا متناهی است و جهت اعلام اینکه لیست تمام شده بجای شماره 0 میگذاریم. سپس اسم یک شخص را از ورودی گرفته و در فایل جستجو کرده و شماره تلفنش را برمیگردانیم(در صورت عدم وجود پیغامی نمایش داده میشود)

    دقت کنید بهتر است فرآیند دریافت اسم و شماره  و  فرآیند جستجو در دوبرنامه مستقل از هم نوشته شوند.


    i246665_1.png

    l013560_2.png

     

    نوشته شده در چهارشنبه پانزدهم آبان ۱۳۹۸ ساعت 15:24 توسط : سعید دامغانیان | دسته : برنامه نویسی با ++c
  •    []

  • what would be the output ?

    int main()
    {
       int a[10];
       printf("%d",*a+1-*a+3);
       return 0;
    }

    نوشته شده در جمعه یازدهم اسفند ۱۳۹۱ ساعت 12:41 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • What would be the output :

    void main()
    {
        int x=10, y=20, z=5, i;
        i = x
        printf("%d", i);
    }

    A. 0
    B. 1
    C. Error
    D. None of the above

    نوشته شده در جمعه یازدهم اسفند ۱۳۹۱ ساعت 12:39 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • What would be the output :

    int main()
    {
        int i=1, j=4, k=0;
        if( (i++ < j) && (++j > k++) || (++i > ++k) )
           printf("%d, %d, %d", i, j, k);
        return 0;
    }

    A. 3, 5, 2
    B. 2, 5, 1
    C. 2, 5, 2
    D. None of the above

    نوشته شده در جمعه یازدهم اسفند ۱۳۹۱ ساعت 12:38 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • what would be the output :

    void main()
    {
        int x=7;
        printf("%d" +1, x);
    }

    نوشته شده در جمعه یازدهم اسفند ۱۳۹۱ ساعت 12:36 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • what would be the output :

    void main()
    {

       int i=0;
       for( ; i ; )
       printf(" Magic of C.");

    }

    Options:

    1. No Output
    2. Compile time error
    3. Magic of C
    4. Magic of C infinite times

    نوشته شده در جمعه یازدهم اسفند ۱۳۹۱ ساعت 12:34 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • guess what is the output -

    main()
    {
        float a= 0.7;
        if(a<0.7)
           printf("hello C");
        else
           printf("hello C++");
    }

    نوشته شده در جمعه یازدهم اسفند ۱۳۹۱ ساعت 12:25 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • guess the output:

    void main()
    {
        unsigned int i=10;
        while(i-->=0)
           printf("%u ",i);
    }

    نوشته شده در جمعه یازدهم اسفند ۱۳۹۱ ساعت 12:23 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • سلام لیست پیوندی در زیان c به زبان ساده
    مختصات یک دایره را می گیرد و در لیست قرار می دهد
    #include < stdio.h >
    #include < stdlib.h >
    struct circle
    {
        int x , y , r;
        circle *link;
    }*circlestart;
    //----------------------------------------------------------------------------
    int circleinsert()
    {
        circle *ptr;
        ptr = (circle*) malloc(sizeof(circle)); //creat a memmory for new item
        ptr->link = NULL;
        printf("Please Enter x y r seprated by space\n");
        int x , y , r;
        scanf("%d %d %d" , &x , &y , &r);
        ptr->x = x;
        ptr->y = y;
        ptr->r = r;
        if (circlestart == NULL) //if the list is empty put the new one on the first position
        {
            circlestart = ptr;
            return 0;
        }
        circle *p1;
        p1 = circlestart;
        while ( p1->link != NULL) //searches for the last item in the list
        {
            p1 = p1->link;
        }
        p1->link = ptr;
        return 0;
    }
    //----------------------------------------------------------------------------
    int circleshow()
    {
        if (circlestart == NULL) //if the list is empty
        {
            printf("No Circle Excist To Show\n");
            return 0;
        }
        circle *ptr;
        ptr = circlestart;
        while (ptr != NULL) //nevigate all of the list and print it
        {
            printf("X: %d Y: %d R: %d\n" , ptr->x , ptr->y , ptr->r);
            ptr = ptr->link;
         
        }
         
        return 0;
     
    }
    //----------------------------------------------------------------------------
    int circledelete()
    {
        if (circlestart == NULL)//if the list is empty
        {
            printf("No circles to delete\n");
            return 0;
        }
        int x , y ,r;
        printf("Please Enter x y r seprate by space to delete\n");
        scanf("%d %d %d" , &x , &y , &r);
        if (circlestart->x == x &&  circlestart->y == y && circlestart->r == r) //if the item is in the first position
        {
            circle *p;
            p = circlestart;
            circlestart = circlestart->link;
            free(p);
            printf("deleted\n");
            return 0;
        }
        circle *ptr , *preptr;
        ptr = circlestart;
         
        while (ptr->link != NULL) // nevigate all the list to find the item and delete it
        {
            preptr = ptr;
            ptr = ptr->link;
            if (ptr->x == x &&  ptr->y == y && ptr->r == r)
            {
                (*preptr).link = (*ptr).link;
                printf("deleted\n");
                 
                free(ptr);
                return 0;
            }
             
        }
        printf("Not Found To Delete\n");
        return 0;
     
    }
    //----------------------------------------------------------------------------
    void menu()
    {
        printf("Please select an item with entering the number of it\n");
        printf("1- Creat a new circle\n");
        printf("2- Show circles\n");
        printf("3- Delete an exicting circle\n");
        printf("4- exit\n");
    }
    //----------------------------------------------------------------------------
    int main()
    {
        int key;
        do
        {
            menu();
            scanf("%d" , &key);
            switch(key)
            {
                case 1:
                    circleinsert();          
                    break;
                case 2:
                    circleshow();
                    break;
                case 3:
                    circledelete();
                    break;
                case 4:
                    return 0;      
            }
         
        }while(1);
        return 0;
    }

    نوشته شده در یکشنبه دهم دی ۱۳۹۱ ساعت 22:46 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • این برنامه عبارتهای جبری را می گیرد و نتیجه را نمایش می دهد:
    برای مثال عبارات زیر را وارد کنید و نتیجه را ببینید





    A*B/C-(D+F+G*(A-V)-D)
    A+B*C
    V-C+(((C*B-R)-E*F)/K-R+D^E)%N
    و یا هر عبارت دیگری

    شاید نصف روز و یا بیشتر می نوشتمش
    نکاتی در مورد برنامه
    1- فاصله در بین عبارت مجاز نمی باشد
    2- استفاده از 2 حرف بین یک عملگر مجاز نمی باشد
    3- نمی توان عدد وارد کرد و باید حتماً حرف وارد کرد و وقتی حرف وارد کنیم معادل عددی آن را می گیرد
    4- ورودی آن تا 100 کاراکتر می باشد که می توان آن را در برنامه بیشتر کرد.
    5- پرانتز باز شده حتماً باید بسته شود
    6- در این برنامه از پشته استفاده شده و آن هم با لیست پیوندی
    7- امیدوارم مورد استفاده دوستان قرار بگیرد
    8- اگر نیاز به الگوریتم آن دارید و یا توضیحاتی راجع به آن می خواهید خبرم کنید
    با تشکر
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    #include < stdlib.h >
    #include < stdio.h >
    #include < math.h >
    #include < conio.h >
    #include < string.h >
     
    //************************** stack ****************************************
    struct stack
    {
        char info;
        stack *link;
    }*ss;
    //************************** stack ****************************************
    struct stack2
    {
        long info;
        stack2 *link;
    }*ss2;
    //************************** num ***************************************
    struct number
    {
        long value;
        char chr;
        number *link;
    }*ns;
    //************************** check num **********************************
    long checknum(char chr)
    {
        number *ptr;
        ptr = ns;
        while ( ptr != NULL)
        {
            if ( ptr->chr == chr) return ptr->value;
            ptr = ptr->link;
        }
        return 0;
    }
    //************************** insert num **********************************
    void insertnum(long value, char chr)
    {
        number *ptr;
        ptr = (number*) malloc(sizeof(number));
        ptr->link = ns;
        ptr->chr = chr;
        ptr->value = value;
        ns = ptr;
    }
    //************************** push ***************************************
    void push(char item)
    {
        stack *ptr;
        ptr = (stack*) malloc(sizeof(stack));
        ptr->info = item;
        ptr->link = ss;
        ss = ptr;
    }
    //************************** pop ****************************************
    char pop()
    {
        stack *ptr;
        ptr = ss;
        char temp;
        temp = ss->info;
        ss = ss->link;
        free(ptr);
        return temp;
    }
    //************************** push ***************************************
    void push2(long item)
    {
        stack2 *ptr;
        ptr = (stack2*) malloc(sizeof(stack2));
        ptr->info = item;
        ptr->link = ss2;
        ss2 = ptr;
    }
    //************************** pop ****************************************
    long pop2()
    {
        stack2 *ptr;
        ptr = ss2;
        long temp;
        temp = ss2->info;
        ss2 = ss2->link;
        free(ptr);
        return temp;
    }
    //************************** mid ****************************************
    char mid ( char source[] , int position , int count , char destination[])
    {
        int qcount = 0 , len ;
        len = strlen(source);
        for ( int i = position - 1 ; i < position + count - 1 && i < len ; i++ , qcount++)
            destination[qcount] = source[i];
        destination[qcount] = 0; 
        if ( qcount == 1) return destination[0];
        else return 0;
    }
    //************************** priority **************************************
    int priority(char a , char b)
    {
        if ( a == '^') return 1;
        if ( b == '^') return 0;
        if ( a == '*' || a == '/' || a == '%' ) return 1;
        if ( b == '*' || b == '/' || b == '%' ) return 0;
        return 1;
    }
    //************************** pulish ****************************************
    void pulish(char source[] , char dest[] , int len)
    {
        char temp , temp2[2];
        int count = 0;
        for ( int i = 0 ; i < len ; i++)
        {
            temp = mid(source , i + 1 , 1 , temp2);
            switch (temp)  
            {
            case '+':
            case '-':
            case '*':
            case '/':
            case '^':
            case '%':
                if (ss->info == '(' || priority(ss->info , temp) == 0 ) push (temp);
                else
                {
                    while (ss ->info != '(' && priority(ss->info , temp))
                        dest[count++] = pop();
                    push(temp);
                }
            break;     
            case '(':
                push(temp);
            break;
             
            case ')':
                while ( ss->info != '(')
                    dest[count++] = pop();
                pop();
            break;
            default :
                if ( temp >= 48 && temp <= 122)
                    dest[count++] = temp;
            }                
        }
        dest[count] = 0;
    }
    //************************** value ****************************************
    long value(char source[] , int len)
    {
        char temp , temp2[2] ;
        long a , b, result;
        for ( int i = 0 ; i < len ; i++)
        {
            temp = mid ( source , i + 1 , 1 , temp2);
            if ( temp >= 48 && temp <= 122)
            {
                a =

    نوشته شده در یکشنبه دهم دی ۱۳۹۱ ساعت 22:43 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • مثال ها و تمرین های قسمت فایل های ترتیبی

    مثال 1 : برنامه ای بنویسید که نام و نمره ی درس برنامه سازی 30 دانش آموز را گرفته و در فایل ترتیبی ذخیره کند؟

    جواب : کد جواب به صورت زیر است :

     


    مثال 2 : برنامه ای بنویسید که اطلاعات موجود در فایل برنامه ی قبل را بر روی صفحه نمایش ، نمایش دهد؟

    جواب : در برنامه ی قبلی ، فایلی به نام " File.txt " در مسیر " \:C " ذخیره شد . حالا باید اطلاعات آن را توسط کد های زیر خوانده و در روی فرم چاپ کنیم.

     


     

    تمرین 1 : دستور کپی داس را شبیه سازی کنید؟

    جواب : در دستور کپی داس ( خط فرمان ) آدرس فایل منبع و آدرس فایل مقصد توسط کاربر وارد می شد . پس در این برنامه باید آدرس و نام و پسوند فایل منبع از کاربر گرفته شود و اطلاعات فایل منبع در فایل مقصد کپی شود . کد این برنامه به صورت زیر است:

     

     

    توضیحات
    توضیحات نام مشخصه
    مسیر و نام فایل منبع
    Path_1
    مسیر و نام فایل مقصد
    Path_2

     


    مثال ها و تمرین های قسمت فایل های تصادفی

     

    مثال 1 : ساختار رکورد یک دانش آموز به صورت زیر است:

    Code
    Name
    Family

    برنامه ای بنویسید که اطلاعات 10 دانش آموز را از کاربر گرفته و در یک فایل تصادفی ذخیره کند؟

     

    جواب : برای ایجاد فایل تصادفی مورد نظر باید یک نوع جدید ساخته و یک متغیر رکوردی از آن نوع تعریف کنیم . کد زیر در ماژول نوشته می شود و نحوه ی این کار را نشان می دهد:

     

     سپس در رویداد کلیک یک دکمه کد های زیر نوشته می شود:

     

     

    توضیحات
    توضیحات نام مشخصه
    نام نوع ساخته شده
    Stu
    نام متغیر رکوردی
    S
    مسیر و نام فایل
    Path


     مثال 2 : برنامه ای بنویسید که اطلاعات موجود در فایل برنامه ی قبلی را در یک کادر لیست نمایش دهد؟

    جواب : یک کادر لیست و یک دکمه به فرم برنامه ی قبل اضافه کرده و در رویداد کلیک دکمه ی جدید کد زیر را وارد می کنیم:

     

     


     

    مثال 3 : نمایش تمامی رکورد های فایل برنامه ی قبلی توسط شئ MS Flex Gird

    جواب : بر روی نوار ابزار کناری کلیک راست کرده و گزینه ی اول را انتخاب می کنیم . از کادر ظاهر شده شئ بالا را انتخاب کرده و پنجره را تایید می کنیم . حال از نوار ابزار این شئ را انتخاب کرده و در فرم قرار می دهیم . سپس کد های زیر را در رویداد کلیک یک روال قرار می دهیم :

     

    حالا در بیرون از روال می نویسیم :

     اگر کار های ذکر شده را درست انجام داده باشید ، وقتی برنامه را اجرا کنید ، اطلاعات فایل در این شئ نمایش داده می شود .

     


     در صورت بروز مشکل در برنامه ، آن را همراه با شماره ی مثال در قسمت نظر ها مطرح کنید.

     

    نوشته شده در یکشنبه پنجم آذر ۱۳۹۱ ساعت 13:35 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

    1. Borland C++ 4.x / 5.x.
    2. Borland C++ Builder 6.x.
    3. Borland BuilderX.
    4. Microsoft Visual C++ 5.x / 6.x.
    5. Microsoft Visual C++ 6.0: Compiling the GUI program (MFC): Story and Example.
    6. Microsoft Visual C++ 2003 (7.0) / .Net.
    7. Microsoft Visual C++ 2005 (8.0) Express Edition: Install and Use.
    8. Download and install the Windows Platform Software Development Kit, PSDK, SDK - Part 1.
    9. Install and configure the Windows Platform Software Development Kit, PSDK, SDK - Part 2.
    10. Install and Use Visual C++ from Visual Studio 2005.
    11. Install and Use Visual C++ from Visual Studio 2008.
    12. Download, install and verify Visual Studio 2008 SP1.
    13. Download and install Visual Studio 2008 Express Edition: C#, VB, C++ and Visual Web Developer. Some info on MSSQL Express Edition database also included.
    14. Install Borland Developer Studio 2006.
    1. Installing Windows Driver Development Kit (DDK), WinDbg and Symbols package.
    2. GCC, G++ & GDB: Part 1 - Commands & Options.
    3. Other Linux / Fedora Useful Utilities: Part 2 - Commands & Options.
    4. More C/C++ compiler/IDE resources
    نوشته شده در پنجشنبه دوازدهم مرداد ۱۳۹۱ ساعت 23:5 توسط : سعید دامغانیان | دسته : برنامه نویسی با ++c
  •    []

  • بهترین کتابهای برنامه نویسی به زبان های C و ++C

    C/C++ General

    C/C++ Programming

    C/C++ Language

    Objective-C and C++ Object oriented

    C++ STL, Template

    C/C++ Algorithm

    C/C++ Borland C++: Borland Builder C++ etc.

    C/C++ Microsoft Visual C++: Visual C++, MFC, .Net etc.

    C/C++ Windows Programming

    C/C++ Tutorial

    Programming: Windows Win32 APIs

    C/C++ Graphic Programming

    Game Programming & Design: Main catalogue

    C/C++ Programming Software: Microsoft & Borland Compilers

    Linux & Open Source: Main catalogue

    Operating Systems: General: Linux & Unix, Windows etc.

    Compilers: General: GCC, COBOL etc.

    Languages & Tools: Main catalogue

    Microsoft Products: General

    Programming Languages: General

    Networks, Protocols & APIs: Main catalogue

    Networking: TCP/IP

    O'Reilly books at Amazon

    Wrox Press at Amazon

    Books: Computers & Internet: By authors, A-Z

    Books: Computers & Internet: By Publisher & subject

    New & used texts books: Buy & sell your textbooks using ISBN number

    نوشته شده در پنجشنبه دوازدهم مرداد ۱۳۹۱ ساعت 22:57 توسط : سعید دامغانیان | دسته : برنامه نویسی با ++c
  •    []

  • کد برنامه ی تقویم در C

    در ادامه مطلب

    نوشته شده در پنجشنبه بیست و دوم تیر ۱۳۹۱ ساعت 17:57 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  • [ادامه مطلب]   []

  • کد ساعت آنالوگ و دیجیتال در C

    این برنامه گرافیکی می باشد.

    در ادامه مطلب

    نوشته شده در پنجشنبه بیست و دوم تیر ۱۳۹۱ ساعت 17:53 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  • [ادامه مطلب]   []

  • کار با رشته ها

    فرض کنید متنی در دست داریم. می خواهیم برنامه ای بنویسیم که تعداد خطهای این متن، تعداد کلمات، تعداد کاراکترها ، تعداد فضاهای خالی و... را برای ما مشخص کند.

    در ادامه مطلب

    نوشته شده در پنجشنبه بیست و دوم تیر ۱۳۹۱ ساعت 17:47 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  • [ادامه مطلب]   []

  • برنامه ای که مجموع n جمله ی اول سری زیر را محاسبه کند:

    1/1! + 2/2! + 3/3! + 4/4! ...

     در ادامه مطلب

    نوشته شده در پنجشنبه بیست و دوم تیر ۱۳۹۱ ساعت 17:39 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  • [ادامه مطلب]   []

  • یک برنامه ی چت (گفتوگو ) در C

    A chat program in C

    //here the shared folder is in "computer21"

    #include  "stdio.h"

    #include "conio.h"

    #include "process.h"

    #include "string.h"

     

    char c[30],ch[70];

    FILE *stream,*stream1;

     

    void read(void)

    { stream1 = fopen("//computer21/s/read.txt","r");

           fread(ch,1000,1,stream1);

        printf("%s",ch);

       fclose(stream1); }

     

    void clearhist()

    { stream=fopen("//computer21/s/write1.txt","w");

            fprintf(stream," ");

            fclose(stream); }

     

     

    void main ()

    {  int i,d=0;

       char temp,name[10];

       clrscr ();

       gotoxy(10,12);

       printf("Enter Name:");

       scanf("%s",name);

       clrscr ();

       for(i=0;i<=100;i++)

          { clrscr ();

       read();

       gotoxy(1,21);

       printf("--------------Press ENTER Without Message to Check For New
    Message--------------");

       gotoxy(1,23);

       printf("Enter the Message(30 chars max) : ");

       gets(c);

       //checking message

       if((c[0]=='e')&&(c[1]=='x')&&(c[2]=='i')&&(c[3]=='t'))

         {  clearhist ();

            exit(0);  }

       //checking message for "enter"

       if(c[0]!='

    نوشته شده در پنجشنبه بیست و دوم تیر ۱۳۹۱ ساعت 17:34 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • مقایسه ی دو رشته در C

    Compare two strings by soundex values

    #include "stdio.h"
    #include "error.h"

    #define MAXLINE         1024

    int sndxcode[26];
    char *sndxgrp[] = { "aeiouhyw", "kcgjqsxz", "td",
                        "bpfv", "l", "mn", "r" };

    void locsndx(char *, int *, char);
    int cmpcodes(int *, int *);
    int cmpsndx(char *, char *);

    int main(int argc, char *argv[]) {
     char *ptr = NULL;
     int i = 0;

     if(argc != 3)
      error(1, 0, "string1 string2");

     for(i = sizeof(sndxgrp) / sizeof(char *) - 1; i >= 0; i--)
      for(ptr = sndxgrp[i]; *ptr; ptr++)
       sndxcode[*ptr - 'a'] = i;

     printf("%d\n", cmpsndx(argv[1], argv[2]));

     return 0;
    }

    void locsndx(char *str, int *sndx, char lastchar) {
     if(0 == *str)
      *sndx = -1, lastchar = 0;
     else if(*str == lastchar)
      locsndx(str + 1, sndx, lastchar);
     else if(-1 == lastchar)
      *sndx = sndxcode[*str - 'a'], locsndx(str + 1, sndx + 1, *str);
     else if(sndxcode[*str - 'a'] == 0)
      locsndx(str + 1, sndx, *str);
     else
      *sndx = sndxcode[*str - 'a'], locsndx(str + 1, sndx + 1, *str);

     return;
    }

    int cmpcodes(int *sndx1, int *sndx2) {
     int *ptr1 = sndx1;
     int *ptr2 = sndx2;

     for(; *ptr1 != -1 && *ptr2 != -1 && *ptr1 == *ptr2; ptr1++, ptr2++)
      ;

     return *ptr1 == *ptr2;
    }

    int cmpsndx(char *str1, char *str2) {
     int sndx1[MAXLINE] = {0};
     int sndx2[MAXLINE] = {0};

     locsndx(str1, sndx1, -1);
     locsndx(str2, sndx2, -1);

     return cmpcodes(sndx1, sndx2);
    }

    نوشته شده در پنجشنبه بیست و دوم تیر ۱۳۹۱ ساعت 17:27 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • برنامه ی محاسبه ی فاکتوریل و e^x به زبان C

    /*Factorial series-e^x*/

    #include "stdio.h"

    #include "conio.h"
    #include"math.h"
    long int factorial(int n);
    void main()
    {
     int x,i;
     float s,r;
     char c;
     clrscr();
    printf("You have this series:-1+x/1! + x^2/2! + x^3/3! + x^4/4!
    ..x^x/x!");
     printf("
    To which term you want its sum?  ");
     scanf("%d",&x);
     s=0;
     for (i=1;i<=x;i++)
      {   s=s+((float)pow(x,i)/(float)factorial(i)); }
     printf("The sum of %d terms is %f",x,1+s);
     fflush(stdin);
          getch();
    }

    long int factorial(int n)
     {
      if (n<=1)
        return(1);
      else
        n=n*factorial(n-1);
        return(n);
     }

    نوشته شده در دوشنبه نوزدهم تیر ۱۳۹۱ ساعت 22:33 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • این هم یه برنامه جالب که با گرفتن اطلاعاتی از شما روز تولد شما را مشخص می کند. برنامه به زبان C است.
    نوشته شده در دوشنبه نوزدهم تیر ۱۳۹۱ ساعت 22:28 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  • [ادامه مطلب]   []

  • کد یک ماشین حساب ساده به زبان ++C


    #include"stdio.h"
    #include"conio.h"
    #include"dos.h"
    #include"stdlib.h"
    #include"string.h"

    void DISPNUM(char *);
    void main()
    {
        clrscr();

        _setcursortype(0);
        gotoxy(30,19);
        textcolor(GREEN+BLINK);
        cprintf("SIMPLE CALCULATOR");
        gotoxy(50,21);
        textcolor(BLUE+BLINK);
        cprintf("HELLO WORLD");
        getch();
    //    clrscr();

        int x=30,y=10;

        textcolor(WHITE);
        gotoxy(x,y);
        cprintf("7    8    9");
        gotoxy(x,y+2);
        cprintf("4    5    6");
        gotoxy(x,y+4);
        cprintf("1    2    3");
        gotoxy(x,y+6);
        cprintf("0");

        textcolor(RED);
        gotoxy(x+5,y+6);
        cprintf(".    =");


        textcolor(GREEN);
        x=x+15;
        gotoxy(x,y);
        cprintf("/");

        gotoxy(x,y+2);
        cprintf("*");

        gotoxy(x,y+4);
        cprintf("-");

        gotoxy(x,y+6);
        cprintf("+");

    //Draw The For Calc//
        x=28;y=5;
        gotoxy(x,y);

        textcolor(WHITE);

        //  Ú         &         ¿ //
        cprintf("%c",218);
        gotoxy(28+20,y);
        cprintf("%c",191);
        //  Ú         &         ¿ //

    //Horiz. Boundary
        for(x=29;x<=28+19;x++)
        {
            gotoxy(x,y);
            cprintf("%c",196);
            gotoxy(x,y+12);
            cprintf("%c",196);
        }
    //End of Horiz. Bound

    //  Ù              &           À  //
        cprintf("%c",217);
        x=28;y=y+12;
        gotoxy(x,y);
        cprintf("%c",192);
    //End of  Ù              &           À  //

    //Vertic. Bound.

        for(y=6;y<=16;y++)
        {
            gotoxy(x,y);
            cprintf("%c",179);
            gotoxy(x+20,y);
            cprintf("%c",179);
        }
    //End of Vertic Bou.

        y=6;

        for(x=30;x<=30+16;x++)
        {
            gotoxy(x,y);
            cprintf("%c",196);
            gotoxy(x,y+2);
            cprintf("%c",196);
        }

        gotoxy(30,y+1);
        cprintf("%c               %c",179,179);

        gotoxy(30,y);
        cprintf("%c",218);
        gotoxy(30+16,y);
        cprintf("%c",191);


        gotoxy(30,y+2);
        cprintf("%c",192);
        gotoxy(30+16,y+2);
        cprintf("%c",217);


    //End of Vertic Bound.

        //OutPut at X=30,Y=8//


        char ch;
    char operand1[15]="",operand2[15]="",BLANK[15]="            ";
        char operator1,first='y';
        long double num1=0,num2=0;
        int i=0,ERROR=0; //Digits
        int MAX=10;
        DISPNUM(0);
        do
        {
            ch=getch();
            if(ch=='x1b')
            {
                for(int i=1000;i>=200;i=i-50)
                {
                    sound(i);
                    delay(100);
                }
                nosound();
                break;
            }

            //Numeric//
            if((ch>='0')&&(ch<='9'))
            {
                if(i
                {
                    if(first=='y')
                    {
                        operand1[i]=ch;
                        DISPNUM(operand1);
                        i++;
                    }
                    else
                    {
                        operand2[i]=ch;
                        DISPNUM(operand2);
                        i++;
                    }
                }
                else        //More than 8 digit
                {
                    ERROR=1;
                }
            }
            else if(ch=='.')
            {
                if(first=='y')
                {
                    if(strchr(operand1,'.')==NULL)
                    {
                        operand1[i]=ch;
                        i++;
                    }
                    DISPNUM(operand1);
                }
                else
                {
                    if(strchr(operand2,'.')==NULL)
                    {
                        operand2[i]=ch;
                        i++;
                    }
                    DISPNUM(operand2);
                }
            }
            //Non Numeric
            else if (ch=='*')
            {
                operator1='*';
                first='n';
                i=0;
            }
            else if (ch=='/')
            {
                operator1='/';
                first='n';
                i=0;
            }
            else if (ch=='+')
            {
                operator1='+';
                first='n';
                i=0;
            }
            else if (ch=='-')
            {
                operator1='-';
                first='n';
                i=0;
            }
            else if ((ch=='=')||(ch=='
    '))
            {
                //Store in Floating
                if(strcmpi(operand1,BLANK)!=0)
                {
                    num1=_atold(operand1);
                }
                if(strcmpi(operand2,BLANK)!=0)
                {
                    num2=_atold(operand2);
                }
                //Now Calculate
                switch (operator1)
                {
                    case '+':
                        num1=num1+num2;
                        break;
                    case '-':
                        num1=num1-num2;
                        break;
                    case '*':
                        num1=num1*num2;
                        break;
                    case '/':
                        num1=num1/num2;
                        break;
                }
                //ltoa(num1,operand1,10);
                gcvt(num1,12,operand1);
                DISPNUM(operand1);
                i=0;
                first='y';

                strcpy(operand1,BLANK);
                strcpy(operand2,BLANK);
            }
            else              //Invalid Choice
            {
                ERROR=1;
            }

    //Beep On ERROR else ------ //
            if (ERROR==0)
            {
                sound(920);
            }
            else
            {
                sound(100);
                ERROR=0;
            }
            delay(250);
            nosound();

            gotoxy(1,1);
            cprintf("%d",i);

        }while(1);


    //    clrscr();
        gotoxy(30,19);
        textcolor(GREEN+BLINK);
        cprintf("SIMPLE CALCULATOR");
        gotoxy(50,21);
        textcolor(BLUE+BLINK);
        cprintf("HELLO WORLD");
    //    getch();
    }
    void DISPNUM(char *num)
    {
        textbackground(RED);
        gotoxy(31,7);
        cprintf("               ");
        gotoxy(31,7);
        cprintf("%s",num);
    }

    نوشته شده در یکشنبه هجدهم تیر ۱۳۹۱ ساعت 22:44 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • مثالی از کاربرد آرایه سه بعدی در C

    3 Dimensional array

    نوشته شده در جمعه نهم تیر ۱۳۹۱ ساعت 22:53 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • دوستان عزیز سلام بر شما!

    کد زیر یک مثال از فراخوانی تابع با مقدار است.

    آن را تحلیل کنید!

    Pass by Value

    نوشته شده در جمعه نهم تیر ۱۳۹۱ ساعت 22:51 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • خروجی قطعه کد زیر چیست؟

    String: strcmp()

    #include
    #include
    int main()
    {
    char str1[]="I LIKE";
    char str2[]="C Expert";
    int i;
    clrscr();
    i=strcmp(str1,str2);
    if(i==0)
    printf("\n\nstr1 and str2 are identical");
    else if(i<0)
    printf("\n\nstr1< str2");
    else
    printf("\n\nstr1< str2");
    getch();
        return 0;
    }
    نوشته شده در جمعه نهم تیر ۱۳۹۱ ساعت 22:49 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • 1- الگوریتمی بنویسید که 3 عدد را از ورودی گرفته گرفته و آنگاه به به صورت صعودی مرتب کند.

    2- الگوریتمی بنویسید که یک عدد را از ورودی گرفته و مجموع ارقام آن را در خروجی چاپ کند.

    3- الگوریتمی بنویسید که x را دریافت و مقلوب آن را در خروجی چاپ کند.


    جواب مسئله

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

    مرتب سازی

    #include
    #include
    void main()
    {
    long int a[2],temp,i;
    for(i=0 ;i<3;i++)
    {
    cout<<"Please Enter A Number "<< i+1 <<" : ";
    cin>>a[i];
    }

    for(i=0 ;i<2;i++)
    for(int j=1;j<3;j++)
    {
    if(a[i] {temp=a[i];
    a[i]=a[j];
    a[j]=temp;
    }
    }
    cout<<"The Ascending Array: ";
    for(i=0 ;i<3;i++)
    cout< getch();
    }



    مجموع ارقام


    #include
    #include
    void main()
    {
    long int a,sum=0,x;
    cout<<"Please Enter A Number: ";
    cin>>a;
    while(a>0)
    {
    x=a%10;
    a/=10 ;
    sum+=x;
    }
    cout<<"The Sum Is: "< getch();
    }



    مغلوب اعداد


    #include
    #inlcude
    void main()
    {
    int a,r=0,x;
    cout<<"Please Enter A Number";
    cin>>a;
    while(a>0)
    {
    x=a%10;
    a/=10
    r=r*10+x;
    }
    cout< getch();}
    نوشته شده در پنجشنبه هشتم تیر ۱۳۹۱ ساعت 22:39 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • void bubble_sort int arr [ ] , int n )
    {
      register int i ;
      for ( >= -- )
      {
        ;
        for ( <= ++ )
          if ( arr ] > arr ] )
          {
            arr ] ;
            arr ] = arr ] ;
            arr ] = ;
            ++ ;
          }
          if ( == )
            break ;
      }

    نوشته شده در پنجشنبه هشتم تیر ۱۳۹۱ ساعت 22:32 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []

  • برنامه ای که با گرفتن مبلغ موجودی شما در حساب بانکی تان و نرخ درصد سود ، مقدار سود سالیانه و ماهیانه و روزانه شما را حساب می کند.

    این برنامه به زبان  C  است.

    دانلود از آدرس : http://uplod.ir/71gwqvap2com/saeed-damghanian.blogfa.com.zip.htm

    نوشته شده در سه شنبه ششم تیر ۱۳۹۱ ساعت 22:7 توسط : سعید دامغانیان | دسته : برنامه نویسی با c
  •    []