Code Corona

نسخه‌ي كامل: پروژه های برنامه نویسی ( رضا نخلبند )
شما هم اكنون متن قالب بندي نشده را مي‌بينيد.مشاهده‌ي نسخه‌ي اصلي
صفحات: 1 2
سلام
من 3 پروژه در نظر گرفتم که اولی و دومی آسون هستند و تک نفره باید نوشته بشن
و پروژه ی سوم که یکم سخت تره رو میتونید دو نفره هم بنویسید ...

مهلت تحویل پروژه ها تا روز امتحان پایان ترم درس مبانی هست

از دوستانم تو فروم تقاضا میکنم که دانشجو ها رو برای انجام این پروژه ها راهنمایی کنند...
باشه programmer عزیز تا جایی که جواب سوال لو نره راهنمایی می کنیم.
پروژه ی شماره ی 1

تهیه و تنظیم : رضا نخلبند
گردش اسب در شطرنج

برنامه ای بنویسید که با استفاده از کلیدهای 1 تا 8 کیبورد
حرکت اسب روی صفحه ی شطرنج را شبیه سازی کند. ( صفحه ی شطرنج : 8 * 8 )

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

نمونه ای از اجرای برنامه را در زیر می بینید :
( نقطه ی شروع خانه ی 0 و 0 است )
کد:
    1     0     0     0     0     0     0     0
    0     0     2     0     0     0     0     0
    0     0     0     0     0     0     9     0
    0     3     0     0     0     0     0     0
    0     0     0     4     0     0     0     8
    0     0     0     0     6     0     0     0
    0     0     5     0     0     0     7     0
    0     0     0     0     0     0     0     0

تذکر :
در صورت خارج شدن اسب از صفحه ی شطرنج ، برنامه باید پیغام دهد و از چنین حرکتی جلوگیری کند.
پروژه ی شماره ی 2

تهیه و تنظیم : رضا نخلبند
تنظیم و رزرو فرود هواپیما

فرودگاهی دارای 20 باند است. برنامه ای برای تنظیم و رزرو فرود هواپیماها به شرح زیر بنویسید :

الف) آرایه ای 20 عنصری از ساختمان تعریف کنید که عناصر ساختمان به این شرح باشند :

شماره ی باند فرود ، وضعیت باند ( 1 = پر یا رزرو ، 0 = خالی ) و نام کسی که باند را کنترل می کند.

ب) منویی بصورت زیر ظاهر کند و تمام عملیات موجود در منو را به انتخاب کاربر انجام دهد :

1ـ نمايش تعداد با ندهاي خالي
2ـ نمايش شماره باند هاي خالي
3ـ نمايش باندهاي پر يا رزرو شده
4ـ تخصيص باند فرودگاه به هواپيما
5ـ آزاد كردن باند فرودگاه
6ـ خروج

توجه :
برنامه باید وضعیتها را از یک فایل خوانده و تغییرات را در آن فايل ذخیره کند.

راهنمایی :
1) با استفاده از while و switch می توانید منو را طراحی کنید.

2) می توانید برای باند ها یک ساختار بصورت زیر تعریف کنید :
کد:
Struct band
{
      int no ;
      int full ;
      char name[20] ;
} bands[20] ;
پروژه ی شماره ی 3

تهیه و تنظیم : رضا نخلبند
اداره ی کتابخانه ی شخصی

اطلاعاتی که در فایل قرار می گیرند عبارتند از :
1- نام کتاب 2- نام نویسنده یا مترجم 3- تاریخ خرید
4- قیمت کتاب 5- موضوع کتاب

گزارشهایی که برنامه باید اخذ نماید عبارتند از :
1- مشخصات کلیه ی کتابها
2- جستجو براساس موضوع کتاب و چاپ اطلاعات آن
3- جستجو براساس نام کتاب یا نویسنده و چاپ اطلاعات آن
4- کتابهایی که در تاریخ خاصی خریداری شده اند
5- هزینه های صرف شده برای خرید کتابها

توجه :
ورود و خروج اطلاعات از یک فایل صورت بگیرد.

راهنمایی :
1) با استفاده از while و switch مي توانيد براي برنامه منو طراحي کنید.
2) مي توانيد براي هر كتاب يك ساختار بصورت زير تعريف كنيد :

کد:
Struct book
{
      char name[15] ;
      char writer_name[20] ;
      char buy_date[9] ;
      int  price ;
      char title[20] ;
} ;
امیدوارم که موفق باشید ... Grimace Grin
rn_programmer نوشته :پروژه ی شماره ی 2

تهیه و تنظیم : رضا نخلبند
تنظیم و رزرو فرود هواپیما

فرودگاهی دارای 20 باند است. برنامه ای برای تنظیم و رزرو فرود هواپیماها به شرح زیر بنویسید :

الف) آرایه ای 20 عنصری از ساختمان تعریف کنید که عناصر ساختمان به این شرح باشند :

شماره ی باند فرود ، وضعیت باند ( 1 = پر یا رزرو ، 0 = خالی ) و نام کسی که باند را کنترل می کند.

ب) منویی بصورت زیر ظاهر کند و تمام عملیات موجود در منو را به انتخاب کاربر انجام دهد :

1ـ نمايش تعداد با ندهاي خالي
2ـ نمايش شماره باند هاي خالي
3ـ نمايش باندهاي پر يا رزرو شده
4ـ تخصيص باند فرودگاه به هواپيما
5ـ آزاد كردن باند فرودگاه
6ـ خروج

توجه :
برنامه باید وضعیتها را از یک فایل خوانده و تغییرات را در آن فايل ذخیره کند.

راهنمایی :
1) با استفاده از while و switch می توانید منو را طراحی کنید.

2) می توانید برای باند ها یک ساختار بصورت زیر تعریف کنید :
کد:
Struct band
{
      int no ;
      int full ;
      char name[20] ;
} bands[20] ;
با اجازه استاد جواب سوال رو میزارم البته ++c
کد:
/*
  Name:Airport
  Copyright:www.codecorona.com  
  Author: Mohammad yazdani
*/

#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#define filename "airport.dat"
const int size=3;
struct band{
       char name[30];
       int number;
       bool state;
}bands[size];
int show_free_band()
{
    int i;
    for(i=0;i<size;i++)
    {
      if(bands[i].state==0)
         cout<<endl<<bands[i].name<<" WITH NUMBER  "<<bands[i].number<<" IS FREE";                      
      getch();
      }          
}
int counter_free_band()
{
    int i,count=0;
    for(i=0;i<size;i++)
     if(bands[i].state==0)
       count++;
     return count;
}
void show_band_state()
{
     int i;
      for(i=0;i<size;i++)
      {
        cout<<endl<<endl<<bands[i].name<<" WITH NUMBER  "<<bands[i].number<<(bands[i].state)?" IS FREE":"IS BUSY";                      
        getch();
        }        
}
void reserve_band()
{
     int i;
     for(i=0;i<size;i++)
       if(bands[i].state==0)
        {
            cout<<bands[i].name<<" "<<bands[i].number<<"IS APPROPRIATE FOR YOU";
            getch();
            bands[i].state=1;
            return;
             }    
     cout<<"SORRY AT PRESENT THERE ARE NOT ANY FREE BAND.";
     getch();                    
    
}
void free_band()
{
     int num,i;
     cout<<"please enter the number of the band to free it now:";
     cin>>num;
     for(i=0;i<size;i++)
      if(bands[i].number==num)
      {
         bands[i].state=0;
         return;
         }
      cout<<"THERE ARE NOT ANY BAND WITH THIS NUMBER IN AIRPORT";
      getch();
      
}
void exit()
{
   exit(0);
}
void load()
{
    int i;
    ifstream ob(filename);
    for(i=0;i<size;i++)
      ob.read((char*)&bands[i],sizeof(band));  
    ob.close();  
}                    
void save()
{
     int i;
     ofstream ob(filename);
     for(i=0;i<size;i++)
       ob.write((char*)&bands[i],sizeof(band));
     ob.close();
}
void make_airport()
{
     int i;
     ofstream ob(filename);
     for(i=0;i<size;i++)
      {
          cout<<"\nplease enter the name of the band:";              
          cin>>bands[i].name;
          cout<<"please enter the number of the band:";
          cin>>bands[i].number;
          bands[i].state=0;
          ob.write((char*)&bands[i],sizeof(band));
          }
       ob.close();
}    
int menu()
{
    int choice;
    do{
        system("cls");
        cout<<"\n1-see the count of free band."
              "\n2-show the band number of free band in airport."
              "\n3-show the status of all band in airport."  
              "\n4-reserve a band for for an airplane."
              "\n5-open a band."
              "\n6-save changes to the air port and exit"
              "\n7-exit from air port without saving changes in it";
        cout<<"\n\nPlease enter your choice between(1-7):";
        cin>>choice;
       }while(choice<1||choice>7);
     return choice;
}    
            
int main()
{
     ifstream op("test.dat");
     if(!op)
     {    
        make_airport();
        ofstream op("test.dat");
        op.close();
        }
     load();
     while(1)
     {
            
     switch(menu())
     {
          case 1:
                   cout<<counter_free_band();
                   getch();
                    break;
          case 2:
                  show_free_band();
                  break;
          case 3:
                     show_band_state();
                     break;
           case 4:
                    reserve_band();
                    break;        
           case 5:
                     free_band();
                     break;
            case 6:
                      save();
                      exit();
                      break;
             case 7:
                     exit();
                     break;                            
                     }//end of switch
                     }

}
rn_programmer نوشته :پروژه ی شماره ی 1

تهیه و تنظیم : رضا نخلبند
گردش اسب در شطرنج

برنامه ای بنویسید که با استفاده از کلیدهای 1 تا 8 کیبورد
حرکت اسب روی صفحه ی شطرنج را شبیه سازی کند. ( صفحه ی شطرنج : 8 * 8 )

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

نمونه ای از اجرای برنامه را در زیر می بینید :
( نقطه ی شروع خانه ی 0 و 0 است )
کد:
    1     0     0     0     0     0     0     0
    0     0     2     0     0     0     0     0
    0     0     0     0     0     0     9     0
    0     3     0     0     0     0     0     0
    0     0     0     4     0     0     0     8
    0     0     0     0     6     0     0     0
    0     0     5     0     0     0     7     0
    0     0     0     0     0     0     0     0

تذکر :
در صورت خارج شدن اسب از صفحه ی شطرنج ، برنامه باید پیغام دهد و از چنین حرکتی جلوگیری کند.

با اجازه از استاد نخلبند جواب این سوال رو هم میزارم.برنامه نقطه شروع رو از فایلی به نام source.dat میگیره و در هر مر حله حرکات رو به کاربر نشون میده و جدول نهایی رو در فایلی به نامaim.dat ذخیره میکنه.
کد:
/**
  Name:The MOVMENT OF A HOURSE IN A CHESS
  Copyright:www.codecorona.com
  Author:Mohammad yazdani
*/

#include <iostream>
#include <conio.h>
#include <fstream>
#include <cstdlib>
#define filename "source.dat"
#define filename1 "aim.dat"
#define row 8
#define col 8
using namespace std;
//***************************FUNCTION PROTOTYPE*********************************
void print(int[row][col],bool=false);
void input(int&,int&);
void move (int[row][col],int,int);
bool motion(int&,int&,int);
//*****************************MAIN FUNCTION************************************
int main()
{
    int x,y,table[row][col]={0};
    input(x,y);
    move(table,x,y);
    cout<<"the final table to made with your movment had stored in end file:\n\n";
    print(table,1);
    system("pause");
    return EXIT_SUCCESS;
}
//******************************************************************************
void input(int&x,int&y)
{
    ifstream ob(filename);
    ob>>x>>y;
    ob.close();
}
//******************************************************************************
void move(int t[row][col],int x,int y)
{
    t[x][y]=1;
    cout<<"the start point for this board is row "<<x<<" && coloum "<<y<<endl<<endl;
    for(int k=0,number ; k < 8 ; )
    {
        char alert=0;
        do
        {
            cout<<alert;
           // system("cls");
            print(t);
            getch();
            cout<<"\nthe poosible movment in the board."
               "\n\nnumber 1: 2 cell top && 1 cell left"
               "\n\nnumber 2: 2 cell top && 1 cell right"
               "\n\nnumber 3: 2 cell left && 1 cell down"
               "\n\nnumber 4: 2 cell left && 1 cell top."
               "\n\nnumber5: 2 cell right && 1 cell down"
               "\n\nnumber 6: 2 cell right && 1 cell top"
               "\n\nnumber 7: 2 cell down && 1 cell right"
               "\n\number 8: 2 cell down && 1 cell left."
               "\n \n\nplease choos one of this movment:";
            cin>>number;
            alert='\a';
        }
        while(number<1 || number>9);


        if(!motion(x,y,number))
             cout<<"\athis movment can not be done in chess.\n";
        else
            t[x][y]=++k;

    }
}
//******************************************************************************
void print(int t[row][col],bool b)
{
  if(!b)
  {  
    cout<<"      ";
    for(int i=0;i<row;i++,cout<<endl<<endl<<"       ")
      for(int j=0;j<col;cout<<t[i][j++]<<"   ");
      }//end of if
  else
  {
    ofstream ob1(filename1);
     cout<<"       ";
    for(int i=0;i<row;i++,ob1<<endl<<endl<<"       ")
      for(int j=0;j<col;ob1<<t[i][j++]<<"   ");  
    ob1.close();
     }//end of else if
}
//******************************************************************************
bool motion(int &x,int&y,int t)
{
    int h[]={-2,-2,1,-1,1,-1,2,2};
    int v[]={-1,1,-2,-2,2,2,1,-1};
    int xt,yt;
    xt=h[--t]+x;
    yt=v[t]+y;
    if(xt < 0 || xt > col-1 || yt < 0 || yt > row-1)
        return false;

    x=xt;
    y=yt;
    return true;
}
//*****************************************************************************
آقايون كمك من source chess رو ميخوام.
صبر کن شایدتو تابستون نوشتیمش.
صفحات: 1 2
آدرس اصلي