หน้าหลัก » ภาษาซี (C) » โค้ดภาษาซี รับตัวเลขแล้วเปลี่ยนตัวเลขแต่ละตัวเป็นคำภาษาอังกฤษ โดยการอ่านค่าจาก Array Pointer

โค้ดภาษาซี รับตัวเลขแล้วเปลี่ยนตัวเลขแต่ละตัวเป็นคำภาษาอังกฤษ โดยการอ่านค่าจาก Array Pointer




ตัวอย่างโค้ดภาษาซี ในการรับค่าตัวเลขหลายๆ ตัว เพื่อนำตัวเลขแต่ละตัวมาแปลงเป็นคำภาษาอังกฤษ วิธีนี้จะใช้ค่าที่กำหนดไว้ใน Array Pointer ในการแสดงผล หลักการทำงานก็จะคล้ายๆกับ “โค้ดภาษาซี รับตัวเลขแล้วเปลี่ยนตัวเลขแต่ละตัวเป็นคำภาษาอังกฤษ โดยใช้ Switch Case

การทำงานของโปรแกรม

รับตัวเลขหลายๆตัว เช่น 0123456789 (ตัวอย่างเรากำหนดไว้สูงสุด 100 ตัว) แล้วนำมาเก็บไว้ที่ตัวแปร char array จากนั้นก็จะนำมาทำการวนลูปเพื่อแสดงผลที่ละตัว โดยใช้การนำค่าที่ได้ซึ่งเป็น Char มาเปลี่ยนเป็น Int เพื่อที่จะนำมาเป็นตัวระบุตำแหน่ง(Index) ในตัวแปร Pointer แล้วนำคำภาษาอังกฤษมาแสดงผล

 

ตัวอย่างโค้ด

/***************************************************
 * Author    : CS Developers
 * Author URI: https://www.comscidev.com
 * Facebook  : https://www.facebook.com/CSDevelopers
 ***************************************************/
 
#include <stdio.h>

int main()
{
	char input[100];
	char *number[] = {"ZERO", "ONE", "TWO", "THREE", "FOUR",
					  "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"};
	int p;
	int i;
	
	printf(" Enter number (100 MAX): ");
	scanf("%s", &input);
	printf("\n ");
	
	for(i=0; i<100; i++){
		
		if(input[i] == '\0')
			break;
		
		p = input[i] - '0';
		
		printf("%s ", number[p]);
	}
	
	printf("\n\n\n");
	return 0;
}

 

ผลลัพธ์

โค้ดภาษาซี รับตัวเลขแล้วเปลี่ยนตัวเลขแต่ละตัวเป็นคำภาษาอังกฤษ โดยการอ่านค่าจาก Array Pointer