fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <time.h>
  5.  
  6. // โครงสร้างข้อมูลสินค้า
  7. struct Product {
  8. char name[50];
  9. int quantity;
  10. time_t expiryDate;
  11. int threshold; // จำนวนขั้นต่ำที่ต้องแจ้งเตือน
  12. };
  13.  
  14. // ฟังก์ชันสำหรับตรวจสอบวันหมดอายุ
  15. int isExpired(time_t expiryDate) {
  16. return difftime(expiryDate, time(0)) < 0;
  17. }
  18.  
  19. // ฟังก์ชันสำหรับแสดงวันที่ในรูปแบบที่กำหนด
  20. void formatDate(time_t date, char* buffer) {
  21. struct tm t;
  22. localtime_r(&date, &t);
  23. strftime(buffer, 20, "%Y-%m-%d", &t);
  24. }
  25.  
  26. int main() {
  27. struct Product products[10]; // กำหนดขนาดสูงสุดของสินค้า
  28. int numProducts = 0;
  29.  
  30. // เพิ่มข้อมูลสินค้า (สามารถเพิ่มได้มากกว่านี้)
  31. strcpy(products[numProducts].name, "นมสด");
  32. products[numProducts].quantity = 10;
  33. products[numProducts].expiryDate = time(0) + 30 * 24 * 60 * 60; // หมดอายุใน 30 วัน
  34. products[numProducts].threshold = 5;
  35. numProducts++;
  36.  
  37. strcpy(products[numProducts].name, "ไข่ไก่");
  38. products[numProducts].quantity = 5;
  39. products[numProducts].expiryDate = time(0) + 14 * 24 * 60 * 60; // หมดอายุใน 14 วัน
  40. products[numProducts].threshold = 10;
  41. numProducts++;
  42.  
  43. strcpy(products[numProducts].name, "ขนมปัง");
  44. products[numProducts].quantity = 20;
  45. products[numProducts].expiryDate = time(0) + 7 * 24 * 60 * 60; // หมดอายุใน 7 วัน
  46. products[numProducts].threshold = 15;
  47. numProducts++;
  48.  
  49. // ตรวจสอบสินค้าแต่ละรายการ
  50. for (int i = 0; i < numProducts; i++) {
  51. char expiryDateStr[20];
  52. formatDate(products[i].expiryDate, expiryDateStr);
  53.  
  54. printf("สินค้า: %s\n", products[i].name);
  55. printf("จำนวน: %d\n", products[i].quantity);
  56. printf("วันหมดอายุ: %s\n", expiryDateStr);
  57.  
  58. if (products[i].quantity < products[i].threshold) {
  59. printf("คำเตือน: สินค้า %s เหลือน้อยกว่า %d หน่วย!\n", products[i].name, products[i].threshold);
  60. }
  61.  
  62. if (isExpired(products[i].expiryDate)) {
  63. printf("คำเตือน: สินค้า %s หมดอายุแล้ว!\n", products[i].name);
  64. }
  65.  
  66. printf("\n");
  67. }
  68.  
  69. return 0;
  70. }
Success #stdin #stdout 0.02s 25788KB
stdin
Standard input is empty
stdout
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

// โครงสร้างข้อมูลสินค้า
struct Product {
    char name[50];
    int quantity;
    time_t expiryDate;
    int threshold; // จำนวนขั้นต่ำที่ต้องแจ้งเตือน
};

// ฟังก์ชันสำหรับตรวจสอบวันหมดอายุ
int isExpired(time_t expiryDate) {
    return difftime(expiryDate, time(0)) < 0;
}

// ฟังก์ชันสำหรับแสดงวันที่ในรูปแบบที่กำหนด
void formatDate(time_t date, char* buffer) {
    struct tm t;
    localtime_r(&date, &t);
    strftime(buffer, 20, "%Y-%m-%d", &t);
}

int main() {
    struct Product products[10]; // กำหนดขนาดสูงสุดของสินค้า
    int numProducts = 0;

    // เพิ่มข้อมูลสินค้า (สามารถเพิ่มได้มากกว่านี้)
    strcpy(products[numProducts].name, "นมสด");
    products[numProducts].quantity = 10;
    products[numProducts].expiryDate = time(0) + 30 * 24 * 60 * 60; // หมดอายุใน 30 วัน
    products[numProducts].threshold = 5;
    numProducts++;

    strcpy(products[numProducts].name, "ไข่ไก่");
    products[numProducts].quantity = 5;
    products[numProducts].expiryDate = time(0) + 14 * 24 * 60 * 60; // หมดอายุใน 14 วัน
    products[numProducts].threshold = 10;
    numProducts++;

    strcpy(products[numProducts].name, "ขนมปัง");
    products[numProducts].quantity = 20;
    products[numProducts].expiryDate = time(0) + 7 * 24 * 60 * 60; // หมดอายุใน 7 วัน
    products[numProducts].threshold = 15;
    numProducts++;

    // ตรวจสอบสินค้าแต่ละรายการ
    for (int i = 0; i < numProducts; i++) {
        char expiryDateStr[20];
        formatDate(products[i].expiryDate, expiryDateStr);

        printf("สินค้า: %s\n", products[i].name);
        printf("จำนวน: %d\n", products[i].quantity);
        printf("วันหมดอายุ: %s\n", expiryDateStr);

        if (products[i].quantity < products[i].threshold) {
            printf("คำเตือน: สินค้า %s เหลือน้อยกว่า %d หน่วย!\n", products[i].name, products[i].threshold);
        }

        if (isExpired(products[i].expiryDate)) {
            printf("คำเตือน: สินค้า %s หมดอายุแล้ว!\n", products[i].name);
        }

        printf("\n");
    }

    return 0;
}