fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. #define MAX_LENGTH 50
  6.  
  7. void textToASCII(char text[]) {
  8. printf("รหัส ASCII: ");
  9. for (int i = 0; i < strlen(text); i++) {
  10. printf("%d", text[i]);
  11. if (i < strlen(text) - 1) {
  12. printf(","); // ใส่จุลภาคระหว่างรหัส ASCII
  13. }
  14. }
  15. printf("\n");
  16. }
  17.  
  18. void asciiToText(char asciiInput[]) {
  19. char *token = strtok(asciiInput, ",");
  20. printf("ข้อความที่ได้: ");
  21. while (token != NULL) {
  22. int asciiCode = atoi(token); // แปลงรหัส ASCII จากข้อความเป็นจำนวนเต็ม
  23. printf("%c", asciiCode);
  24. token = strtok(NULL, ",");
  25. }
  26. printf("\n");
  27. }
  28.  
  29. int main() {
  30. int choice;
  31. char input[MAX_LENGTH + 1]; // รองรับข้อความสูงสุด 50 ตัวอักษร
  32.  
  33. printf("เลือกโหมด:\n1. แปลงข้อความเป็น ASCII\n2. แปลง ASCII เป็นข้อความ\n");
  34. printf("กรุณาเลือกโหมด (1 หรือ 2): ");
  35. scanf("%d", &choice);
  36. getchar(); // เคลียร์บัฟเฟอร์หลังการอ่านตัวเลข
  37.  
  38. if (choice == 1) {
  39. printf("กรุณาป้อนข้อความ (ไม่เกิน 50 ตัวอักษร): ");
  40. fgets(input, sizeof(input), stdin);
  41. input[strcspn(input, "\n")] = '\0'; // ลบ newline ออกจากข้อความ
  42. if (strlen(input) > MAX_LENGTH) {
  43. printf("ข้อความเกินขนาดที่กำหนด!\n");
  44. } else {
  45. textToASCII(input);
  46. }
  47. } else if (choice == 2) {
  48. printf("กรุณาป้อนรหัส ASCII (คั่นด้วยเครื่องหมายจุลภาค): ");
  49. fgets(input, sizeof(input), stdin);
  50. input[strcspn(input, "\n")] = '\0'; // ลบ newline ออกจากข้อความ
  51. asciiToText(input);
  52. } else {
  53. printf("โหมดที่เลือกไม่ถูกต้อง!\n");
  54. }
  55.  
  56. return 0;
  57. }
  58.  
Success #stdin #stdout 0s 5276KB
stdin
Standard input is empty
stdout
เลือกโหมด:
1. แปลงข้อความเป็น ASCII
2. แปลง ASCII เป็นข้อความ
กรุณาเลือกโหมด (1 หรือ 2): โหมดที่เลือกไม่ถูกต้อง!