#include #include #include using namespace std; int main() { char member[5] = " "; char mealcode; char menucode[5] = " "; float price = 0.0, price2 = 0.0, DISCprice = 0.0, afterdisc = 0.0, finalprice = 0.0; float km = 0; int quantity; float discount, tax, delivery = 0.0, aftertax,aftermemdisc; const float memdisc = 0.05; char applymem[5] = " "; cout << "******************************************************************************************\n"; cout << " WELCOME TO SEDAP.COM \n"; cout << "******************************************************************************************\n"; cout << "\n"; cout << " breakfast = B\n"; cout << " lunch = L\n"; cout << " dinner = D\n"; cout << "\n"; cout << "Please select your category : "; cin >> mealcode; // MEALCODE & MENUCODE switch (mealcode) { case 'B': case 'b': cout <<"\n"; cout << " Nasi Lemak = NL\n"; cout << " Sandwich = SD\n"; cout << " Mee Goreng = MG\n"; cout <<"\n"; cout << "Please select your menu code (NL/SD/MG): "; cin >> menucode; if (strcmp(menucode, "NL") == 0 || strcmp(menucode,"nl") == 0) price = 5.00; else if (strcmp(menucode, "SD") == 0 || strcmp(menucode,"sd") == 0) price = 4.50; else if (strcmp(menucode,"MG") == 0 || strcmp(menucode, "mg") == 0) price = 3.00; break; case 'L': case 'l': cout <<"\n"; cout << " Chicken Rice = CR\n"; cout << " Nasi Tomato = NT\n"; cout << " Nasi Ayam Penyet = NA\n"; cout <<"\n"; cout << "Please select your menu code (CR/NT/NA): "; cin >> menucode; if (strcmp(menucode, "CR") == 0 || strcmp(menucode, "cr") == 0) price = 6.50; else if (strcmp(menucode, "NT") == 0 || strcmp(menucode, "nt") == 0) price = 7.50; else if (strcmp(menucode, "NA") == 0 || strcmp(menucode, "na") == 0) price = 8.00; break; case 'D': case 'd': cout <<"\n"; cout << " Western Set = WS\n"; cout << " Nasi Goreng Kampung = NG\n"; cout << " Kuey Teow Tomyam = KT\n"; cout <<"\n"; cout << "Please select your menu code (WS/NG/KT): "; cin >> menucode; if (strcmp(menucode, "WS") == 0 || strcmp(menucode, "ws") == 0) price = 11.00; else if (strcmp(menucode, "NG") == 0 || strcmp(menucode, "ng") == 0) price = 7.00; else if (strcmp(menucode, "KT") == 0 || strcmp(menucode, "kt") == 0) price = 8.50; break; default: cout << "Invalid mealcode!"; } // INPUT cout << "Are you a member (YES/NO) : "; cin >> member; cout << "Delivery distance (km) : "; cin >> km; cout << "Quantity : "; cin >> quantity; // SUBTOTAL price2 = (price * quantity); // DISCOUNT if (price2 >= 30.00) discount = 0.10; else if (price2 >= 15.00) discount = 0.05; else discount = 0.0; DISCprice = price2 * discount; afterdisc = price2 - DISCprice; // TAX if (mealcode == 'B'|| mealcode == 'b') tax = 0.03; else if (mealcode == 'L' || mealcode == 'l') tax = 0.05; else if (mealcode == 'D'|| mealcode == 'd') tax = 0.06; aftertax = afterdisc + (afterdisc * tax); // MEMBERSHIP DISCOUNT if (strcmp(member, "YES") == 0 || strcmp(member, "yes") == 0) { aftermemdisc = aftertax - (aftertax * memdisc); } else { cout << "_________________________________________________________________________________________\n"; cout << "\n"; cout << "You are not a member. Do you want to apply for membership for RM20? (YES/NO): "; cin >> applymem; if (strcmp(applymem, "YES") == 0 || strcmp(applymem, "yes") == 0) { aftertax = aftertax + 20; cout << "Membership fee RM20 added.\n"; cout << "You will get discout for next order.\n"; } aftermemdisc = aftertax ; } // DELIVERY if ( km <= 5) delivery = km * 1.50; else if ( km <= 10) delivery = (5 * 1.50) + ((km - 5) * 2.30); else if ( km <= 20) delivery = (5 * 1.50) + (5 * 2.30) + ((km - 10) * 2.80); else if (km > 20) delivery = (5 * 1.50) + (5 * 2.30) + (10 * 2.80) + ((km - 20) * 3.00); finalprice = aftermemdisc + delivery; // OUTPUT cout << "_________________________________________________________________________________________\n"; cout << " CUSTOMER ORDER DETAILS \n"; cout << "_________________________________________________________________________________________\n"; cout << "Quantity : " << quantity << endl; cout << "Price per piece : RM "<< fixed << setprecision(2) << price << endl; cout << "Delivery charge : RM " << fixed << setprecision(2) << delivery << endl; cout << "Tax rate : RM " << fixed << setprecision(2) << (tax * afterdisc) << endl; cout << "discount : RM " << fixed << setprecision(2) << DISCprice << endl; if (strcmp(member, "YES") == 0 || strcmp(member, "yes") == 0) cout << "Member discount : RM " << fixed << setprecision(2) << (aftertax* memdisc)<< endl; else cout << "Member discount : RM 0.00\n"; if (strcmp(applymem, "YES") == 0 || strcmp(applymem, "yes") == 0) cout << "Apply Membership : RM 20.00\n"; cout << "Total price : RM " << fixed << setprecision(2) << finalprice << endl; cout << "\n"; cout << " ======================================================\n"; cout << " || ||\n"; cout << " || * THANK YOU * ||\n"; cout << " || We appreciate your order! ||\n"; cout << " || ||\n"; cout << " ======================================================\n"; return 0; }