دیدن ارسال ها
صفحه: [1] 2 3 4 5 6 7 8 ... 20
1  برنامه نويسي Programing / ++C , C / پاسخ : سوال آرایه های دوبعدی : 10 ارديبهشت 1392,ساعت 20:24:50
برنامه بنویسید که نام 10دانشجو ومجموع نمرات وتعداد واحدآنها را ازورودی دریافت نمایدوسپس نام ومعدل آنها راچاپ نماید

با سلام
این کد کمک خوبی میتونه به شما بکنه:
 
کد:
   #include <iostream>
    using namespace std;
    int main()
    {
    char usergrade;
    int totalgrades = 0;
    int numgrade = 1;
    int count = 0;
    int average = 0;
    int A = 4, a = 4;
    int B = 3, b = 3;
    int C = 2, c = 2;
    int D = 1, d = 1;
    int F = 0, f = 0;
    cout << " Please enter the number of grades to average:\n";
    cin >> numgrade;
    while (count < numgrade)
    {
    cout << " Please enter grade in letter format:\n";
    cin >> usergrade;
    cout << " You entered " << usergrade << ".\n";
    totalgrades = usergrade + totalgrades;
    count++;
    }
    average = totalgrades / numgrade;
    cout << " Your GPA is: " << average << ".\n";
    }
2  برنامه نويسي Programing / ++C , C / پاسخ : برنامه محاسبه وارون عدد در ++C : 10 ارديبهشت 1392,ساعت 20:22:46
سلام خسته نباشيد لطفا جواب برنامه زير را برايم بگوييد. با تشكر
محاسبه وارون عدد 1325


با سلام
بفرمایید:
کد:
    int n=12345,m=0;
    cout<<"Orginal No:"<<n;
    while(n>0)
    {
    m *= 10;
    m += n%10;
    n /= 10;
    }
    cout<<"\nRevesed No:"<<m;
3  برنامه نويسي Programing / ++C , C / پاسخ : استفاده از کتابخانه های ایجاد نخ در C++ : 05 فروردين 1392,ساعت 18:35:00
با سلام
به آموزش زیر رجوع کنید.قدم به قدم آموزش داده شده است.لطفا فایل پی دی اف را دانلود کنید.

نوع فایل :pdf
حجم:158 kb

متشکرم.

* _ دانلود فایل


4  اينترنت و شبكه Network & Internet / شبكه / پاسخ : موضوع برای پایان نامه : 05 فروردين 1392,ساعت 18:23:37
سلام
 دنبال یه موضوع داغ روز برای شبکه واسه پایان نامه ارشد میگردم.مربوط به امنیت نباشه چون با ریاضیات میونه ای ندارم. کسی میتونه کمکم کنه؟ ممنون میشم.


با سلام

شبیه سازی و مکانیزم شبکه های هوشمند گرید
5  برنامه نويسي Programing / C#.net / پاسخ : ساخت ستاپ همراه با فایل SQL : 05 فروردين 1392,ساعت 18:20:38
با سلام
آیا در کامپیوتر دیگر جهت اجرا همان نسخه اسکیوال نصب می باشد؟اگر همان ورژن نباشد با دیتابیس ارتباط برقرار نمیکند و قادر به ران شدن نیست.در غیر اینصورت کانفیگ بطور کامل انجام نشده و نسخه ست آپ کامل ساخته نشده و پایگاه ناقص کانفیگ شده است.یه بررسی بفرمایید و اطلاع بدهید.

متشکرم
6  برنامه نويسي Programing / C#.net / پاسخ : کمک در مورد تغییر اندازه فرم ها در سیستم با رزولوشن متفاوت : 18 بهمن 1391,ساعت 14:14:01
با سلام
ببینید حالت قبلی اگه یه عکس بعنوان بک گراند فرم قرار داده باشین همزمان با تغییر رزولیش نه تنها عکس بلکه سایز فرم هم عوض میشود.اما در حالت بدون عکس لطف کنید کد زیر را بعد از  InitializeComponent(); قرار بدید.
کد:
this.Size = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
      this.Location = new Point(0, 0);
7  سخت افزار Hardware / سخت افزارهای عمومی / پاسخ : خطای disk boot failure,insert system disk and press enter : 17 بهمن 1391,ساعت 21:36:30
با سلام
ممکنه بوت سکتور خراب شده باشه.کافیه سی دی یا دی وی دی که از روی آن ویندوزتون نصب کردید(منظورم اینه که همون ورژن باشه) ،درون سی دی رام بزارید و یه بار سیستمتون repair  کنید تا درست بشه.
8  برنامه نويسي Programing / C#.net / پاسخ : کمک در مورد تغییر اندازه فرم ها در سیستم با رزولوشن متفاوت : 17 بهمن 1391,ساعت 21:26:25
با سلام
کاربر گرامی لطفا این کد را در لود فرم خودتون استفاده کنید.

....
کد:
// Get dpi width
float x = this.CreateGraphics().DpiX;
// if screen is width
if (x == 120)
// Get big image from Resources
this.BackgroundImage = Properties.Resources.BigImage;
else
// Get small image from Resources
this.BackgroundImage = Properties.Resources.SmallImage;
9  برنامه نويسي Programing / PHP / پاسخ : مراحل کامل طراحی یه فرم ثبت نام : 19 تير 1390,ساعت 09:58:40
واسه این کار  به سه تا فایل نیاز هست :

register-form
register-exec
register-success

    * فایل register-form همان فرم ورودیه که کاربر باید فیلذهاش رو پر کنه
    * پس از پر کردن فرم register-form و ارسال آن توسط کاربر ، اطلاعات ارسالی به register-exec منتقل شده و پس از تایید صحت اطلاعات ، اطلاعات در دیتابیس ذخیره میشه
    * بعد از موفقیت آمیز بودن عملیات ثبت نام صفحه register-success اجرا میشود

حالا فایل register-form رو با استفاده از کدهای زیر ایجاد میکنیم :
کد:
<?php
    session_start
();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login Form</title>
<link href="loginmodule.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
    
if( isset($_SESSION[&#39;ERRMSG_ARR&#39;]) && is_array($_SESSION[&#39;ERRMSG_ARR&#39;]) && count($_SESSION[&#39;ERRMSG_ARR&#39;]) >0 ) {
        
echo &#39;<ul class="err">&#39;;
        
foreach($_SESSION[&#39;ERRMSG_ARR&#39;] as $msg) {
            
echo &#39;<li>&#39;,$msg,&#39;</li>&#39;;
        
}
        echo &
#39;</ul>&#39;;
        
unset($_SESSION[&#39;ERRMSG_ARR&#39;]);
    
}
?>

<form id="loginForm" name="loginForm" method="post" action="register-exec.php">
  <table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
    <tr>
      <th>First Name </th>
      <td><input name="fname" type="text" class="textfield" id="fname" /></td>
    </tr>
    <tr>
      <th>Last Name </th>
      <td><input name="lname" type="text" class="textfield" id="lname" /></td>
    </tr>
    <tr>
      <th width="124">Login</th>
      <td width="168"><input name="login" type="text" class="textfield" id="login" /></td>
    </tr>
    <tr>
      <th>Password</th>
      <td><input name="password" type="password" class="textfield" id="password" /></td>
    </tr>
    <tr>
      <th>Confirm Password </th>
      <td><input name="cpassword" type="password" class="textfield" id="cpassword" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Register" /></td>
    </tr>
  </table>
</form>
</body>
</html>

در سطر 14 بررسی میشه که آیا خطائی در اطلاعات ورودی وجود داره یا نه

حالا فایل register-exec رو میسازیم با کدهای زیر :
کد:
sql_real_escape_string($str);
    }
 
    $fname = clean($_POST['fname']);
    $lname = clean($_POST['lname']);
    $login = clean($_POST['login']);
    $password = clean($_POST['password']);
    $cpassword = clean($_POST['cpassword']);
 
    if($fname == '') {
        $errmsg_arr[] = 'First name missing';
        $errflag = true;
    }
    if($lname == '') {
        $errmsg_arr[] = 'Last name missing';
        $errflag = true;
    }
    if($login == '') {
        $errmsg_arr[] = 'Login ID missing';
        $errflag = true;
    }
    if($password == '') {
        $errmsg_arr[] = 'Password missing';
        $errflag = true;
    }
    if($cpassword == '') {
        $errmsg_arr[] = 'Confirm password missing';
        $errflag = true;
    }
    if( strcmp($password, $cpassword) != 0 ) {
        $errmsg_arr[] = 'Passwords do not match';
        $errflag = true;
    }
 
    if($login != '') {
        $qry = "SELECT * FROM members WHERE login='$login'";
        $result = mysql_query($qry);
        if($result) {
            if(mysql_num_rows($result) > 0) {
                $errmsg_arr[] = 'Login ID already in use';
                $errflag = true;
            }
            @mysql_free_result($result);
        }
        else {
            die("Query failed");
        }
    }
 
    if($errflag) {
        $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        session_write_close();
        header("location: register-form.php");
        exit();
    }
 
    $qry = "INSERT INTO members(firstname, lastname, login, passwd) VALUES('$fname','$lname','$login','".md5($_POST['password'])."')";
    $result = @mysql_query($qry);
 
    if($result) {
        header("location: register-success.php");
        exit();
    }else {
        die("Query failed");
    }
?>

چون تعداد زیادی از خطوط رو در پست اول توضیح دادم پس دستوراتی که تکرار شده اند رو توضیح نمیدم!

خط 21 تا 25 . اطلاعات رو واسه امنیت بیشتر با تابع clean بررسی میکنه . برای جلوگیری از حملات SQL injection
خط 50 . نام کاربری انتخاب شده بررسی میشه که آیا قبلا انتخاب شده یا نه !
خط 64 . اگه در اطلاعات ورودی خطائی موجود باشه به فرم ثبت نام (register-form) ریدایرکت میکنه
خط 70 . اگه اطلاعات ورودی صحیح و معتبر (بدون خطا) باشند ، اطلاعات در دیتابیس ذخیره میشن

فایل register-success :

کد:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Registration Successful</title>
<link href="loginmodule.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Registration Successful</h1>
<p><a href="login-form.php">Click here</a> to login to your account.</p>
</body>
</html>
10  دانشگاه مجازي Virtual Un / مهندسی نرم افزار / پاسخ : مهندسی نرم افزار سیستم کتابخانه : 30 آذر 1389,ساعت 14:27:58
با سلام

نمودار RELATION SHIP  کتابخانه:
کد:
http://www.imageupload.org/?di=912929288272

use case diagram:

کد:
http://www.imageupload.org/?di=3129292944215
11  نرم افزار Software / نرم افزارهای گرافيكی / پاسخ : ساخت انیمیشن در فتوشاپ : 30 آذر 1389,ساعت 14:14:42
با سلام

میتونیین فایل ها به یکی از فرمتهای قابل نمایش در فتوشاپ تبدیل کنید و در قسمت windows/animation انیمیشن را فعال کنین .در پنجره ای که باز میشه قادر خواهید بود فریم ها رو اضافه کنید و زمان بندی کنید.
12  برنامه نويسي Programing / ++C , C / پاسخ : دفترچه تلفن : 30 آذر 1389,ساعت 14:05:16
با سلام
از این برنامه کمک بگیرید و اجرا کنید.
کد:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>

//=====================================
//=====================================
struct address {
       char name[30] ;
       char street[30] ;
       char city[20] ;
       char state[3] ;
       char number[14] ;
       struct address *next ;
       struct address *prior ;
} list_entry ;
//=====================================
//=====================================
struct address *start ;
struct address *last ;

void enter() , display() , search() ;
void list() , del();
void display(struct address *info, int *row);

struct address *find(char *);
int menu_select();
struct address *store(struct address *, struct address *);
//=====================================
//=====================================




//****************

int menu_select()
{
      char s[5];
      system("cls");
      gotoxy(25,4) ;
      printf("1. enter a name ") ;
      gotoxy(25,6) ;
      printf("2. delete a name ") ;
      gotoxy(25, 8) ;
      printf("3. list all files ") ;
      gotoxy(25, 10) ;
      printf("4. search ") ;
      gotoxy(25, 12) ;
      printf("5. quit ") ;
      do {
      gotoxy(20, 18) ;
      printf("enter your select--power By majid (1-5):");
      gets(s);
      } while (atoi(s) < 0 || atoi(s) > 5) ;
      return atoi(s) ;
}
//*********************


void enter ()
{
   struct address *info ;
   int i ;
   char ch ;
   system("cls") ;
   gotoxy(3, 2) ;
   printf("   name        street     city     state    number");
   gotoxy(3, 3) ;
   printf(" ------------ -------- ");
   printf("--------   -----  ------- ");
   i = 4 ;
   for (;;) {
     info = (struct address *)malloc(sizeof(list_entry)) ;
     if(!info) {
    printf("\n out of memory. press a key ") ;
    getch();
    return ;
     }
     gotoxy(3, i) ;
     gets(info -> name) ;
     if (!info -> name[0]) {
      gotoxy(15, i + 1) ;
      printf("press a key to continue");
      getch() ;
      break ;
     }//end of if
     gotoxy(18, i);
     gets(info -> street) ;
     gotoxy(28, i) ;
     gets(info -> city) ;
     gotoxy(38, i) ;
     gets(info -> state) ;
     gotoxy(45, i) ;
     gets(info -> number) ;
     i++ ;
     start = store(info, start) ;
     } /* entry loop */
    }
//**************


struct address *store(struct address *i, struct address *top)
{
   struct address *old, *p ;
   if(last == NULL) {
    i -> next = NULL ;
    i -> prior = NULL ;
    start = i;
    last = i ;
    return i ;
   }
   p = top ;
   old = NULL ;
   while (p != NULL) {
       if(strcmp(p -> name, i -> name) < 0) {
          old = p ;
          p = p -> next ;
       }//end of if
       else {
         if (p -> prior) {
          p -> prior -> next=i ;
          i -> next=p ;
          i -> prior=p -> prior;
          p -> prior=i ;
          return top ;
         }//end of if
         i -> next = p ;
         i -> prior = NULL ;
         p -> prior = i ;
         return i ;
       }//end of if
   } // end of while
   old -> next = i ;
   i -> next = NULL ;
   i -> prior = old ;
   last = i ;
   return start ;
}
//******************


void del()
{
   struct address *info;
   char name[80];
   gotoxy(20, 20) ;
   printf(" enter name for delete : ") ;
   gets(name) ;
   info = find(name) ;
   if(info == NULL) {
       gotoxy(10, 20) ;
       printf(" name not found! press a key to continue.");
       getch() ;
   }
   if (info)
     if (start == info)
    {
      start = info -> next ;
      if(start)
         start -> prior = NULL ;
      else
         last = NULL ;
    } //end of if
     else  {
       info -> prior -> next = info -> next;
       if(info != last)
         info -> next -> prior = info -> prior;
       else
        last = info -> prior ;
     } //end of else
     free(info) ;
     gotoxy(10,20) ;
     printf("name deleted, press a key to continue.");
     getch() ;
}
//*******************************


struct address *find(char *name)
{
     struct address *info ;
     info = start ;
     while(info != NULL) {
    if (strcmp(name, info -> name) == 0)
       return info;
    info = info -> next ;
     }
     return NULL ;
}
//*****************


void list ()
{
    struct address *info ;
    int i ;
    info = start ;
    system("cls") ;
    gotoxy(3, 2) ;
    printf("   name        street     city     state    number");
    gotoxy(3, 3) ;
    printf(" ------------ --------  -");
    printf("-------   -----  ------- ");
    i = 4 ;
    while(info != NULL) {
    display(info, &i) ;
    info = info -> next ;
    }
    gotoxy(15, i + 2) ;
    printf("press a key to continue.");
    getch() ;
}
//*******************


void display(struct address *info, int *row)
{
      gotoxy(3, *row) ;
      printf("%s", info -> name) ;
      gotoxy(18, *row) ;
      printf("%s", info -> street) ;
      gotoxy(28, *row) ;
      printf("%s", info -> city) ;
      gotoxy(38, *row) ;
      printf(info -> state) ;
      gotoxy(47, *row) ;
      printf(info -> number) ;
      *row = *row + 1 ;
}
//**************************


void search()
{
     char name[40] ;
     int i ;
     struct address *info;
     gotoxy(20, 20) ;
     printf(" enter name to find : ");
     gets(name) ;
     info = find(name) ;
     if(info == NULL) {
      gotoxy(10, 20) ;
      printf(" name not found! press a key to continue.");
      getch() ;
     }//end of if
     else  {
          system("cls") ;
          gotoxy(3, 2) ;
          printf("   name        street   city     state   number");
          gotoxy(3, 3) ;
          printf(" ------------ -------");
          printf("-  --------   -----  ------- ") ;
          i = 4 ;
          display(info ,&i) ;
          gotoxy(15, i + 2) ;
          printf("press a key to continue.");
          getch() ;
     }//end of else
}
//*********************

int main()
{
       start = last = NULL ;
       for(;;) {
         switch(menu_select()) {
           case 1:  enter();  break ;
           case 2 : del();    break ;
            case 3:  list() ;  break ;
           case 4:  search(); break ;
           case 5:  exit(0) ;

        }//end of switch
       }//end of for
}//end of main
13  برنامه نويسي Programing / ++C , C / پاسخ : درخواست برنامه دانشجو با قابلیت های مختلف : 24 آذر 1389,ساعت 12:42:35
با سلام
از این توابع در برنامه کمک بگیرید:
کد:
void init(); //initial data assignmentvoid traverse(); //process is display (assumed)void insert();
    void del();
    void search();
    void sort();
    void edit();
};

کار هر تابع رو بدونید و برای برنامه خودتون بکار ببرید.از این سورس میتونین کمک بگیرین و برای برنامه دانشجو پیاده سازی کنین.
کد:
   int arrA[MAX],location,item,nA;
    int arrB[MAX],nB;
    int arr_merge[MAX+MAX],nM;
    public:
    array(){
       location=0;item=0;nA=0;
       nB=0;nM=0;
    }
    void init(); //initial data assignmentvoid traverse(); //process is display (assumed)void insert();
    void del();
    void search();
    void sort();
    void merge();
};

void array :: init(){
     clrscr();
     cout<<"\n\n*****Initialize Array*****\n";
     int choice,i;
     while(1){
    cout<<"\n\n1) Array A\n";
    cout<<"2) Array B\n";
    cout<<"3) Array Merge\n";
    cout<<"4) Return\n";
    cout<<"Enter your choice : ";
    cin>>choice;
    switch(choice){
         case 1 : cout<<"\n\n--Array A--\n";
              cout<<"Total elements to be inserted : ";
              cin>>nA;
              for(i=0;i<nA;i++)
             cin>>arrA[i];
              break;
         case 2 : cout<<"\n\n--Array B--\n";
              cout<<"Total elements to be inserted : ";
              cin>>nB;
              for(i=0;i<nB;i++)
             cin>>arrB[i];
              break;
         case 3 : cout<<"\n\n--Array Merge--\n";
              cout<<"Total elements to be inserted : ";
              cin>>nM;
              for(i=0;i<nM;i++)
             cin>>arr_merge[i];
              break;
         case 4 : goto end;
         default : cout<<"\n\nInvalid Position\n";
    }
     }
end:
}

void array :: traverse(){
     clrscr();
     cout<<"\n\n*****Display Process during Traversing*****\n";
     int choice,i;
     while(1){
    cout<<"\n\n1) Array A\n";
    cout<<"2) Array B\n";
    cout<<"3) Array Merge\n";
    cout<<"4) Return\n";
    cout<<"Enter your choice : ";
    cin>>choice;
    switch(choice){
         case 1 : cout<<"\n\n--Array A--\n";
              for(i=0;i<nA;i++)
             cout<<setw(5)<<arrA[i];
              break;
         case 2 : cout<<"\n\n--Array B--\n";
              for(i=0;i<nB;i++)
             cout<<setw(5)<<arrB[i];
              break;
         case 3 : cout<<"\n\n--Array Merge--\n";
              for(i=0;i<nM;i++)
             cout<<setw(5)<<arr_merge[i];
              break;
         case 4 : goto end;
         default : cout<<"\n\nInvalid Position\n";
    }
    getch();
     }
end:
}


/*All Operations Except Merging are  performed on arrA*/void array :: insert(){
     clrscr();
     int i;
     cout<<"\n\n*****Inserting Element*****\n";
     if(nA >= MAX){
    cout<<"\nArray is Full\nInsertion Not Possible\n";
    goto end;
     }
     cout<<"\nEnter Location of insertion : ";
     cin>>location;
     location--;
     if(location<0 || location>=nA)
     {
    cout<<"\n\nInvalid Position\n";
    goto end;
     }
     cout<<"Enter Item value to be inserted : ";
     cin>>item;
     for(i=nA-1;i>=location;i--){
     arrA[i+1] = arrA[i];
     }
     arrA[location]=item;
     nA++;
     cout<<"\nItem is Inserted\n";
end:
     getch();
}

void array :: del(){
     clrscr();
     int i;
     cout<<"\n\n*****Deleting Element*****\n";
     if(nA < 0){
    cout<<"\nArray is Empty\nDeletion Not Possible\n";
    goto end;
     }
     cout<<"\nEnter Location of deletion : ";
     cin>>location;
     location--;
     if(location<0 || location>=nA)
     {
    cout<<"\n\nInvalid Position\n";
    goto end;
     }
     cout<<"\nItem deleted is : "<<arrA[location];
     for(i=location;i<nA;i++){
     arrA[i] = arrA[i+1];
     }
     arrA[nA-1]=0;
     nA--;
 end:
      getch();
}

void array :: search(){
     clrscr();
     int i,found=-1;
     cout<<"\n\n*****Searching Element*****\n";
     cout<<"\nEnter Item value to be search : ";
     cin>>item;
     for(i=0;i<nA;i++){
     if(arrA[i] == item){
        found=i+1;
        break;
     }
     }
     if(found==-1)
     cout<<"\nSearch NOT FOUND\n";
     else
     cout<<"\nSearch is FOUND at "<<found<<" location\n";
     getch();
}

void array :: sort(){
     clrscr();
     int i,j,temp;
     cout<<"\n\n*****Sorting Element*****\n";
     for(i=0;i<nA;i++){
    for(j=i;j<nA;j++){
      if(arrA[i] > arrA[j]){
         temp    = arrA[i];
         arrA[i] = arrA[j];
         arrA[j] = temp;
      }
    }
     }
    cout<<"\nData are Sorted\n";
    getch();
}

void array :: merge(){
     clrscr();
     int i,j;
     cout<<"\n\n*****Merging Arrays*****\n";
     for(i=0;i<nA;i++)
    arr_merge[i]=arrA[i];

     for(j=0;j<nB;j++,i++)
    arr_merge[i]=arrB[j];

     nM=nA+nB;
     cout<<"\nArrays are Merged\n";
     getch();
}

// Program that accesses array class and displays result.


#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#define MAX 10
#include "array.cpp"void main()
{
   int choice;
   array obj;
   while(1){
   clrscr();
   cout<<"\t\tALL ARRAY OPERATIONS\n\n";
   cout<<"\t\t1) Initialise Data\n";
   cout<<"\t\t2) Traverse (Display Process)\n";
   cout<<"\t\t3) Insert\n";
   cout<<"\t\t4) Delete\n";
   cout<<"\t\t5) Search\n";
   cout<<"\t\t6) Sort\n";
   cout<<"\t\t7) Merge\n";
   cout<<"\t\t8) Exit\n";
   cout<<"\t\tEnter your Choice :  ";
   cin>>choice;
   switch(choice){
     case 1 :  obj.init();
           break;
     case 2 :  obj.traverse();
           break;
     case 3 :  obj.insert();
           break;
     case 4 :  obj.del();
           break;
     case 5 :  obj.search();
           break;
     case 6 :  obj.sort();
           break;
     case 7 :  obj.merge();
           break;
     case 8 :  gotoout;
     default:  cout<<"\n\n\t\tInvalid Choice\n\n";
           getch();
           break;
   }
 }
 out:
}

14  برنامه نويسي Programing / ++C , C / پاسخ : تبدیل افعال : 14 آذر 1389,ساعت 11:03:07
با سلام
من با توجه به اینکه شما درس کامپایلر یا طراحی و پیاده سازی خوانده اید راهنمایی کردم.
برای یک برنامه مشخص کار کنید.چون اگر بخواین این برنامه برای کل ورودیها عمل کنه و خروجی بده کار میبره.باید تمام مصدر ها و ... رو تو دستورات بذارید تا به هنگام کامپایل برنامه جایگزین بشه.
یعنی الگوریتمی بنویسید و برنامه تون طبق اون الگوریتم خروجی بده.مصدرهای مشخص و از قبل تعیین شده بذارید.
15  برنامه نويسي Programing / ++C , C / پاسخ : تبدیل افعال : 13 آذر 1389,ساعت 21:24:31
با سلام
اول اینکه این برنامه که شما میخواهید بنویسید در حد مغمول میتونه کار کنه.چون اگه بخواین برای کل افعال و ضمیرها و ... عمل کنه،کار حضرت فیله.وقت زیاد میبره
دوم اینکه شما میتونید با استفاده از دستورات کامپایلرهاو با پارسرها جوری عمل کنی که اگه یه دستوری در یه برنامه مشخص داده شد با مفسرها اونو به زبان مورد نظر یا ضمیر موذد نظر مفسر و ترجمه کنه.

پس یادتون نره که باید برای یک برنامه مشخص کار کنید.اگه بخواین برای کلیه برنامه ها کار کنه وقت زیا میبره و کار زیادی داره.
16  برنامه نويسي Programing / ++C , C / پاسخ : برنامه Paint به زبان ++C : 13 آذر 1389,ساعت 21:15:35
کدام کتابخانه؟

اینو ببینید:

کد:
#include <ddk/winddi.h>
#include "objects.h"
#include "brush.h"
#include "enum.h"

BOOL FillSolid(SURFOBJ *Surface, PRECTL Dimensions, ULONG iColor)
{
  ULONG x, y, LineWidth, leftOfBitmap;
  SURFGDI *SurfaceGDI;

  SurfaceGDI = (SURFGDI*)AccessInternalObjectFromUserObject(Surface);
  LineWidth  = Dimensions->right - Dimensions->left;

  for (y = Dimensions->top; y < Dimensions->bottom; y++)
  {
//      EngHLine(Surface, SurfaceGDI, Dimensions->left, y, LineWidth, iColor);
  }

  return TRUE;
}

BOOL EngPaintRgn(SURFOBJ *Surface, CLIPOBJ *ClipRegion, ULONG iColor, MIX Mix,
               BRUSHINST *BrushInst, POINTL *BrushPoint)
{
  RECT_ENUM RectEnum;
  BOOL EnumMore;

  switch(ClipRegion->iMode) {

    case TC_RECTANGLES:

    /* Rectangular clipping can be handled without enumeration.
       Note that trivial clipping is not possible, since the clipping
       region defines the area to fill */

    if (ClipRegion->iDComplexity == DC_RECT)
    {
      FillSolid(Surface, &ClipRegion->rclBounds, iColor);
    } else {

      /* Enumerate all the rectangles and draw them */
      CLIPOBJ_cEnumStart(ClipRegion, FALSE, CT_RECTANGLES, CD_ANY, ENUM_RECT_LIMIT);

      do {
        EnumMore = CLIPOBJ_bEnum(ClipRegion, sizeof(RectEnum), (PVOID) &RectEnum);
        FillSolid(Surface, &RectEnum.arcl[0], iColor);
      } while (EnumMore);
    }

    return(TRUE);

    default:
       return(FALSE);
  }
}

BOOL EngPaint(IN SURFOBJ *Surface, IN CLIPOBJ *ClipRegion,
              IN BRUSHOBJ *Brush,  IN POINTL *BrushOrigin,
              IN MIX  Mix)
{
  BOOLEAN ret;
  SURFGDI *SurfGDI;

  // Is the surface's Paint function hooked?
  SurfGDI = (SURFGDI*)AccessInternalObjectFromUserObject(Surface);

  // FIXME: Perform Mouse Safety on the given ClipRegion
  // MouseSafetyOnDrawStart(Surface, SurfGDI, x1, y1, x2, y2);

  if((Surface->iType!=STYPE_BITMAP) && (SurfGDI->Paint!=NULL))
  {
    // Call the driver's DrvPaint
    ret = SurfGDI->Paint(Surface, ClipRegion, Brush, BrushOrigin, Mix);
    // MouseSafetyOnDrawEnd(Surface, SurfGDI);
    return ret;
  }

  // FIXME: We only support a brush's solid color attribute
  ret = EngPaintRgn(Surface, ClipRegion, Brush->iSolidColor, Mix, NULL, BrushOrigin);

  // MouseSafetyOnDrawEnd(Surface, SurfGDI);

  return ret;
}

BOOL EngEraseSurface(SURFOBJ *Surface, RECTL *Rect, ULONG iColor)
{
  return FillSolid(Surface, Rect, iColor);
}

یا

کد:
#include <gl/gl.h>
#include <gl/device.h>
#include <math.h>

#define ABS( a )        (((a) > 0) ? (a) : -(a))
#define MOUSE               12
#define TABLET              13
#define DRAWLINE             2
#define NEWCOLOR             3
#define CLEAR                4
#define NEWSIZE              5
#define MOUSEXMAP(x)        ( (100.0*((x)-xorg))/(xsize) )
#define MOUSEYMAP(y)        ( (100.0*((y)-yorg))/(ysize) )
#define BPSCALE 16.0

struct event {
   struct event *next;
   int func;
   float arg1;
   float arg2;
   float arg3;
   float arg4;
};

int xsize, ysize;
int xorg, yorg;
int mx, my;
int bpx, bpy;
int mmiddle, mleft;
int curcolor = 7;
int lastcurcolor = 7;
float curx, cury, cursize;
int curdev = MOUSE;
struct event *histstart = 0;
struct event *histend = 0;
float xpos, ypos;
int pendown;
int brushsides;
float brushcoords[30][2];
int menu;

main()
{
   cursize = 1.0;
   prefposition(XMAXSCREEN/4,XMAXSCREEN*3/4,YMAXSCREEN/4,
       YMAXSCREEN*3/4);
   winopen("paint");
   menu = defpup("paint %t|mouse|tablet");
   makebrush();
   makeframe();
   getinput();
}

getinput()
{
   Device dev;
   short val;
   float x, y;
   while(TRUE) {
      do {
         dev = qread(&val);
         switch (dev) {
         case MOUSEX:
            mx = val;
            if (curdev == MOUSE)
               xpos = MOUSEXMAP(val);
            break;
         case MOUSEY:
            my = val;
            if (curdev == MOUSE)
               ypos = MOUSEYMAP(val);
            break;
         case BPADX:
            bpx = val;
            if (curdev == TABLET)
               xpos = val/BPSCALE;
            break;
         case BPADY:
            bpy = val;
            if (curdev == TABLET)
               ypos = val/BPSCALE;
            break;
         case BPAD0:
            if (curdev == TABLET)
               pendown = val;
            if (val) {
               curx = xpos = bpx/BPSCALE;
               cury = ypos = bpy/BPSCALE;
            }

            break;
         case MENUBUTTON:
            if(val) {
               switch (dopup(menu)) {
               case 1:
                  curdev = MOUSE;
                  break;
               case 2:
                  curdev = TABLET;
                  break;
               }

            }

            break;
         case MIDDLEMOUSE:
            mmiddle = val;
            if (mmiddle) {
               clearscreen();
               history(CLEAR);
            }

            break;
         case LEFTMOUSE:
            mleft = val;
            if (mleft) {
               if (!inside(mx-xorg, my-yorg,
                   0, xsize, 0, ysize, 0)) {
                  newcolor(getapixel(mx,my));
                  history(NEWCOLOR,(float)curcolor);
               }

            }

            if (curdev == MOUSE) {
               pendown = val;
               curx = xpos = MOUSEXMAP(mx);
               cury = ypos = MOUSEYMAP(my);
            }

            break;
         case REDRAW:
            makeframe();
            replay();
            break;
         case ESCKEY:
            gexit();
            exit(0);
            break;
         }

      } while (qtest());
      if (pendown) {
         x = xpos;
         y = ypos;
         drawbrush(x,y,curx,cury);
         history(DRAWLINE,x,y,curx,cury);
         curx = x;
         cury = y;
      }
   }

}

clearscreen()
{
   color(curcolor);
   clear();
}

newcolor(c)
int c;
{
   lastcurcolor = curcolor;
   curcolor = c;
   paintport();
}

makeframe()
{
   qdevice(ESCKEY);
   qdevice(MOUSEX);
   qdevice(MOUSEY);
   qdevice(MENUBUTTON);
   qdevice(MIDDLEMOUSE);
   qdevice(LEFTMOUSE);
   qdevice(BPADX);
   qdevice(BPADY);
   qdevice(BPAD0);
   getsize(&xsize,&ysize);
   getorigin(&xorg,&yorg);
   paintport();
   newcolor(0);
   clearscreen();
   newcolor(255);
   newcolor(128+32);
}

paintport()
{
   viewport(0,xsize-1,0,ysize);
   ortho2(-0.5,99.5,-0.5,99.5);
}

inside(x,y,xmin,xmax,ymin,ymax,fudge)
int x, y, xmin, xmax, ymin, ymax, fudge;
{
   if (x>xmin-fudge && x<xmax+fudge &&
       y>ymin-fudge && y<ymax+fudge)
      return 1;
   else
      return 0;
}

makebrush()
{
   int i;
   brushsides = 4;
   brushcoords[0][0] = -0.6;
   brushcoords[0][1] = -0.2;
   brushcoords[1][0] = -0.6;
   brushcoords[1][1] = -0.4;
   brushcoords[2][0] =  0.6;
   brushcoords[2][1] =  0.2;
   brushcoords[3][0] =  0.6;
   brushcoords[3][1] =  0.4;
   for (i=0; i<brushsides; i++) {
      brushcoords[i][0] = 0.5*brushcoords[i][0];
      brushcoords[i][1] = 0.5*brushcoords[i][1];
   }

}

drawbrush(x,y,ox,oy)
float x, y, ox, oy;
{
   register int i, n;
   register float dx, dy;
   float quad[4][2];
   float delta;
   int c;
   dx = ox-x;
   dy = oy-y;
   if (lastcurcolor != curcolor) {
      delta = sqrt(dx*dx+dy*dy);
      if (delta<0.001)
         return;
      c = (int) (curcolor + (lastcurcolor-curcolor) *
          (ABS(dx)/delta) );
      color(c);
   }
   else
      color(curcolor);
   pushmatrix();
   translate(x,y,0.0);
   for (i=0; i<brushsides; i++) {
      n = (i+1) % brushsides;
      quad[0][0] = brushcoords[i][0];
      quad[0][1] = brushcoords[i][1];
      quad[1][0] = brushcoords[n][0];
      quad[1][1] = brushcoords[n][1];
      quad[2][0] = quad[1][0]+dx;
      quad[2][1] = quad[1][1]+dy;
      quad[3][0] = quad[0][0]+dx;
      quad[3][1] = quad[0][1]+dy;
      polf2(4,quad);
   }

   polf2(brushsides,brushcoords);
   popmatrix();
}

history(func,arg1,arg2,arg3,arg4)
int func;
float arg1, arg2, arg3, arg4;
{
   register struct event *e, *n;
   e = (struct event *)malloc(sizeof(struct event));
   switch (func) {
   case CLEAR:
      zaphistory();
      history(NEWCOLOR,(float)curcolor);
      break;
   case NEWCOLOR:
   case DRAWLINE:
      e->func = func;
      e->arg1 = arg1;
      e->arg2 = arg2;
      e->arg3 = arg3;
      e->arg4 = arg4;
      e->next = 0;
      if (!histstart) {
         histstart = histend = e;
      }
      else {
         histend->next = e;
         histend = e;
      }

      break;
   }

}

zaphistory()
{
   register struct event *e, *n;
   e = histstart;
   while (e) {
      n = e->next;
      free(e);
      e = n;
   }

   histstart = histend = 0;
}

replay()
{
   register struct event *e;
   register int i;
   i = 0;
   e = histstart;
   while (e) {
      switch (e->func) {
      case NEWCOLOR:
         newcolor((int)e->arg1);
         break;
      case DRAWLINE:
         drawbrush(e->arg1,e->arg2,e->arg3,e->arg4);
         break;
      case CLEAR:
         clearscreen();
         break;
      }
      e = e->next;
      i++;
   }

}

/*
 *        getapixel -
 *                Read a pixel from a specific screen location.
 *
 */
getapixel(mousex, mousey)
short mousex, mousey;
{
   short pixel;
   int   xmin, ymin;    /* Convert position to window relative coordinates */
   getorigin(&xmin, &ymin);
   mousex -= xmin;
   mousey -= ymin;

   rectread(mousex, mousey, mousex+1, mousey+1, &pixel);

   return(pixel);
}
17  برنامه نويسي Programing / ++C , C / پاسخ : برنامه Paint به زبان ++C : 13 آذر 1389,ساعت 14:58:37
با سلام
ملاحظه بفرمایید

کد:
http://www.4shared.com/file/vMh1f31Q/paint.html
18  سخت افزار Hardware / لپ تاپ / پاسخ : حذف پسورد بایاس dell 1510 vostro : 11 آذر 1389,ساعت 16:39:32
با سلام
شما می توانید با برداشتن و گذاشتن باطری سیستم رمز بایوس را حذف کنید .
19  برنامه نويسي Programing / ++C , C / پاسخ : الگوریتم مرج سورت : 10 آذر 1389,ساعت 20:20:05
با سلام

این سورس برای زمانی عمل میکنه که دو قسمت کرده باشیم.
کد:
import random, time

def merge(A, B):
    """
    Returns a new list C that contains all the elements of A and B
    in sorted order.

    A and B must be in sorted order for this to work!

    >>> A = [3, 5, 6, 7, 32, 235]
    >>> B = [-1, 4, 5, 6, 7, 8, 9, 19, 65]
    >>> merge(A, B)
    [-1, 3, 4, 5, 5, 6, 6, 7, 7, 8, 9, 19, 32, 65, 235]
    """
    n = len(A) + len(B)
    result = []
    a, b = 0, 0
    for c in range(n):    # c is incremented each iteration
        if a == len(A):   # A is done
            result.append(B[b])
            b += 1
        elif b == len(B): # B is done
            result.append(A[a])
            a += 1
        elif A[a] < B[b]: # elements on both A and B
            result.append(A[a])
            a += 1
        else:
            result.append(B[b])
            b += 1

    return result

def mergesort(lst):
    """
    Performs mergesort on lst. Returns a new list that is in sorted
    order.  The passed-in lst is not modified.

    Note: This is not the most efficient version of mergesort. Far
    from it, in fact. It is written to be easy to understand. The
    slicing to create the left and right lists is inefficient, and
    should be replaced with in-place operations if you need it to
    run faster.
    """
    n = len(lst)
    if n < 2:           # nothing to sort!
        return lst[:]    # so just return a copy and quit
    else:
        mid = n / 2        # split the list
        left = lst[:mid]   # into two equal
        right = lst[mid:]  # halves

        sorted_left = mergesort(left)     # recursively sort
        sorted_right = mergesort(right)   # each half

        return merge(sorted_left, sorted_right)

# bubble sort included for comparison
def bubble_up_once(lst):
    i = 1
    while i < len(lst):
        if lst[i-1] > lst[i]:
            lst[i-1], lst[i] = lst[i], lst[i-1]   # swap
        i += 1

def bubble_sort(lst):
    for x in lst:
        bubble_up_once(lst)


if __name__ == '__main__':
    lst = range(10000)
    random.shuffle(lst)
    result = mergesort(lst)

ببینید حالتی در نظر بگیرید که 4 تا لیست دارید و میخواهید مرتب کنید.با دنبال کردن روند بالا برای 4 قسمتی در نظر بگیرید.اگه مشکلی بود بپرسید.
20  برنامه نويسي Programing / ++C , C / پاسخ : آسانسور : 10 آذر 1389,ساعت 19:47:11
با سلام
از این سورس کمک بگیرید.

کد:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

const int MaxTrackNumber=40;
const int MaxTaskNumber=30;
const int TotalTaskNumber=1600;
const int Average=20;


struct Task
{
int startTime;
int track;
int endTime;
};

Task taskPool[TotalTaskNumber];

class Arm;


class Timer
{
friend class Arm;
private:
int working[MaxTrackNumber];
int waiting[MaxTrackNumber];
int workingCount;
int waitingCount;
int lastPeriod;
int currPeriod;
int counter;
bool possible();
bool testDir(bool forward, int current);
int taskIndex;

public:
void generate();
Timer();
int getTime(){return counter;}
void tick(int curPos);
void reset();
void taskTest(bool& forward, int& current);
bool finished(){return taskIndex==TotalTaskNumber;}
};



class Arm
{
private:
bool forward;
int current;
Timer timer;
public:
Arm();
bool step();
void report();
};


int main()
{
Arm A;
srand(time(0));
while (!A.step())
{
//A.report();
}
A.report();
return 0;
}




//timer tick and solve task, generate new task by possibility
void Timer::tick(int curPos)
{
counter++;
generate();
if (working[curPos]!=-1)
{
//if (taskPool[working[curPos]].endTime==-1)
{
taskPool[working[curPos]].endTime=counter;
workingCount--;
working[curPos]=-1;
}
}
}

bool Timer::possible()
{
currPeriod++;
//waitingCount/currPeriod
return currPeriod-rand()%lastPeriod>=0;
}

void Timer::generate()
{
int theTrack;
if (finished())
{
return;
}
if (waitingCount<MaxTaskNumber)
{
if (possible())//generate
{
taskPool[taskIndex].startTime=counter;
theTrack=rand()%MaxTrackNumber;
while (working[theTrack]!=-1||waiting[theTrack]!=-1)
{
theTrack=rand()%MaxTrackNumber;
}
taskPool[taskIndex].track=theTrack;
taskPool[taskIndex].endTime=-1;//initialize
waiting[theTrack]=taskIndex;
waitingCount++;
taskIndex++;
}
}
}

Timer::Timer()
{
counter=0;
taskIndex=0;
lastPeriod=Average;
currPeriod=0;
waitingCount=workingCount=0;
for (int i=0; i<MaxTrackNumber; i++)
{
working[i]=waiting[i]=-1;
}
}

void Timer::reset()
{
if (workingCount==0)
{
for (int i=0; i<MaxTrackNumber; i++)
{
working[i]=waiting[i];
waiting[i]=-1;//clear up
}
lastPeriod=currPeriod;
currPeriod=0;
workingCount=waitingCount;
waitingCount=0;//clear up
}
}


void Timer::taskTest(bool& forward, int& current)
{
//always to call reset in case working period finished
reset();
//first to determine direction
if (forward)
{
//always assume change direction unless...
forward=false;
//unless there is something to explore

for (int i=current+1; i<MaxTrackNumber; i++)
{
if (working[i]!=-1)
{
forward=true;
break;
}
}
}
else
{
//always assume change direction
forward=true;

for(int i=current-1; i>=0; i--)
{
if (working[i]!=-1)
{
//unless we find reason for keep going
forward=false;
break;
}
}
}
//since we setup direction,let's go
if (forward)
{
current++;
}
else
{
current--;
}
tick(current);
}

bool Arm::step()
{
//it is timer's responsibility to determine forward
timer.taskTest(forward, current);
return timer.workingCount==0&&timer.finished()&&timer.waitingCount==0;
//timer.tick(current);
}

Arm::Arm()
{
current=0;
forward=true;
//initialize to have at least one task
while (timer.waitingCount<1)
{
timer.generate();
}
}

void Arm::report()
{
long total=0;
if (timer.finished())
{
for (int i=0; i<TotalTaskNumber; i++)
{
total+=taskPool[i].endTime-taskPool[i].startTime;
}
printf("total waiting time is %d\n", total);
printf("for total number %d tasks, the average waiting time:\n%d",
TotalTaskNumber, total/TotalTaskNumber);
printf("and ratio with number of track is %d/%d=%d\n", total/TotalTaskNumber,
MaxTrackNumber, total/TotalTaskNumber/MaxTrackNumber);
}
else
{
printf("task proceeding no. %d\n", timer.taskIndex);
}
صفحه: [1] 2 3 4 5 6 7 8 ... 20