اطلاعیه

Collapse
No announcement yet.

این برنامه چگونه نوشته میشود

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    این برنامه چگونه نوشته میشود

    سلام و خسته نباشید
    از صبح فکرم را درگیر کرده این برنامه ؟ هر جور روی کاغذ و افکارم فکر می کنم باز یه جا به مشکل بر میخورم
    آخر دیدم این طوری نمیشه
    باید برم سراغ برنامه و هی برنامه رو بنویسم و در پروتیوس اجرا کنم شاید به نتیجه برسم
    در نتیجه گفتم از شما هم کمک بگیرم
    اما کاری که قراره انجام بدم
    توی برنامه 4 تا پورت وجود داره که سه پورت اطلاعات را می فرستیم و در یک پورت هم قصد داریم کلید وصل کنیم تا برنامه رو اون طوری که دوست داریم کنترل کنیم
    مشکل ما روی همین پورت کنترل می باشد . ما قصد داریم سه کلید وصل کنیم که با کلید ریست 4 تا می شوند .
    در برنامه فرض کنید 9 تا برچسب داریم از L1 تا L9
    اگر کلید ها فشرده نشوند یا کلید ریست فشرده شود برنامه از برچسب یک تا برچسب 9 اجرا و تکرار شوند .
    اما شاید دوست داشته باشیبم بعضی برچسب ها اجرا نشوند بعضی ها هم دو یا سه بار اجرا شوند مثلا شاید اقای x دوست داشته باشد برنامه به ترتیب زیر اجرا شود و تکرار شوند
    l5 , l6 , l1 ,l5 , l9 ,l5
    و خانم y دوست داشته باشد به ترتیب زیر اجرا شود
    l1 , l4,l9,l2,l3,l5,l6,l7,l7,l8,l9
    در نتیجه ما سه تا کلید داریم که یکی کلید استارت باید باشه یکی کلیدرفتن از برچسب یک تا برچسب 9باشه و یکی هم کلید انتخاب باشه . اگه دوستان فکر میکنن کلید دیگری هم لازمه میتونند استفاده کنند .
    انشالله که به نتیجه برسیم .
    اگر هم کسی هست که مطمئن می باشد که نشدنیه همین جا بگه که ما خودمونو بی خود الاف نکنیم .
    اگه خودم امشب به نتیجه رسیدم همین جا ذکر می کنم .

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

    #2
    پاسخ : این برنامه چگونه نوشته میشود

    سلام

    من نظرم با توجه به سخت افزار شما اینه که از switch case یا همون select case استفاده کنید

    حالا این case بیاد چک کنه ببنه کدوم دیپ سویچ در حالت یک قرار داره و از اعدا کمتر برنامه هارو اجرا کنه

    البته به صورت حرفه ای تر هم میشه نوشت اما من برای سخت افزار شما اینو پیشنهاد میکنم
    .The best question deserves a better answer
    =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
    «پناه»می برم «به خدا»
    از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
    محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

    دیدگاه


      #3
      پاسخ : این برنامه چگونه نوشته میشود

      اول از همه یه آرایه میخوای با ظرفیت نهایت تعداد برچسب هایی که میتونی بهش پرش کنی به علاوه 1
      مثلا تو مثال دومت 11تا برچسب باید پرش بشه که +1 میشه 12
      یه شماره برای هر برچسبت در نظر بگیر، مثلا از 0 تا 9
      شماره برچسبی که میخوای بهش پرش کنی رو به ترتیب از کاربر با همون دکمه هایت بگیر و تو این آرایه بریز و خونه آخر رو با یه عدد دیگه مثلا 10 پر کن(خونه بعد از آخرین شماره برچسب موجود تو آرایه)
      تو مثالت دومت آرایت مثلا میشه اینجوری:
      {1،4،9،2،3،5،6،7،7،8،9،10}
      حالا یه دونه متغییر به عنوان اندیس برا خودت تعریف کن و مقدار اولیش هم 0 بده
      حالا محتوای آرایت تو خونه اندیس رو بزار تو یدونه سلکت کیس (تو بسکام) یا سویچ (تو سی) و مقدارش رو از 0 تا 10 چک کن، اگه از بین 0 تا 9 بود بپره به برچسب مربوطه و بعد از اجرای برچسب یدونه به اندیس اضافه کنه؛ و اگه 10 بود اندیس رو 0 کنه.
      تو مثال اگه زبون سی باشه میشه اینجوری:
      کد:
      char index=0;
      switch(array[index]){
      	case 1:
      		lable1();
      		index++;
      		break;
      	case 2:
      		lable2();
      		index++;
      		break;
      	case 3:
      	.
      	.
      	.
      	case 10:
      		index=0;
      		break;
      }
      حالا همین کارو مدام تکرار کن، میشه همون چیزی که میخوای
      خیلی حرفه ای تر همین روشی که گفتم فقط تو C امکان پذیره، به این صورت که بیای کارایی که قراره لیبل ها انجام بدن رو به جای لیبل تو یه تابع بنویسی و آدرس اون توابع رو به عنوان اندیس های آرایه توی آرایه بنویسی و با یه پوینتر فانکشن فقط تابع اندیس رو اجرا کنی
      ;()((void (*)(void))0x0000))

      دیدگاه


        #4
        پاسخ : این برنامه چگونه نوشته میشود

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

        دیدگاه

        لطفا صبر کنید...
        X