I2luY2x1ZGUgJmx0O3N0ZGlvLmgmZ3Q7CiNpbmNsdWRlICZsdDtzdGRsaWIuaCZndDsKI2luY2x1ZGUgJmx0O3N0cmluZy5oJmd0OwoKI2RlZmluZSBNQVhfVVNFUlMgMTAwCiNkZWZpbmUgTUFYX1BST0RVQ1RTIDUKI2RlZmluZSBNQVhfQ0FSVCAxMAoKLy8g4LmC4LiE4Lij4LiH4Liq4Lij4LmJ4Liy4LiH4LiC4LmJ4Lit4Lih4Li54Lil4Lic4Li54LmJ4LmD4LiK4LmJCnR5cGVkZWYgc3RydWN0IHsKICAgIGNoYXIgbmFtZVs1MF07CiAgICBjaGFyIHBob25lWzE1XTsKICAgIGNoYXIgcGFzc3dvcmRbMjBdOwp9IEN1c3RvbWVyOwoKLy8g4LmC4LiE4Lij4LiH4Liq4Lij4LmJ4Liy4LiH4Liq4Li04LiZ4LiE4LmJ4LiyCnR5cGVkZWYgc3RydWN0IHsKICAgIGNoYXIgbmFtZVs1MF07CiAgICBmbG9hdCBwcmljZTsKfSBQcm9kdWN0OwoKLy8g4LmC4LiE4Lij4LiH4Liq4Lij4LmJ4Liy4LiH4LiV4Liw4LiB4Lij4LmJ4Liy4Liq4Li04LiZ4LiE4LmJ4LiyCnR5cGVkZWYgc3RydWN0IHsKICAgIFByb2R1Y3QgaXRlbXNbTUFYX0NBUlRdOwogICAgaW50IHF1YW50aXRpZXNbTUFYX0NBUlRdOwogICAgaW50IGNvdW50Owp9IENhcnQ7CgovLyDguJXguLHguKfguYHguJvguKPguYDguIHguYfguJrguILguYnguK3guKHguLnguKUKQ3VzdG9tZXIgY3VzdG9tZXJzW01BWF9VU0VSU107CmludCB1c2VyQ291bnQgPSAwOwpQcm9kdWN0IHByb2R1Y3RzW01BWF9QUk9EVUNUU10gPSB7CiAgICB7JnF1b3Q74LmA4Liq4Li34LmJ4Lit4Lii4Li34LiUJnF1b3Q7LCAyNTAuMDB9LAogICAgeyZxdW90O+C4geC4suC4h+C5gOC4geC4h+C4ouC4teC4meC4quC5jCZxdW90OywgNTAwLjAwfSwKICAgIHsmcXVvdDvguKPguK3guIfguYDguJfguYnguLImcXVvdDssIDEyMDAuMDB9LAogICAgeyZxdW90O+C4q+C4oeC4p+C4gSZxdW90OywgMTUwLjAwfSwKICAgIHsmcXVvdDvguIHguKPguLDguYDguJvguYvguLImcXVvdDssIDgwMC4wMH0KfTsKQ2FydCBjYXJ0ID0geyAuY291bnQgPSAwIH07CgovLyDguJ/guLHguIfguIHguYzguIrguLHguJnguKrguKHguLHguITguKPguKrguKHguLLguIrguLTguIEKdm9pZCByZWdpc3RlclVzZXIoKSB7CiAgICBwcmludGYoJnF1b3Q7PT09IOC4quC4oeC4seC4hOC4o+C4quC4oeC4suC4iuC4tOC4gSA9PT1cbiZxdW90Oyk7CiAgICBwcmludGYoJnF1b3Q74LiK4Li34LmI4LitOiAmcXVvdDspOwogICAgc2NhbmYoJnF1b3Q7ICVbXlxuXSZxdW90OywgY3VzdG9tZXJzW3VzZXJDb3VudF0ubmFtZSk7CiAgICBwcmludGYoJnF1b3Q74LmA4Lia4Lit4Lij4LmM4LmC4LiX4LijOiAmcXVvdDspOwogICAgc2NhbmYoJnF1b3Q7JXMmcXVvdDssIGN1c3RvbWVyc1t1c2VyQ291bnRdLnBob25lKTsKICAgIHByaW50ZigmcXVvdDvguKPguKvguLHguKrguJzguYjguLLguJk6ICZxdW90Oyk7CiAgICBzY2FuZigmcXVvdDslcyZxdW90OywgY3VzdG9tZXJzW3VzZXJDb3VudF0ucGFzc3dvcmQpOwoKICAgIHVzZXJDb3VudCsrOwogICAgcHJpbnRmKCZxdW90O+C4quC4oeC4seC4hOC4o+C4quC4oeC4suC4iuC4tOC4geC4quC4s+C5gOC4o+C5h+C4iCFcbiZxdW90Oyk7Cn0KCi8vIOC4n+C4seC4h+C4geC5jOC4iuC4seC4meC4peC5h+C4reC4geC4reC4tOC4mQppbnQgbG9naW5Vc2VyKCkgewogICAgY2hhciBwaG9uZVsxNV0sIHBhc3N3b3JkWzIwXTsKICAgIHByaW50ZigmcXVvdDs9PT0g4Lil4LmH4Lit4LiB4Lit4Li04LiZID09PVxuJnF1b3Q7KTsKICAgIHByaW50ZigmcXVvdDvguYDguJrguK3guKPguYzguYLguJfguKM6ICZxdW90Oyk7CiAgICBzY2FuZigmcXVvdDslcyZxdW90OywgcGhvbmUpOwogICAgcHJpbnRmKCZxdW90O+C4o+C4q+C4seC4quC4nOC5iOC4suC4mTogJnF1b3Q7KTsKICAgIHNjYW5mKCZxdW90OyVzJnF1b3Q7LCBwYXNzd29yZCk7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgJmx0OyB1c2VyQ291bnQ7IGkrKykgewogICAgICAgIGlmIChzdHJjbXAoY3VzdG9tZXJzW2ldLnBob25lLCBwaG9uZSkgPT0gMCAmYW1wOyZhbXA7IHN0cmNtcChjdXN0b21lcnNbaV0ucGFzc3dvcmQsIHBhc3N3b3JkKSA9PSAwKSB7CiAgICAgICAgICAgIHByaW50ZigmcXVvdDvguYDguILguYnguLLguKrguLnguYjguKPguLDguJrguJrguKrguLPguYDguKPguYfguIghIOC4ouC4tOC4meC4lOC4teC4leC5ieC4reC4meC4o+C4seC4miAlc1xuJnF1b3Q7LCBjdXN0b21lcnNbaV0ubmFtZSk7CiAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgIH0KICAgIH0KICAgIHByaW50ZigmcXVvdDvguYDguJrguK3guKPguYzguYLguJfguKPguKvguKPguLfguK3guKPguKvguLHguKrguJzguYjguLLguJnguJzguLTguJQhXG4mcXVvdDspOwogICAgcmV0dXJuIDA7Cn0KCi8vIOC4n+C4seC4h+C4geC5jOC4iuC4seC4meC5gOC4peC4t+C4reC4geC4quC4tOC4meC4hOC5ieC4suC5g+C4quC5iOC4leC4sOC4geC4o+C5ieC4sgp2b2lkIHBsYWNlT3JkZXIoKSB7CiAgICBpbnQgY2hvaWNlLCBxdHk7CiAgICBwcmludGYoJnF1b3Q7PT09IOC5gOC4peC4t+C4reC4geC4quC4tOC4meC4hOC5ieC4suC4l+C4teC5iOC4leC5ieC4reC4h+C4geC4suC4o+C4i+C4t+C5ieC4rSA9PT1cbiZxdW90Oyk7CiAgICBmb3IgKGludCBpID0gMDsgaSAmbHQ7IE1BWF9QUk9EVUNUUzsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCZxdW90OyVkLiAlcyAtICUuMmYg4Lia4Liy4LiXXG4mcXVvdDssIGkgKyAxLCBwcm9kdWN0c1tpXS5uYW1lLCBwcm9kdWN0c1tpXS5wcmljZSk7CiAgICB9CgogICAgd2hpbGUgKDEpIHsKICAgICAgICBwcmludGYoJnF1b3Q74LmA4Lil4Li34Lit4LiB4Liq4Li04LiZ4LiE4LmJ4LiyICgxLSVkLCAwID0g4LmA4Liq4Lij4LmH4LiI4Liq4Li04LmJ4LiZKTogJnF1b3Q7LCBNQVhfUFJPRFVDVFMpOwogICAgICAgIHNjYW5mKCZxdW90OyVkJnF1b3Q7LCAmYW1wO2Nob2ljZSk7CiAgICAgICAgCiAgICAgICAgaWYgKGNob2ljZSA9PSAwKSBicmVhazsKICAgICAgICBpZiAoY2hvaWNlICZsdDsgMSB8fCBjaG9pY2UgJmd0OyBNQVhfUFJPRFVDVFMpIHsKICAgICAgICAgICAgcHJpbnRmKCZxdW90O+C5gOC4peC4t+C4reC4geC4quC4tOC4meC4hOC5ieC4suC5hOC4oeC5iOC4luC4ueC4geC4leC5ieC4reC4hyFcbiZxdW90Oyk7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgcHJpbnRmKCZxdW90O+C4iOC4s+C4meC4p+C4mTogJnF1b3Q7KTsKICAgICAgICBzY2FuZigmcXVvdDslZCZxdW90OywgJmFtcDtxdHkpOwogICAgICAgIAogICAgICAgIGlmIChxdHkgJmx0Oz0gMCkgewogICAgICAgICAgICBwcmludGYoJnF1b3Q74LiI4Liz4LiZ4Lin4LiZ4LiV4LmJ4Lit4LiH4Lih4Liy4LiB4LiB4Lin4LmI4LiyIDBcbiZxdW90Oyk7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgaW50IGZvdW5kID0gMDsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSAmbHQ7IGNhcnQuY291bnQ7IGkrKykgewogICAgICAgICAgICBpZiAoc3RyY21wKGNhcnQuaXRlbXNbaV0ubmFtZSwgcHJvZHVjdHNbY2hvaWNlIC0gMV0ubmFtZSkgPT0gMCkgewogICAgICAgICAgICAgICAgY2FydC5xdWFudGl0aWVzW2ldICs9IHF0eTsKICAgICAgICAgICAgICAgIGZvdW5kID0gMTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmICghZm91bmQgJmFtcDsmYW1wOyBjYXJ0LmNvdW50ICZsdDsgTUFYX0NBUlQpIHsKICAgICAgICAgICAgY2FydC5pdGVtc1tjYXJ0LmNvdW50XSA9IHByb2R1Y3RzW2Nob2ljZSAtIDFdOwogICAgICAgICAgICBjYXJ0LnF1YW50aXRpZXNbY2FydC5jb3VudF0gPSBxdHk7CiAgICAgICAgICAgIGNhcnQuY291bnQrKzsKICAgICAgICB9CgogICAgICAgIHByaW50ZigmcXVvdDvguYDguJ7guLTguYjguKEgJXMg4LiI4Liz4LiZ4Lin4LiZICVkIOC4iuC4tOC5ieC4mSDguKXguIfguYPguJnguJXguLDguIHguKPguYnguLJcbiZxdW90OywgcHJvZHVjdHNbY2hvaWNlIC0gMV0ubmFtZSwgcXR5KTsKICAgIH0KfQoKLy8g4Lif4Lix4LiH4LiB4LmM4LiK4Lix4LiZ4LmB4Liq4LiU4LiH4Lij4Liy4Lii4LiB4Liy4Lij4Liq4Li04LiZ4LiE4LmJ4Liy4LmD4LiZ4LiV4Liw4LiB4Lij4LmJ4LiyCnZvaWQgdmlld0NhcnQoKSB7CiAgICBpZiAoY2FydC5jb3VudCA9PSAwKSB7CiAgICAgICAgcHJpbnRmKCZxdW90O+C4leC4sOC4geC4o+C5ieC4suC4quC4tOC4meC4hOC5ieC4suC4p+C5iOC4suC4h+C5gOC4m+C4peC5iOC4slxuJnF1b3Q7KTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgcHJpbnRmKCZxdW90Oz09PSDguJXguLDguIHguKPguYnguLLguKrguLTguJnguITguYnguLIgPT09XG4mcXVvdDspOwogICAgZmxvYXQgdG90YWwgPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgJmx0OyBjYXJ0LmNvdW50OyBpKyspIHsKICAgICAgICBmbG9hdCBwcmljZSA9IGNhcnQuaXRlbXNbaV0ucHJpY2UgKiBjYXJ0LnF1YW50aXRpZXNbaV07CiAgICAgICAgcHJpbnRmKCZxdW90OyVkLiAlcyB4ICVkIOC4iuC4tOC5ieC4mSAtICUuMmYg4Lia4Liy4LiXXG4mcXVvdDssIGkgKyAxLCBjYXJ0Lml0ZW1zW2ldLm5hbWUsIGNhcnQucXVhbnRpdGllc1tpXSwgcHJpY2UpOwogICAgICAgIHRvdGFsICs9IHByaWNlOwogICAgfQogICAgcHJpbnRmKCZxdW90O+C4o+C4suC4hOC4suC4o+C4p+C4oTogJS4yZiDguJrguLLguJdcbiZxdW90OywgdG90YWwpOwp9CgovLyDguJ/guLHguIfguIHguYzguIrguLHguJnguYDguJ7guLTguYjguKEv4Lil4LiU4LiI4Liz4LiZ4Lin4LiZ4Liq4Li04LiZ4LiE4LmJ4Liy4LmD4LiZ4LiV4Liw4LiB4Lij4LmJ4LiyCnZvaWQgdXBkYXRlQ2FydCgpIHsKICAgIGludCBjaG9pY2UsIHF0eTsKICAgIGlmIChjYXJ0LmNvdW50ID09IDApIHsKICAgICAgICBwcmludGYoJnF1b3Q74LiV4Liw4LiB4Lij4LmJ4Liy4Liq4Li04LiZ4LiE4LmJ4Liy4Lin4LmI4Liy4LiH4LmA4Lib4Lil4LmI4LiyXG4mcXVvdDspOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICB2aWV3Q2FydCgpOwogICAgcHJpbnRmKCZxdW90O+C5gOC4peC4t+C4reC4geC4quC4tOC4meC4hOC5ieC4suC4l+C4teC5iOC4leC5ieC4reC4h+C4geC4suC4o+C4reC4seC4m+C5gOC4lOC4lSAoMS0lZCwgMCA9IOC4ouC4geC5gOC4peC4tOC4gSk6ICZxdW90OywgY2FydC5jb3VudCk7CiAgICBzY2FuZigmcXVvdDslZCZxdW90OywgJmFtcDtjaG9pY2UpOwogICAgCiAgICBpZiAoY2hvaWNlID09IDApIHJldHVybjsKICAgIGlmIChjaG9pY2UgJmx0OyAxIHx8IGNob2ljZSAmZ3Q7IGNhcnQuY291bnQpIHsKICAgICAgICBwcmludGYoJnF1b3Q74LmA4Lil4Li34Lit4LiB4Liq4Li04LiZ4LiE4LmJ4Liy4LmE4Lih4LmI4LiW4Li54LiB4LiV4LmJ4Lit4LiHIVxuJnF1b3Q7KTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgcHJpbnRmKCZxdW90O+C4m+C5ieC4reC4meC4iOC4s+C4meC4p+C4meC5g+C4q+C4oeC5iCAoMCA9IOC4peC4muC4reC4reC4gSk6ICZxdW90Oyk7CiAgICBzY2FuZigmcXVvdDslZCZxdW90OywgJmFtcDtxdHkpOwoKICAgIGlmIChxdHkgPT0gMCkgewogICAgICAgIGZvciAoaW50IGkgPSBjaG9pY2UgLSAxOyBpICZsdDsgY2FydC5jb3VudCAtIDE7IGkrKykgewogICAgICAgICAgICBjYXJ0Lml0ZW1zW2ldID0gY2FydC5pdGVtc1tpICsgMV07CiAgICAgICAgICAgIGNhcnQucXVhbnRpdGllc1tpXSA9IGNhcnQucXVhbnRpdGllc1tpICsgMV07CiAgICAgICAgfQogICAgICAgIGNhcnQuY291bnQtLTsKICAgICAgICBwcmludGYoJnF1b3Q74Lil4Lia4Liq4Li04LiZ4LiE4LmJ4Liy4LiI4Liy4LiB4LiV4Liw4LiB4Lij4LmJ4Liy4LmA4Lij4Li14Lii4Lia4Lij4LmJ4Lit4LiiIVxuJnF1b3Q7KTsKICAgIH0gZWxzZSB7CiAgICAgICAgY2FydC5xdWFudGl0aWVzW2Nob2ljZSAtIDFdID0gcXR5OwogICAgICAgIHByaW50ZigmcXVvdDvguK3guLHguJvguYDguJTguJXguIjguLPguJnguKfguJnguKrguLTguJnguITguYnguLLguYDguKPguLXguKLguJrguKPguYnguK3guKIhXG4mcXVvdDspOwogICAgfQp9CgovLyDguJ/guLHguIfguIHguYzguIrguLHguJnguJ7guLTguKHguJ7guYzguYPguJrguYDguKrguKPguYfguIgKdm9pZCBwcmludFJlY2VpcHQoKSB7CiAgICBpZiAoY2FydC5jb3VudCA9PSAwKSB7CiAgICAgICAgcHJpbnRmKCZxdW90O+C5hOC4oeC5iOC4oeC4teC4quC4tOC4meC4hOC5ieC4suC4l+C4teC5iOC4leC5ieC4reC4h+C4reC4reC4geC5g+C4muC5gOC4quC4o+C5h+C4iFxuJnF1b3Q7KTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgcHJpbnRmKCZxdW90Oz09PSDguYPguJrguYDguKrguKPguYfguIggPT09XG4mcXVvdDspOwogICAgZmxvYXQgdG90YWwgPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgJmx0OyBjYXJ0LmNvdW50OyBpKyspIHsKICAgICAgICBmbG9hdCBwcmljZSA9IGNhcnQuaXRlbXNbaV0ucHJpY2UgKiBjYXJ0LnF1YW50aXRpZXNbaV07CiAgICAgICAgcHJpbnRmKCZxdW90OyVkLiAlcyB4ICVkIOC4iuC4tOC5ieC4mSAtICUuMmYg4Lia4Liy4LiXXG4mcXVvdDssIGkgKyAxLCBjYXJ0Lml0ZW1zW2ldLm5hbWUsIGNhcnQucXVhbnRpdGllc1tpXSwgcHJpY2UpOwogICAgICAgIHRvdGFsICs9IHByaWNlOwogICAgfQogICAgcHJpbnRmKCZxdW90O+C4o+C4suC4hOC4suC4o+C4p+C4oeC4l+C4seC5ieC4h+C4q+C4oeC4lDogJS4yZiDguJrguLLguJdcbiZxdW90OywgdG90YWwpOwogICAgcHJpbnRmKCZxdW90O+C4guC4reC4muC4hOC4uOC4k+C4l+C4teC5iOC5g+C4iuC5ieC4muC4o+C4tOC4geC4suC4oyFcbiZxdW90Oyk7CgogICAgY2FydC5jb3VudCA9IDA7IC8vIOC4peC5ieC4suC4h+C4leC4sOC4geC4o+C5ieC4suC4q+C4peC4seC4h+C4reC4reC4geC5g+C4muC5gOC4quC4o+C5h+C4iAp9CgovLyDguJ/guLHguIfguIHguYzguIrguLHguJnguYDguKHguJnguLnguKvguKXguLHguIEKdm9pZCBtYWluTWVudSgpIHsKICAgIGludCBjaG9pY2U7CiAgICBkbyB7CiAgICAgICAgcHJpbnRmKCZxdW90O1xuPT09IOC4o+C4sOC4muC4muC4nOC4ueC5ieC4i+C4t+C5ieC4rSA9PT1cbiZxdW90Oyk7CiAgICAgICAgcHJpbnRmKCZxdW90OzEuIOC4quC4oeC4seC4hOC4o+C4quC4oeC4suC4iuC4tOC4gVxuJnF1b3Q7KTsKICAgICAgICBwcmludGYoJnF1b3Q7Mi4g4Lil4LmH4Lit4LiB4Lit4Li04LiZXG4mcXVvdDspOwogICAgICAgIHByaW50ZigmcXVvdDszLiDguYDguKXguLfguK3guIHguIvguLfguYnguK3guKrguLTguJnguITguYnguLJcbiZxdW90Oyk7CiAgICAgICAgcHJpbnRmKCZxdW90OzQuIOC4lOC4ueC4leC4sOC4geC4o+C5ieC4suC4quC4tOC4meC4hOC5ieC4slxuJnF1b3Q7KTsKICAgICAgICBwcmludGYoJnF1b3Q7NS4g4LmB4LiB4LmJ4LmE4LiC4LiV4Liw4LiB4Lij4LmJ4Liy4Liq4Li04LiZ4LiE4LmJ4LiyXG4mcXVvdDspOwogICAgICAgIHByaW50ZigmcXVvdDs2LiDguJ7guLTguKHguJ7guYzguYPguJrguYDguKrguKPguYfguIhcbiZxdW90Oyk7CiAgICAgICAgcHJpbnRmKCZxdW90OzcuIOC4reC4reC4geC4iOC4suC4geC4o+C4sOC4muC4mlxuJnF1b3Q7KTsKICAgICAgICBwcmludGYoJnF1b3Q74LmA4Lil4Li34Lit4LiB4LmA4Lih4LiZ4Li5OiAmcXVvdDspOwogICAgICAgIHNjYW5mKCZxdW90OyVkJnF1b3Q7LCAmYW1wO2Nob2ljZSk7CgogICAgICAgIHN3aXRjaCAoY2hvaWNlKSB7CiAgICAgICAgICAgIGNhc2UgMTogcmVnaXN0ZXJVc2VyKCk7IGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6IGxvZ2luVXNlcigpOyBicmVhazsKICAgICAgICAgICAgY2FzZSAzOiBwbGFjZU9yZGVyKCk7IGJyZWFrOwogICAgICAgICAgICBjYXNlIDQ6IHZpZXdDYXJ0KCk7IGJyZWFrOwogICAgICAgICAgICBjYXNlIDU6IHVwZGF0ZUNhcnQoKTsgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNjogcHJpbnRSZWNlaXB0KCk7IGJyZWFrOwogICAgICAgICAgICBjYXNlIDc6IGV4aXQoMCk7CiAgICAgICAgICAgIGRlZmF1bHQ6IHByaW50ZigmcXVvdDvguYDguKXguLfguK3guIHguYDguKHguJnguLnguYTguKHguYjguJbguLnguIHguJXguYnguK3guIchXG4mcXVvdDspOwogICAgICAgIH0KICAgIH0gd2hpbGUgKDEpOwp9CgppbnQgbWFpbigpIHsKICAgIG1haW5NZW51KCk7CiAgICByZXR1cm4gMDsKfQ==
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_USERS 100
#define MAX_PRODUCTS 5
#define MAX_CART 10
// โครงสร้างข้อมูลผู้ใช้
typedef struct {
char name[50];
char phone[15];
char password[20];
} Customer;
// โครงสร้างสินค้า
typedef struct {
char name[50];
float price;
} Product;
// โครงสร้างตะกร้าสินค้า
typedef struct {
Product items[MAX_CART];
int quantities[MAX_CART];
int count;
} Cart;
// ตัวแปรเก็บข้อมูล
Customer customers[MAX_USERS];
int userCount = 0;
Product products[MAX_PRODUCTS] = {
{"เสื้อยืด", 250.00},
{"กางเกงยีนส์", 500.00},
{"รองเท้า", 1200.00},
{"หมวก", 150.00},
{"กระเป๋า", 800.00}
};
Cart cart = { .count = 0 };
// ฟังก์ชันสมัครสมาชิก
void registerUser() {
printf("=== สมัครสมาชิก ===\n");
printf("ชื่อ: ");
scanf(" %[^\n]", customers[userCount].name);
printf("เบอร์โทร: ");
scanf("%s", customers[userCount].phone);
printf("รหัสผ่าน: ");
scanf("%s", customers[userCount].password);
userCount++;
printf("สมัครสมาชิกสำเร็จ!\n");
}
// ฟังก์ชันล็อกอิน
int loginUser() {
char phone[15], password[20];
printf("=== ล็อกอิน ===\n");
printf("เบอร์โทร: ");
scanf("%s", phone);
printf("รหัสผ่าน: ");
scanf("%s", password);
for (int i = 0; i < userCount; i++) {
if (strcmp(customers[i].phone, phone) == 0 && strcmp(customers[i].password, password) == 0) {
printf("เข้าสู่ระบบสำเร็จ! ยินดีต้อนรับ %s\n", customers[i].name);
return 1;
}
}
printf("เบอร์โทรหรือรหัสผ่านผิด!\n");
return 0;
}
// ฟังก์ชันเลือกสินค้าใส่ตะกร้า
void placeOrder() {
int choice, qty;
printf("=== เลือกสินค้าที่ต้องการซื้อ ===\n");
for (int i = 0; i < MAX_PRODUCTS; i++) {
printf("%d. %s - %.2f บาท\n", i + 1, products[i].name, products[i].price);
}
while (1) {
printf("เลือกสินค้า (1-%d, 0 = เสร็จสิ้น): ", MAX_PRODUCTS);
scanf("%d", &choice);
if (choice == 0) break;
if (choice < 1 || choice > MAX_PRODUCTS) {
printf("เลือกสินค้าไม่ถูกต้อง!\n");
continue;
}
printf("จำนวน: ");
scanf("%d", &qty);
if (qty <= 0) {
printf("จำนวนต้องมากกว่า 0\n");
continue;
}
int found = 0;
for (int i = 0; i < cart.count; i++) {
if (strcmp(cart.items[i].name, products[choice - 1].name) == 0) {
cart.quantities[i] += qty;
found = 1;
break;
}
}
if (!found && cart.count < MAX_CART) {
cart.items[cart.count] = products[choice - 1];
cart.quantities[cart.count] = qty;
cart.count++;
}
printf("เพิ่ม %s จำนวน %d ชิ้น ลงในตะกร้า\n", products[choice - 1].name, qty);
}
}
// ฟังก์ชันแสดงรายการสินค้าในตะกร้า
void viewCart() {
if (cart.count == 0) {
printf("ตะกร้าสินค้าว่างเปล่า\n");
return;
}
printf("=== ตะกร้าสินค้า ===\n");
float total = 0;
for (int i = 0; i < cart.count; i++) {
float price = cart.items[i].price * cart.quantities[i];
printf("%d. %s x %d ชิ้น - %.2f บาท\n", i + 1, cart.items[i].name, cart.quantities[i], price);
total += price;
}
printf("ราคารวม: %.2f บาท\n", total);
}
// ฟังก์ชันเพิ่ม/ลดจำนวนสินค้าในตะกร้า
void updateCart() {
int choice, qty;
if (cart.count == 0) {
printf("ตะกร้าสินค้าว่างเปล่า\n");
return;
}
viewCart();
printf("เลือกสินค้าที่ต้องการอัปเดต (1-%d, 0 = ยกเลิก): ", cart.count);
scanf("%d", &choice);
if (choice == 0) return;
if (choice < 1 || choice > cart.count) {
printf("เลือกสินค้าไม่ถูกต้อง!\n");
return;
}
printf("ป้อนจำนวนใหม่ (0 = ลบออก): ");
scanf("%d", &qty);
if (qty == 0) {
for (int i = choice - 1; i < cart.count - 1; i++) {
cart.items[i] = cart.items[i + 1];
cart.quantities[i] = cart.quantities[i + 1];
}
cart.count--;
printf("ลบสินค้าจากตะกร้าเรียบร้อย!\n");
} else {
cart.quantities[choice - 1] = qty;
printf("อัปเดตจำนวนสินค้าเรียบร้อย!\n");
}
}
// ฟังก์ชันพิมพ์ใบเสร็จ
void printReceipt() {
if (cart.count == 0) {
printf("ไม่มีสินค้าที่ต้องออกใบเสร็จ\n");
return;
}
printf("=== ใบเสร็จ ===\n");
float total = 0;
for (int i = 0; i < cart.count; i++) {
float price = cart.items[i].price * cart.quantities[i];
printf("%d. %s x %d ชิ้น - %.2f บาท\n", i + 1, cart.items[i].name, cart.quantities[i], price);
total += price;
}
printf("ราคารวมทั้งหมด: %.2f บาท\n", total);
printf("ขอบคุณที่ใช้บริการ!\n");
cart.count = 0; // ล้างตะกร้าหลังออกใบเสร็จ
}
// ฟังก์ชันเมนูหลัก
void mainMenu() {
int choice;
do {
printf("\n=== ระบบผู้ซื้อ ===\n");
printf("1. สมัครสมาชิก\n");
printf("2. ล็อกอิน\n");
printf("3. เลือกซื้อสินค้า\n");
printf("4. ดูตะกร้าสินค้า\n");
printf("5. แก้ไขตะกร้าสินค้า\n");
printf("6. พิมพ์ใบเสร็จ\n");
printf("7. ออกจากระบบ\n");
printf("เลือกเมนู: ");
scanf("%d", &choice);
switch (choice) {
case 1: registerUser(); break;
case 2: loginUser(); break;
case 3: placeOrder(); break;
case 4: viewCart(); break;
case 5: updateCart(); break;
case 6: printReceipt(); break;
case 7: exit(0);
default: printf("เลือกเมนูไม่ถูกต้อง!\n");
}
} while (1);
}
int main() {
mainMenu();
return 0;
}