اطلاعیه

Collapse
No announcement yet.

راهنمایی در مورد چند دستور در زبان سی

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

    راهنمایی در مورد چند دستور در زبان سی

    با سلام
    لطفا بگید این دستورات دقیقا چکاری را انجام میدهند؟
    دستورات: ftoa و itoa و strlen:
    توی دستور ftoa : ان عدد 1 وسط یعنی چی؟
    و....
    [code=c]
    ftoa(feshar,1,data1);
    itoa(zaraban,data2);
    size=strlen(data1);
    size2=strlen(data2);
    size=size+size2;
    size=size+21;
    itoa(size,size_data);
    feshar=feshar+0.7;
    zaraban=zaraban+8;
    [/code]

    سپاس

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

    سلام
    اولین نکته اینه که هیچکدوم از این موارد دستور نیستن و تابع هستن و نباید با دستور تو بسکام اشتباه گرفته بشن.
    در کل کارشون اینه:
    ftoa: تبدیل یک عدد اعشاری به رشته(string) - عدد موجود هم تعداد اعشاری که به رشته تبدیل میکنه رو میگه مثلا اگر عدد اعشاری 2.556 باشه و عدد دو باشه توی رشته 2.55 قرار میگیره
    itoa: یک عدد معمولی (Integer) رو به رشته تبدیل میکنه.
    strlen: طول رشته رو مشخص میکنه.

    در مورد عملکرد کلی برنامه باید کل برنامه باشه آدم نظر بده ولی اینجور که بنظر میاد اول دو تا عدد رو به رشته تبدیل میکنه و طول رشته ها رو بدست میاره و با هم جمع میکنه و الی آخر
    Aristar Group - Always And Forever

    دیدگاه


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

      ممنون دوست عزیز: لطفا یک مثال در مورد طول رشته بزنید:راستی ایا فضای خالی را هم جز رشته حساب می کند؟
      و چند سئوال دیگه:
      1. در مورد متغیر size:زمانیکه طول رشته data1 را گرفت دوباره مقدار با size2 جمع میشه و حاصل کل اش با 21 دوباره جمع میشه؟ اینطوری هست؟ 3 تا متغیر size شبیه به هم وجود داره!!
      2.متغیر zarban مثلا مقدار اش 50هست!! یعنی از قبل متغیر مقدار گرفته!!! بعد اش با 0.7 جمع میشه!! و هر ثانیه هی 0.7 به مقدار قبلی هی اضافه میشه؟ عملکرد اش اینطوری هست!!
      در مورد عملکرد کل پروژه باید بگم یک پروژه(ارسال دما به وب) خریدم و میخوام درون اش تغییراتی را ایجاد کنم ولی به مشکل خوردم !! ممنون میشم اگر بتونید راهنمایی کنید.
      سپاس

      دیدگاه


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

        رشته در واقع آرایه ای از کاراکترها هستند که به صورت پشت هم قرار می گیرند و مثلا یک نوشته رو تشکیل میدن به طور مثال Hello یک رشتست.اعداد هم میتونن شامل رشته باشن.آخرین کاراکتر هر رشته هم یک کاراکتر هست به اسم تهی(NULL) که پایان رشته رو به سیستم اعلام میکنه
        1- دو متغیر هستن به اسم size و size2!ابتدا این دو متغیر با هم جمع میشن و نتیجه روی size دوباره قرار میگیره. اونجوری که از این برنامه بر میاد مثل اینکه برنامه رو از روی یه کد بسکام تبدیل کردن یا هم نویسنده کد آماتوری هست چون هیچ لزومی به این روند نیست و کل سه خط رو میشد توی یک خط جا داد. اینجوری میشه نوشت اون سه خط رو: size += size2+21;
        البته برای شما مهم درک کد هست که همونطوری که در بالا گفتم میشه
        2- متغیر zarban هر بار با 8 جمع میشه. اونی که با 0.7 جمع میشه feshar هست. البته اینجا چون کد ناقص هست اصلا نمیشه فهمید این روند تکرارشوندست یا نه!
        Aristar Group - Always And Forever

        دیدگاه


          #5
          پاسخ : راهنمایی در مورد چند دستور در زبان سی

          ممنون دوست عزیز:
          چند سئوال دیگه:
          1. طول رشته این چند میشه؟
          [code=c]
          Feshar = 8,7
          [/code]
          2. این تابع را لطفا یک توضیح بدهید:
          [code=c]
          printf("%cfeshar = %s%czaraban = %s%c",Enter,data1,Enter,data2,Enter);
          [/code]

          سپاس

          دیدگاه


            #6
            پاسخ : راهنمایی در مورد چند دستور در زبان سی

            متاسفانه عملکرد دقیق توابع تبدیل یادم نیست ولی طول اصلی این رشته 3 کاراکتر هست ولی اگر کاراکتر تهی رو هم حساب کنه میشه 4!البته اصولا نباید حساب کنه و جواب همون 3 هست
            برای سوال دوم هم تایع تولید دیتای خروجی برای پورت سریال هست. این تابع یک عبارت رو چاپ میکنه و یک تعدادی هم آرگومان داره که اونا را داخل متن گفته شده چاپ میکنه. به طور مثال الان برای مثال گفته شده 5 تا آرگومان بعد از عبارت نوشته شده مثل Enter و data1 و .... تابع اینارو به ترتیبی که قرار گرفتن توی خروجی چاپ میکنه.الان مثلا %c اولی با مقدار Enter جایگزین میشه و %s با data1 جایگزین میشه و الی آخر.
            Aristar Group - Always And Forever

            دیدگاه


              #7
              پاسخ : راهنمایی در مورد چند دستور در زبان سی

              نوشته اصلی توسط حسین جباری
              متاسفانه عملکرد دقیق توابع تبدیل یادم نیست ولی طول اصلی این رشته 3 کاراکتر هست ولی اگر کاراکتر تهی رو هم حساب کنه میشه 4!البته اصولا نباید حساب کنه و جواب همون 3 هست
              برای سوال دوم هم تایع تولید دیتای خروجی برای پورت سریال هست. این تابع یک عبارت رو چاپ میکنه و یک تعدادی هم آرگومان داره که اونا را داخل متن گفته شده چاپ میکنه. به طور مثال الان برای مثال گفته شده 5 تا آرگومان بعد از عبارت نوشته شده مثل Enter و data1 و .... تابع اینارو به ترتیبی که قرار گرفتن توی خروجی چاپ میکنه.الان مثلا %c اولی با مقدار Enter جایگزین میشه و %s با data1 جایگزین میشه و الی آخر.
              ممنون دوست عزیز:
              من این فرمت را متوجه نمیشم!! این دیگر چه مدلی هست؟ به ان 5 تا ارگومان مثل data1 و... چطور نسبت داده میشه!؟
              [code=c]
              %cfeshar = %s%czaraban = %s%c
              [/code]
              سپاس

              دیدگاه


                #8
                پاسخ : راهنمایی در مورد چند دستور در زبان سی

                باید یه مثال براش بزنم تا راحت متوجه بشین.اولا اینکه محل هر آرگومان با یه % و یک حرف مشخص شده.هر حرف هم کارایی خاص خودش رو داره مثلا %s باعث میشه رشته در اون محل قرار بگیره. حالا برگردیم سر مثال
                شما فرض کنین 5 تا متغیر ما به صورت زیر هستن:
                1- 10
                2- salam
                3- 20
                4- hi
                5- 50

                با روندی که قرار دادین وقتی تابع اجرا بشه نوشته تولید شده خروجی به صورت زیر میشه:
                10feshar=salam20zarban=hi50
                Aristar Group - Always And Forever

                دیدگاه


                  #9
                  پاسخ : راهنمایی در مورد چند دستور در زبان سی

                  نوشته اصلی توسط حسین جباری
                  باید یه مثال براش بزنم تا راحت متوجه بشین.اولا اینکه محل هر آرگومان با یه % و یک حرف مشخص شده.هر حرف هم کارایی خاص خودش رو داره مثلا %s باعث میشه رشته در اون محل قرار بگیره. حالا برگردیم سر مثال
                  شما فرض کنین 5 تا متغیر ما به صورت زیر هستن:
                  1- 10
                  2- salam
                  3- 20
                  4- hi
                  5- 50

                  با روندی که قرار دادین وقتی تابع اجرا بشه نوشته تولید شده خروجی به صورت زیر میشه:
                  10feshar=salam20zarban=hi50
                  ممنون دوست عزیز: یک چیز هایی متوجه شدم: چند سئوال:
                  1. در اینجا %s یعنی رشته و %c یعنی عدد ؟
                  ---------------------
                  2.توی این قسمت ما 2 تا ارگومان داریم!! اینجا AT+FTPPUT=2 چکاره هست؟
                  [code=c]
                  printf("AT+FTPPUT=2,%s%c",size_data,Ente r);

                  [/code]
                  سپاس

                  دیدگاه


                    #10
                    پاسخ : راهنمایی در مورد چند دستور در زبان سی

                    1- %s برای رشتست و %c برای کاراکتر!
                    2- اون نوشته عینا تو خروجی ظاهر میشه و هیچ عملی انجام نمیده(نوشته عادی) فقط مقادیر آرگومان تغییر میکنن
                    Aristar Group - Always And Forever

                    دیدگاه

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