اطلاعیه

Collapse
No announcement yet.

سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

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

    سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

    سلام مهندسین
    برای اینکه داخل یک برنامه میکرو رشته حروف لاتین رو از اعداد جدا کنم توی اینترنت گشتم ولی جوابی پیدا نکردم.
    کسی می تونه کمکم کنه؟ممنون
    هیچ چیز غیر ممکن نیست مگر شما آنرا غیر ممکن سازید.

    #2
    پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

    نوشته اصلی توسط mohamad_musavi69
    سلام مهندسین
    برای اینکه داخل یک برنامه میکرو رشته حروف لاتین رو از اعداد جدا کنم توی اینترنت گشتم ولی جوابی پیدا نکردم.
    کسی می تونه کمکم کنه؟ممنون
    سلام
    یکم بیشتر توضیح بدین مثلا شما با چه کامپایلری کار می کنید
    می خواهید کلا اعدادی که با حروف لاتین قاطی هستند رو جدا کنید یکم بیشتر توضیح بدید تا دوستان بهتر بتوانند کمکت کنند
    برد جوجه کشی:
    مطالعه پست 1 (حتما مطالعه کنید)


    مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

    دانلود

    توجه:
    این برد نیمه صنعتی و خانگی هست...
    برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

    آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

    دیدگاه


      #3
      پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

      اگر در کتابخونه stdio.h با دستور sprintf آشنا باشی، این کارهایی که میخوای راحت صورت میگیره.
      هرچند خیلی مبهم سوال پرسیدید :smile:
      ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

      امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)

      دیدگاه


        #4
        پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

        نوشته اصلی توسط AliRezaDAVE
        اگر در کتابخونه stdio.h با دستور sprintf آشنا باشی، این کارهایی که میخوای راحت صورت میگیره.
        هرچند خیلی مبهم سوال پرسیدید :smile:
        ممنون که توجه کردی مهندس.
        با کتابخانه stdio.h و همچنین با sprintf کار کردم. تا اینجا که من فهمیدم داده های فرمت بند شده رو در یه آرایه از SRAM قرار میده.
        و این کاری رو که خواستم نمی کنه. اگه شما می تونید میشه یه مثال بزنید ازش؟ ممنون.

        نوشته اصلی توسط mohammad...
        سلام
        یکم بیشتر توضیح بدین مثلا شما با چه کامپایلری کار می کنید
        می خواهید کلا اعدادی که با حروف لاتین قاطی هستند رو جدا کنید یکم بیشتر توضیح بدید تا دوستان بهتر بتوانند کمکت کنند
        سلام مهندس جان از شما هم بابت توجهتون ممنون.
        من با کامپایلر codevision AVR کار می کنم. و می خوام داخل یه رشته آرایه های از حروف لاتین و اعداد رو از هم جدا کنه. یا حروف رو حذف کنه. فرقی هم نکنه حروف در اول یا آخر یا وسط رشته باشند یا نه. ازتون ممنونم.
        هیچ چیز غیر ممکن نیست مگر شما آنرا غیر ممکن سازید.

        دیدگاه


          #5
          پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

          یک مثال ساده:
          کد:
          sprintf(buffer,"dama= %2.2f rotobat=%d",dama,rotobat)
          الان buffer یک پوینتر تعریف شده که البته بهتره یک آرایه تعریف بشه تا طولش مشخص باشه.
          وقتی بخواد چاپ کنه، دما و رطوبت + علامت های = رو عینا چاپ میکنه. بعد به جای 2.2f% میاد مقدار متغیر dama رو جایگذاری میکنه. البته قسمت صحیح 2 رقم و قسمت اعشار هم دو رقم.
          به جای d% هم میاد مقدار متغیر rotobat رو چاپ میکنه.
          ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

          امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)

          دیدگاه


            #6
            پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

            فکر کنم برای "جدا" کردن بهتر یاشه نظر شما رو به هلپ کد ویژن جلب کنم
            کد:
            The prototypes for these functions are placed in the file ctype.h, located in the .\INC subdirectory. This file must be #include -d before using the functions.
            
            
            unsigned char isalnum(char c) 
            
            
               returns 1 if c is alphanumeric.
            
            
            unsigned char isalpha(char c) 
            
            
               returns 1 if c is alphabetic.
            
            
            unsigned char isascii(char c) 
            
            
               returns 1 if c is an ASCII character (0..127).
            
            
            unsigned char iscntrl(char c) 
            
            
               returns 1 if c is a control character (0..31 or 127).
            
            
            unsigned char isdigit(char c) 
            
            
               returns 1 if c is a decimal digit.
            
            
            unsigned char islower(char c) 
            
            
               returns 1 if c is a lower case alphabetic character.
            
            
            unsigned char isprint(char c) 
            
            
               returns 1 if c is a printable character (32..127).
            
            
            unsigned char ispunct(char c) 
            
            
               returns 1 if c is a punctuation character (all but control and alphanumeric).
            
            
            unsigned char isspace(char c) 
            
            
               returns 1 c is a white-space character (space, CR, HT).
            
            
            unsigned char isupper(char c) 
            
            
               returns 1 if c is an upper-case alphabetic character.
            
            
            unsigned char isxdigit(char c) 
            
            
               returns 1 if c is a hexadecimal digit.
            
            
            char toascii(char c)
            
            
               returns the ASCII equivalent of character c.
            
            
            unsigned char toint(char c)
            
            
               interprets c as a hexadecimal digit and returns an unsigned char from 0 to 15.
            
            
            char tolower(char c) 
            
            
               returns the lower case of c if c is an upper case character, else c.
            
            
            char toupper(char c) 
            
            
               returns the upper case of c if c is a lower case character, else c.

            head<=
            ...تشکر خدا...
            [img width=97 height=100]http://mahdi3d.persiangig.com/image/5280543_t.jpg[/img]

            دیدگاه


              #7
              پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

              نوشته اصلی توسط mohamad_musavi69
              سلام مهندس جان از شما هم بابت توجهتون ممنون.
              من با کامپایلر codevision AVR کار می کنم.
              مهندس جان با کد ویژن زیاد کار نکردم شرمنده
              برد جوجه کشی:
              مطالعه پست 1 (حتما مطالعه کنید)


              مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

              دانلود

              توجه:
              این برد نیمه صنعتی و خانگی هست...
              برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

              آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

              دیدگاه


                #8
                پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

                نوشته اصلی توسط AliRezaDAVE
                یک مثال ساده:
                کد:
                sprintf(buffer,"dama= %2.2f rotobat=%d",dama,rotobat)
                الان buffer یک پوینتر تعریف شده که البته بهتره یک آرایه تعریف بشه تا طولش مشخص باشه.
                وقتی بخواد چاپ کنه، دما و رطوبت + علامت های = رو عینا چاپ میکنه. بعد به جای 2.2f% میاد مقدار متغیر dama رو جایگذاری میکنه. البته قسمت صحیح 2 رقم و قسمت اعشار هم دو رقم.
                به جای d% هم میاد مقدار متغیر rotobat رو چاپ میکنه.
                سلام مهندس جان. تشکر. اما منظورم این نبود. این رو بلدم و کار می کنم باهاش.
                نوشته اصلی توسط mohammad...
                مهندس جان با کد ویژن زیاد کار نکردم شرمنده
                سلام. دشمنت شرمنده مهندس. همین که توجه کردی ارزشمنده.
                نوشته اصلی توسط (مهدی رنجبر)m4hd1r
                فکر کنم برای "جدا" کردن بهتر یاشه نظر شما رو به هلپ کد ویژن جلب کنم
                کد:
                The prototypes for these functions are placed in the file ctype.h, located in the .\INC subdirectory. This file must be #include -d before using the functions.
                
                
                unsigned char isalnum(char c) 
                
                
                   returns 1 if c is alphanumeric.
                
                
                unsigned char isalpha(char c) 
                
                
                   returns 1 if c is alphabetic.
                
                
                unsigned char isascii(char c) 
                
                
                   returns 1 if c is an ASCII character (0..127).
                
                
                unsigned char iscntrl(char c) 
                
                
                   returns 1 if c is a control character (0..31 or 127).
                
                
                unsigned char isdigit(char c) 
                
                
                   returns 1 if c is a decimal digit.
                
                
                unsigned char islower(char c) 
                
                
                   returns 1 if c is a lower case alphabetic character.
                
                
                unsigned char isprint(char c) 
                
                
                   returns 1 if c is a printable character (32..127).
                
                
                unsigned char ispunct(char c) 
                
                
                   returns 1 if c is a punctuation character (all but control and alphanumeric).
                
                
                unsigned char isspace(char c) 
                
                
                   returns 1 c is a white-space character (space, CR, HT).
                
                
                unsigned char isupper(char c) 
                
                
                   returns 1 if c is an upper-case alphabetic character.
                
                
                unsigned char isxdigit(char c) 
                
                
                   returns 1 if c is a hexadecimal digit.
                
                
                char toascii(char c)
                
                
                   returns the ASCII equivalent of character c.
                
                
                unsigned char toint(char c)
                
                
                   interprets c as a hexadecimal digit and returns an unsigned char from 0 to 15.
                
                
                char tolower(char c) 
                
                
                   returns the lower case of c if c is an upper case character, else c.
                
                
                char toupper(char c) 
                
                
                   returns the upper case of c if c is a lower case character, else c.
                ممنونم مهندس کمک بزرگی کردی. مرسی
                هیچ چیز غیر ممکن نیست مگر شما آنرا غیر ممکن سازید.

                دیدگاه


                  #9
                  پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

                  سلام دوستان
                  کسی می تونه یه دستوری بنویسه برام که مقادیر دو آرایه رو باهم مقایسه کنه و اگه <= یا >= شد پورتی رو فعال کنه؟
                  من اینطور نوشتم ببینید درست عمل کردم؟
                  کد:
                  char *str, str1[32];
                  unsigned char com1=0;
                  .
                  .
                  sprintf(str1,"test:%d\n",com1);
                  .
                  .
                  if(str >= str1){
                  ...
                  }
                  ممنون میشم کمکم کنید.
                  هیچ چیز غیر ممکن نیست مگر شما آنرا غیر ممکن سازید.

                  دیدگاه


                    #10
                    پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

                    کتابخونه ی string.h هست. دستوراتی برای مقایسه داره که باید ببینی کدوم به دردت میخوره. مثل strcmp strcmpf strncmp و...
                    ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

                    امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)

                    دیدگاه


                      #11
                      پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

                      نوشته اصلی توسط AliRezaDAVE
                      کتابخونه ی string.h هست. دستوراتی برای مقایسه داره که باید ببینی کدوم به دردت میخوره. مثل strcmp strcmpf strncmp و...
                      میشه شما یه نمونه کدش رو بنویسید که چنین کاری رو که می خوام انجام بده؟ من سر در نیوردم.ممنون
                      هیچ چیز غیر ممکن نیست مگر شما آنرا غیر ممکن سازید.

                      دیدگاه


                        #12
                        پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

                        help کدویژن مثال داره. :smile:
                        ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

                        امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)

                        دیدگاه


                          #13
                          پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

                          نوشته اصلی توسط AliRezaDAVE
                          help کدویژن مثال داره. :smile:
                          مهندس شما اصلا منظور بنده رو فهمیدید؟!!!!
                          من می خوام دو رشته رو که عدد هم هستند. با هم مقایسه کنم. اگه اون عدد برابر بود یه کاری کنه اگه بزرگتر مساوی یا کوچکتر مساوی بود باز یه کار دیگه.
                          تو help من اینو پیدا کردم که فکر نمی کنم به دردم بخوره.
                          کد:
                          signed char strcmp(char *str1, char *str2)
                          
                          
                             compares the string str1 with the string str2.
                          Returns <0, 0, >0 according to str1<str2, str1=str2, str1>str2.
                          هیچ چیز غیر ممکن نیست مگر شما آنرا غیر ممکن سازید.

                          دیدگاه


                            #14
                            پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

                            نوشته اصلی توسط mohamad_musavi69
                            مهندس شما اصلا منظور بنده رو فهمیدید؟!!!!
                            من می خوام دو رشته رو که عدد هم هستند. با هم مقایسه کنم. اگه اون عدد برابر بود یه کاری کنه اگه بزرگتر مساوی یا کوچکتر مساوی بود باز یه کار دیگه.
                            تو help من اینو پیدا کردم که فکر نمی کنم به دردم بخوره.
                            کد:
                            signed char strcmp(char *str1, char *str2)
                            
                            
                               compares the string str1 with the string str2.
                            Returns <0, 0, >0 according to str1<str2, str1=str2, str1>str2.
                            اخوی با دستور atoi تبدیلشون کن به عدد و بعد مقایسشون کن ایشون فکر کنم تو لایبرری stdlib باشن شایدم نباشن ... حالا خودت یه سرچی کن

                            head<=
                            ...تشکر خدا...
                            [img width=97 height=100]http://mahdi3d.persiangig.com/image/5280543_t.jpg[/img]

                            دیدگاه


                              #15
                              پاسخ : سوال در مورد جدا کردن حروف لاتین از اعداد در یک رشته

                              نوشته اصلی توسط mohamad_musavi69
                              سلام دوستان
                              کسی می تونه یه دستوری بنویسه برام که مقادیر دو آرایه رو باهم مقایسه کنه و اگه <= یا >= شد پورتی رو فعال کنه؟
                              من اینطور نوشتم ببینید درست عمل کردم؟
                              کد:
                              char *str, str1[32];
                              unsigned char com1=0;
                              .
                              .
                              sprintf(str1,"test:%d\n",com1);
                              .
                              
                              
                              
                              .
                              if(str >= str1){
                              ...
                              }
                              ممنون میشم کمکم کنید.
                              منم براساس این حرف شما فکر کردم میخواید دوتا رشته رو باهم مقایسه کنید.

                              اخوی با دستور atoi تبدیلشون کن به عدد و بعد مقایسشون کن ایشون فکر کنم تو لایبرری stdlib باشن شایدم نباشن ... حالا خودت یه سرچی کن
                              درسته باهمون دستور atoi تبدیل به عدد میشن. توی همون کتابخونه stdlib.h هست.
                              ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

                              امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)

                              دیدگاه

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