اطلاعیه

Collapse
No announcement yet.

مشکل این برنامه چیه(بیسیک)

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

    مشکل این برنامه چیه(بیسیک)

    توی یه مداری نیاز به کانتر دارم که با 7سگمنت کار میکنه.

    ولی نمیدونم مشکلش چیه وقتی به 232 میرسه و میخاد عدد 233 رو نشون بده عدد 1233 رو نشون میده. بعد 10 تا بالا میره و عدد صفر میشه.

    این برنامه هستش:

    Sadgan = Op2 Mod 1000
    A4 = Op2 / 1000
    Dahgan = Sadgan Mod 100
    A3 = Sadgan / 100
    A2 = Dahgan / 10
    A1 = Dahgan Mod 10

    a1 تا a4 برای هر 7سگمن هستش و متغیر Op2 رو از نوع integer تعریف کردم. یه بار word گذاشتم بازم جواب نداد.
    راهنمایی کنید.
    www.icesi.ir

    #2
    پاسخ : مشکل این برنامه چیه(بیسیک)

    منم قبلا که با BascomAVR کار میکردم همچین مشکلاتی رو با متغیرها داشتم.
    نمی دونم ، شاید راهی برای حل اینجور مشکلات توی BascomAVR باشه ولی من که گذاشتمش کنار و رفتم سراغ C
    چگونه هوشمندانه بپرسیم

    دیدگاه


      #3
      پاسخ : مشکل این برنامه چیه(بیسیک)

      به هیچ وجه مشکل از نرم افزار نیست.
      به این سادگی ها هم نمیشه رو بیسکام عیب گذاشت. به احتمال خیلی زیاد مشکل از نحوه تعریف متغیرهاست. اگه A4 رو از نوع بایت تعریف کرده باشی و OP2 رو از نوع Word اون وقت همچین اتفاقی می افته.

      دیدگاه


        #4
        پاسخ : مشکل این برنامه چیه(بیسیک)

        حامد جان من به همین صورت تعریف کردم.
        چه دلیلی برای این مشکل هست؟
        مقدار متغییر A4 از 9 بیشتر نمیشه.یکمی توضیح بده.
        www.icesi.ir

        دیدگاه


          #5
          پاسخ : مشکل این برنامه چیه(بیسیک)

          همه اینا برمی گرده به الگوریتم تقسیم.
          یا نوع متغیر ها رو عوض کن یا مثلا این کار رو بکن:

          op=op2
          a1=op mod 10
          op=op/10
          a2=op mod 10
          op=op/10
          a3=op mod 10
          a4=op/10

          دیدگاه

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