Announcement

Collapse
No announcement yet.

รบกวนผู้เชี่ยวชาญภาษา C ทีครับบอกมันหน่อยครับ

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • รบกวนผู้เชี่ยวชาญภาษา C ทีครับบอกมันหน่อยครับ

    ผมปวดหัวมากกับโจทย์ง่ายๆข้อนี้อะครับ ....................................................
    จงรับข้อความทางคีย์บอร์ดแล้วตรวจสอบคำในข้อความ
    -ถ้าปรากฏคำว่า add sub mul div ให้แสดงเป็น reserved
    -ถ้าเป็นชุดตัวเลขแสดงคำว่า number
    -ถ้าไม่ใช่ทั้งสองให้ตรวจสอบเป็น
    -ขึ้นต้นตัวอักษรแสดงว่า identifier
    -ขึ้นต้นตัวเลขแสดงว่า unidentfier
    เช่น

    Code:
    please enter sentense : add A 24
    add : revserved
    A : identifier
    24 :number


    ผมทำได้ถึงแค่ แยกสตริง ด้วยคำสั่ง strtok พอจะเอาสตริงที่แยกไว้ มาเทียบด้วยคำสั่ง strcmp แล้วทำไม่เป็นอะครับ ทำแล้ว error ตลอดเลย ไม่รุ้ว่าผิดตรงไหน

    รบกวนผุ้เชียวชาญช่วยทีครับ
    ไม่ต้องเอาตั้งโค้ต ก็ได้ึครับ เเค่เป็นแนวทางในการ เปรียบเทียบสตริง
    แค่คำสั่งถ้าปรากฏคำว่า add sub mul div ให้แสดงเป็น reserved ก็พออะครับ

    ขอบคุณครับ

  • #2
    รอความเห็นล่างครับผมเรียนjava

    Comment


    • #3
      ผมก็เรียน java ครับ รอผู้รู้นะครับ ^^

      Comment


      • #4
        C++ เหรอคับ เคยเรียนแต่ C
        ปล. Java Too

        Comment


        • #5
          ต้องถาม เอมี่

          Comment


          • #6
            เชี่ยวชาญเเต่ภาษา...รัก


            เเย่จัง

            Comment


            • #7
              Originally posted by heroin View Post
              เชี่ยวชาญเเต่ภาษา...รัก


              เเย่จัง
              รักกับ rep ข้างบนป่าว 555+

              Comment


              • #8
                รอด้วยคนสิอยากได้ความรู้ คึ คึ

                Comment


                • #9
                  Originally posted by LoVePaNCaKe View Post
                  รักกับ rep ข้างบนป่าว 555+
                  ฟันธง 555555+

                  Comment


                  • #10
                    ใช้คำสั่งเกี่ยวกับ string อย่าลืม #include <string.h> ก่อนด้วยนะครับ
                    วิธีใช้ strcmp ลองดู link http://www.cplusplus.com/reference/c...ng/strcmp.html

                    ส่วนตัวเลข ตัวหนังสือ ลองหาคำสั่ง atoi กับวิธีใช้ หรือไม่ก็เอา int x = char* ดูก็ได้ครับ ลองเปรียบเทียบ ASCII code ดูว่าตัวหนังสือกับตัวเลขอยู่ที่ int = เท่าไหร่

                    ไม่ค่อยแน่ใจเรื่องวิธีใช้เท่าไหร่ มันนานมากแล้ว แต่ลองศึกษาดูครับ ให้แนวทางแล้ว

                    Comment


                    • #11
                      Originally posted by LoVePaNCaKe View Post
                      รักกับ rep ข้างบนป่าว 555+
                      Originally posted by ลุงอ๊อด View Post
                      ฟันธง 555555+
                      อะจึ๊ยยยย

                      Comment


                      • #12
                        ดูคำอธิบายจากโค้ดก็แล้วกันครับ
                        Code:
                        #include <stdio.h>
                        #include <string.h>
                        
                        int main () {
                        	char str[100] ="";
                        	char * pch;
                        	char cset[] = "0123456789";
                        
                        	printf ("please enter sentense: ",str);
                        	gets (str);
                        	pch = strtok (str," ,.-");
                        	while (pch != NULL) {
                        		if ( strcmp("add",pch)==0 || strcmp("sub",pch)==0 || strcmp("mul",pch)==0 || strcmp("div",pch)==0) {
                        			printf ("%s :revserved\n",pch);
                        		} else if ( strspn(pch,cset)!=0 ) {
                        			printf ("%s :number \n",pch);
                        		} else {
                        			printf ("%s :identifier  \n",pch);
                        		}
                        		//printf ("%s\n",pch);
                        		pch = strtok (NULL, " ,.-");
                        	}
                        	return 0;
                        }

                        Comment


                        • #13
                          แหะๆ ผม เป็นแต่ แอสแซมบลี คับ อ

                          Comment

                          Working...
                          X