وبلاگ کاربران برتر
مقالات,آموزش ,برنامه نویسی,پروژه دانشجویی,دانلود نرم افزار ,موبایل
درخواست سورس به زبان C

داخل وبلاگ سورس به زبان C موجود می باشد ولی اگر سورس برنامه ای خاص مد نظرتون هست لطفا بنویسید تا در صورت وجود در اولین فرصت به وبلاگ اضافه شود.

 با تشکر



ارسال در تاريخ سه شنبه هفتم دی 1389 توسط مدیر وبلاگ

سی دی آموزش اسمبلی

سی دی آموزش تصویری رشنال رز



ارسال در تاريخ دوشنبه سی و یکم خرداد 1389 توسط مدیر وبلاگ
اسمبلي ياد بگيريم

قسمت اول             دانلود کنید

قسمت دوم            دانلود کنید



ارسال در تاريخ دوشنبه سی و یکم خرداد 1389 توسط مدیر وبلاگ

تمامی مثال ها و تمارین برنامه نویسی پیشرفته استاد نوبخت

(تمامی برنامه ها تست شده و مشکلی نداره)

دانلود کنید



ارسال در تاريخ چهارشنبه نوزدهم خرداد 1389 توسط مدیر وبلاگ

#include "iostream.h"
#include "stdlib.h"
#include "conio.h"
#define   SIZE   5
class stack {
   public:
      stack();
      int  empty();
      void pushAndTest(int x, int &);
      void popAndTest(int &, int &);
      void topAndTest(int &, int &);
      void display();
   private:
      int myTop;
      int items[SIZE];
};



ادامه مطلب...
ارسال در تاريخ دوشنبه بیست و سوم فروردین 1389 توسط مدیر وبلاگ

تذکر: در این مقاله منظور از درخت دودویی، درخت جستجوی دودویی است!

همونطور که عنوان شد سه روش برای پباده سازی پیمایشهای درخت دودویی وجود داره:

۱- پیمایش بازگشتی

۲- پیمایش غیر بازگشتی با استفاده از پشته

۳- پیمایش غیر بازگشتی بدون استفاده از پشته

روش اول رو قبلا بررسی کردیم. اینبار روش سوم رو ارائه می کنیم. ابتدا کدهای مربوط به پیمایشهای پبشوندی ، میانوندی و پسوندی



ادامه مطلب...
ارسال در تاريخ پنجشنبه هفدهم بهمن 1387 توسط مدیر وبلاگ
سه روش استاندارد برای پیمایش درختهای دودویی وجود داره: پیمایش پیشوندی (preorder)، پیمایش میانوندی (inorder) و پیمایش پسوندی (postorder).

تعاریف بازگشتی این پیمایش ها به ترتیب زیره:

پیمایش پیشوندی:

1- پردازش ریشه

۲- پیمایش زیردرخت چپ ریشه به روش پیشوندی

3- پیمایش زیردرخت راست ریشه به روش پیشوندی



ادامه مطلب...
ارسال در تاريخ پنجشنبه هفدهم بهمن 1387 توسط مدیر وبلاگ
ارسال در تاريخ پنجشنبه هفدهم بهمن 1387 توسط مدیر وبلاگ
سلام دوستان . قبلا این برنامه رو گذاشته بودم با یه شکل دیگه ولی دوستان نمیتونستن باحاش کار کنن بخاطر همین اینو قرار دادم....این برنامه تبدیل عبارت پسوندی به میانوندی هست. اجرا هم میشه اگه مشکلی بود بگین تا با فایل اجرایش براتون آپ کنم.

کد:

#include
#include
#include
#include
void post_inf(char post[]);
void push(char *ele);
char *pop();
struct stack  
{
 int top;
 char *st[40];
}s;

void main()
 {
  char post[40],*inf;
  clrscr();
  printf("\n\n\t\t\tPOSTFIX TO INFIX CONVERSION\n");
  printf("\n\t\tEnter the postfix expression \n\t\t");
  scanf("%s",&post);
  post_inf(post);
  getch();
 }
 

 void post_inf(char post[])
 {
  int i,j;
  char *add,*p1,*p2,*newadd;
  char symb[1],temp1[50],temp2[50],inf[50],endprn[]=")\0";
  for(i=0;post[i]!='\0';i++)
  {
   if(isalpha(post[i]) || isdigit(post[i]))
   {
    add=(char *) malloc(2);
    *add=post[i];
    *(add+1)='\0';
    push(add);     //push address of operand
   }
   else
   {
    p1=pop();    //pop first operating string
    j=0;
    while(*p1!='\0')
    {
     temp1[j]=*p1;
     j++;
     p1++;
    }
    temp1[j]='\0';
    p2=pop();   //pop second opperating string
    j=0;
    while(*p2!='\0')
    {
     temp2[j]=*p2;
     j++;
     p2++;
    }
    temp2[j]='\0';
    symb[0]=post[i];
    symb[1]='\0';
    inf[0]='(';
    inf[1]='\0';
    strcat(inf,temp2);   
    strcat(inf,symb);
    strcat(inf,temp1);
    strcat(inf,endprn);
    newadd=(char *) malloc(50);
    strcpy(newadd,inf);
    push(newadd);  //pushing add. of operated expression onto stack
   }
  }
  printf("\n\t\tThe equivalent infix expression is :\n\t\t");
  for(i=0;inf[i]!='\0';i++)
   printf("%c",inf[i]);
 }
 
//to push address onto stack
 void push(char *ele)
 {
  s.top++;
  s.st[s.top]=ele;
 }
 
//to pop address from stack
 char *pop()
 {
  char *elem;
  elem=s.st[s.top];
  s.top--;
  return(elem);
 }




ارسال در تاريخ پنجشنبه هفدهم بهمن 1387 توسط مدیر وبلاگ

اگر به دستورات هر برنامه ای که در VB6 نوشته شده است نظر بیندازید متوجه بلوک هایی از کد می شوید که بین دو خط تیره قرار دارند. این بلوک ها واحدهای محیط برنامه سازی ویژوال بیسیک هستند، که به هر کدام یک زیربرنامه می گوییم. هر زیربرنامه مسئول کنترل بخشی از برنامه است.

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



ادامه مطلب...
ارسال در تاريخ سه شنبه بیست و سوم مهر 1387 توسط مدیر وبلاگ

اینبار با محیط کار ویژوال بیسیک ۶ بیشتر آشنا می شویم.

هر بار که ویژوال بیسیک را اجرا می کنید پنجره ای را مشاهده خواهید کرد، که از شما در مورد نوع پروژه کاری سوال می کند. در اکثر برنامه ها گزینه Standard EXE نیاز ما را برآورده می کند. لذا شما هم این گزینه را انتخاب کرده، و دکمه Open را کلیک کنید. با پیشرفت در VB با سایر گزینه ها نیز آشنا خواهیم شد. بعد از این عمل پنجره کار با VB6 ظاهر می شود.



ادامه مطلب...
ارسال در تاريخ سه شنبه بیست و سوم مهر 1387 توسط مدیر وبلاگ

اتصال پایگاه داده از نوع SQL Server در دلفی با استفاده از فناوری ADO شرکت Microsoft همانند اتصال پایگاه داده Access است، با چند تفاوت که به آنها اشاره می شود. دقت شود که ابتدا باید نرم افزار SQL Server نصب شده و در حال اجرا باشد.

دلفی را باز کرده و یک پروژه Application ایجاد می کنیم. از پانل ADO یک جزء ساخت ADOConnection و یک ADOTable روی فرم می گذاریم.



ادامه مطلب...
ارسال در تاريخ سه شنبه بیست و سوم مهر 1387 توسط مدیر وبلاگ
خواندن محتوای ListBox
اضافه کردن ردیف به ListView
حذف یک موضوع از ListView
حذف یک موضوع انتخاب شده از ListView
اضافه کردن یک موضوع به یک ListView که بیش از یک ستون دارد
نوشتن بیش از یک خط در MsgBox
ساخت یک پوشه یا Directory
ظاهر شدن SubMenu وقتی روی فرم کلیک راست می کنید
خواندن یک حرف مشخص در یک کلمه در TextBox
شناسایی نسخه ویندوز (Windows Version)
رفتن به یک خط جدید
ساختن یک شی در بالای نوار وظیفه (TaskBar)
اضافه کردن متن به ListBox
باز کردن MsgBox
اعلان کردن یک Dialog Box
نمایش زمان و تاریخ فعلی
نمایش تاریخ
نمایش زمان
گرفتن ارزش یک رشته (String)
اعلان کردن یک شماره تصادفی
چاپ با چاپگر پیش فرض (default printer)
اتصال File viewer با Directory viewer
اجرای یک فایل
ذخیره کردن در registry
خواندن از registry
کلیک کردن یک دکمه با زدن Enter
اضافه کردن یک تصویر به دکمه
اگر کدی که می نویسید خیلی طولانی است و می خواهید آن را به چند خط تقسیم کنید
تیک زدن یک کلمه در منو
تایپ تاریخ یا زمان یا هردو
محدود کردن یک متغیر
نحوه استفاده از case
چطور فرم را در وسط صفحه ظاهر کنیم؟
چطور فرم را تمام صفحه (full screen) کنیم؟
بدانیم چند فرم در پروژه وجود دارد
باز کردن فایل ها
نحوه استفاده از Winsock


ادامه مطلب...
ارسال در تاريخ دوشنبه بیست و دوم مهر 1387 توسط مدیر وبلاگ
مژده به علاقه مندان ساخت برنامه های جاوا برای گوشی های موبایل. کاملترین آموزش J2ME که زبان برنامه نویسی برنامه های طراحی شده برای گوشی های موبایل در فرمت جاوا می باشد به بخش اضافه شد. این آموزش به صورت فارسی و تصویری بوده و از یکی از وبلاگهای فعال در این زمینه دریافت، جمع آموری و آماده سازی شده و در اختیار کاربران خوب تبیان قرار می گیرد. این برنامه مجموعه 11 فایل آموزشی به صورت PDF بوده که در بعضی موارد مثالها نیز در فایل جداگانه قرار گرفته و قابل استفاده می باشد. این آموزش در حدود 70 صفحه تهیه شده است. محیط برنامه نویسی در این آموزشها با استفاده از برنامه NetBeans می باشد که به بخش دانلود اضافه می شود.

دانلود



ارسال در تاريخ شنبه ششم مهر 1387 توسط مدیر وبلاگ
می دانید که برای ایجاد وب سایتهای پیشرفته و پویا و بدون محدودیت در طراحی، باید از زبانهای برنامه نویسی تحت وب استفاده کنید. یکی از بهترین این زبان ها ASP.NET می باشد که سایت تبیان نیز از این زبان برای طراحی استفاده کرده است. در این برنامه دو مجموعه آموزش ASP.NET یکی به صورت مقدماتی و دیگری پیشرفته قرار داده شده است. آموزش ها به صورت فایل PDF و تصویری و فارسی می باشند. این بسته آموزشی به همراه کدهای اصلی (Source Code) و مثالها عرضه شده است. هر کدام آموزش ها در 10 فصل ارائه شده است.

دانلود



ارسال در تاريخ شنبه ششم مهر 1387 توسط مدیر وبلاگ
می دانید که اوراکل بزرگترین برنامه ساخت پایگاه داده و بانک اطلاعاتی می باشد. این برنامه نسبت به برنامه هایی مانند Access و SQL Server خیلی قویتر است و برای اطلاعات با حجم بسیار زیاد مورد استفاده قرار می گیرد. سایت گوگل از این برنامه برای نگهداری اطلاعات سایت ها و کاربران استفاده می کند. این برنامه هم یک آموزش به صورت مالتی مدیا در مورد اوراکل می باشد. البته فایلهای اصلی برنامه به صورت PDF می باشند و باید برای کار با برنامه باید برنامه Adobe Reader یا مانند آن بر روی سیستم نصب باشد.

دانلود



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

IrisMenu یک پکیج از منوهای مختلف برای برنامه نویسان (VisualStudio.NET(Winforms می باشد که منوهای مختلف و جدیدی را در بر دارد. از جمله این منوها می توان به منوی شبکه ای(ماتریکسی) و دو نوع منوی چرخشی جذاب اشاره کرد. شما فقط باید رخی از ویژگی را تنظیم کنید و سپس نوع منوی خود را انتخاب نمایید. هر منو چندین حالت متحرک دارد که بنا به سلیقه خود می توانید یکی از آن ها را انتخاب کنید.



ادامه مطلب...
ارسال در تاريخ چهارشنبه سوم مهر 1387 توسط مدیر وبلاگ

برج هانوی , معمایی است که از سه میله و N دیسک با اندازه های متفاوت . فرض شود که اگر دیسکی روی یک میله باشد , فقط دیسکی که قطر آن کوچکتر است می تواند بالای آن قرار گیرد مسئله چنین است که هر بار فقط یک دیسک انتقال یابد .

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



ادامه مطلب...
ارسال در تاريخ جمعه بیست و نهم شهریور 1387 توسط مدیر وبلاگ
این کد زمان جاری سیستم را در خروجی چاپ می کند.

ادامه مطلب...
ارسال در تاريخ جمعه بیست و نهم شهریور 1387 توسط مدیر وبلاگ
این برنامه یک نوع منو را در محیط گرافیک C++ ارائه می کند که توسط آقای Vivek Patel نوشته شده . کد این برنامه بسیار روان است و در اغلب موارد همراه با توضیح می باشد :

ادامه مطلب...
ارسال در تاريخ جمعه بیست و نهم شهریور 1387 توسط مدیر وبلاگ
با همین چند خط کد کوتاه اشکال زیبایی در محیط گرافیکی ایجاد می شود , تنها با تغییر برخی اندازه ها اشکال جدیدی خلق می شود . برای این دو برنامه کوتاه فکر نکنم نیازی به هیج توضیحی باشد چون در هر کتاب آموزش C/C++ درباره برنامه نویسی در محیط گرافیکی مطلب گفته شده (تنها نکته لازم به ذکر این است که مسیرگرافیکی کتابخانه مبدل گرافیکی c++ درست داده شود مثلاً مسیر گرافیکی C++ من "C:\\tc\\bgi" می باشد , حواستان باشد که باید از \\ استفاده کنید نه از \ . )

ادامه مطلب...
ارسال در تاريخ جمعه بیست و نهم شهریور 1387 توسط مدیر وبلاگ
 

1. clreol : این تابع تمام کاراکترها که بعد از مکان نما قرار دارد را تا آخر آن خط پاک میکند بدون آنکه موقعیت مکان نما تغییر کند . علت اینکه من از تابع cptintf در مثال زیر استفاده کردم این است که توابع clreol - clrscr و getch هر سه در کتابخانه Conio.H هستند و تابع cprintf هم در این کتابخانه است و دیگر از printf استفاده نکردم همچنین یکی دیگر از مزیت های cprintf این است که برای چاپ text های رنگی در خروجی از این تابع استفاده می شود , در حالیکه printf چنین امکانی را در اختیارمان قرار نمی دهد . در زیر مثالی ارائه شده تا مفهوم تابع clreol را بهتر متوجه شوید :

#include

int main(void)



ادامه مطلب...
ارسال در تاريخ جمعه بیست و نهم شهریور 1387 توسط مدیر وبلاگ
ویژوال بیسیک

 StatusBar1.Panels(شماره پنل مورد نظر).Text = "ساعت جاری " & Format(Time, "hh:mm:ss")



ارسال در تاريخ جمعه بیست و نهم شهریور 1387 توسط مدیر وبلاگ
با استفاده از تيکه کد زير در فرم اصلي برنامه تان مي توانيد از اجراي مجدد (Duplicate) برنامه جلوگيري کنيد

Private Sub Form_Load()
    If App.PrevInstance = True Then
       Dim Result As Integer
       Result = MsgBox("
برنامه در حال اجراست", vbInformation, "Warnnig")
       Unload Me
    End If 
End Sub



ارسال در تاريخ جمعه بیست و نهم شهریور 1387 توسط مدیر وبلاگ
ایتدا به فراخوانی توابع مورد نیاز ویندوز می پردازیم :

Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function ReleaseCapture Lib "USER32" () As Long
Private Declare Function CreateEllipticRgn Lib "gdi32" _
(ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, _
ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "USER32" _
(ByVal hWnd As Long, ByVal hRgn As Long, _
ByVal bRedraw As Boolean) As Long

خوب اکنون کد زیر را در رویداد (Event) مربوط به لحظه ای که کلید موس را بروی فرم فشردیم قرار می دهیم تا بتوانیم با فشردن موس در هر جای فرم به راحتی آن را جابجا کنیم .


Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   MousePointer = 15
   Call ReleaseCapture
   Call SendMessage(hWnd, &HA1, 2, 0&)
   MousePointer = 1
End Sub

حال تابع SetWindowRgn را مقدار دهی میکنیم . ( این قطعه کد را در رویداد Form_Load بنویسید ) :

   SetWindowRgn hWnd, CreateEllipticRgn(0, 0, 200, 200), True

مثلا مقادیر 200 و 200 شکل فرم بصورت دایره در می آید برای شکل بیضی شما میتوانید این مقادیر را 200 و 300 اختیار کنید .( بهتر است که خاصیت boarderStyle را 0-None در نظر بگیرید)



ارسال در تاريخ جمعه بیست و نهم شهریور 1387 توسط مدیر وبلاگ

قالب وبلاگ

دانلود رایگان