先决条件:编程中的模块化方法
问题陈述:编写C程序来实现具有以下功能的食品订购:
- 登陆注册
- 按食物搜索
- 按酒店搜索
- 购物车和订单确认
方法和功能:
注册功能
这是注册的主要函数,从这里我们调用account_check()函数来验证输入。以下是功能:
- 输入用户名,年龄,电子邮件,密码,确认密码和手机号码。
- 验证输入
- 用户名必须包含字母。
- 年龄必须大于且不等于0。
- 电子邮件必须包含@,逗号且长度应大于5。
- 密码的长度必须在8到12之间,并且至少包含一个大写字母,小写字母,数字和特殊字符。密码和确认密码应该相同。
- 手机号码应包含数字和正好10位数字。
成功验证所有输入字段后,它将通过account_check()功能检查是否已存在相同的帐户。
登录功能
此函数实现了我们项目的登录功能。登录时,将验证电子邮件和密码,并检查是否已注册。成功登录后,可以选择Search_by_food()或Search_by_hotels()功能。
按酒店订购
在此功能中,在选择任何旅馆后下达食物订单。选择酒店后,将显示食物清单及其相应费用。选择食物后,您需要转到选择购物车选项才能成功订购食物。
在由酒店订购之前,请初始化一些默认的酒店,我们通过C中的结构在本地为我们提供了这些酒店,以进行演示。一旦旅馆及其各自的食物被动态初始化,它将显示旅馆列表。
按食物订购
在上述步骤中选择了酒店后,选择食物并输入要订购的项目数。一旦完成所有食物的选择,它将显示所选食物的总量。移至“选择购物车”以成功订购食物。
大车
此功能执行以下操作:
- 显示您的订单总费用。
- 确认您的订单并享用食物。
Initialization
// C program to initialize the Food
// Ordering System
// Initialization
#include
// Structure to store the user details
// i.e., Signup details
struct details {
char uname[100];
int age;
char password[100];
char email[100];
char mobile[10];
};
// Structure to store the hotels
// and their food details
struct hotels {
char hotel[100];
char first_food[20];
char second_food[20];
char third_food[20];
char fourth_food[25];
int first, second, third, fourth;
};
// Initialize the hotels and details
struct hotels m[5];
struct details s[100];
// Function to get the input for
// a new account
void signup();
// Function to check whether account
// is already existed or not
void account_check();
// Function to validate all input fields
int validate();
void login();
void cart();
void search_by_hotels();
void search_by_food();
void food_order(int food);
// Function to initialize the hotels and
// food structure dynamically
void hotel_initialize();
void hotels(int hotel_choice);
int flag = 1, i, j = 0, count = 0, caps = 0;
int small = 0, special = 0, numbers = 0;
int success = 0, x, choice;
char temp_name[100], temp_password1[100];
char temp_password2[100], temp_email[100];
char temp_mobile[100];
int temp_age, total = 0, food_choice, n;
int hotel_choice, search_choice, confirm;
int ch, food, hotel_id;
Boilerplate
// C program to implement Boilerplate
// Code for the Food Ordering System
int main()
{
while (1) {
printf("\n\nWelcome to Food ");
printf("Ordering System"
"\n\n1)SIGNUP\n");
printf("2)LOGIN\n3)EXIT\n\n");
printf("Enter your choice\t");
scanf("%d", &choice);
// Switch Cases
switch (choice) {
// For Signup Function
case 1: {
signup();
break;
}
// For Login Function
case 2: {
login();
break;
}
case 3: {
exit(1);
}
default: {
printf("\nPlease Enter the "
printf("valid choice\n");
break;
}
}
}
}
Signup
// Function to create a new user for
// the Food ordering system
void signup()
{
printf("Enter Your name\t");
scanf("%s", temp_name);
printf("Enter Your Age\t");
scanf("%d", &temp_age);
printf("Enter Your Email\t");
scanf("%s", temp_email);
printf("Enter Password\t");
scanf("%s", temp_password1);
printf("Confirm Password\t");
scanf("%s", temp_password2);
printf("Enter Your Mobile Number\t");
scanf("%s", temp_mobile);
// Function Call to validate
// the user creation
x = validate();
if (x == 1)
account_check();
}
Validate
// Function to validate the user for
// the signup process
int validate()
{
// Validate the name
for (i = 0; temp_name[i] != '\0'; i++) {
if (!((temp_name[i] >= 'a' && temp_name[i] <= 'z')
|| (temp_name[i] >= 'A'
&& temp_name[i] <= 'Z'))) {
printf("\nPlease Enter the"
printf("valid Name\n");
flag = 0;
break;
}
}
if (flag == 1) {
count = 0;
// Validate the Email ID
for (i = 0;
temp_email[i] != '\0'; i++) {
if (temp_email[i] == '@'
|| temp_email[i] == '.')
count++;
}
if (count >= 2
&& strlen(temp_email) >= 5) {
// Validating the password
// check if it matches with
// correct password or not
if (!strcmp(temp_password1,
temp_password2)) {
if (strlen(temp_password1) >= 8
&& strlen(temp_password1) <= 12) {
caps = 0;
small = 0;
numbers = 0;
special = 0;
for (i = 0;
temp_password1[i]
!= '\0';
i++) {
if (temp_password1[i] >= 'A'
&& temp_password1[i] <= 'Z')
caps++;
else if (temp_password1[i] >= 'a'
&& temp_password1[i]
<= 'z')
small++;
else if (temp_password1[i] >= '0'
&& temp_password1[i]
<= '9')
numbers++;
else if (temp_password1[i] == '@'
|| temp_password1[i] == '&'
|| temp_password1[i] == '#'
|| temp_password1[i]
== '*')
special++;
}
if (caps >= 1 && small >= 1
&& numbers >= 1 && special >= 1) {
// Validating the Input age
if (temp_age != 0 && temp_age > 0) {
// Validating the Input mobile
// number
if (strlen(temp_mobile) == 10) {
for (i = 0; i < 10; i++) {
if (temp_mobile[i]
>= '0'
&& temp_mobile[i]
<= '9') {
success = 1;
}
else {
printf("\n\nPlease");
printf("Enter Valid ");
printf("Mobile "
"Number\n\n");
return 0;
break;
}
}
// Success is assigned with
// value 1, Once every
// inputs are correct.
if (success == 1)
return 1;
}
else {
printf("\n\nPlease Enter the");
printf("10 digit mobile");
printf("number\n\n");
return 0;
}
}
else {
printf("\n\nPlease Enter ");
printf("the valid age\n\n");
return 0;
}
}
else {
printf("\n\nPlease Enter the");
printf("strong password, Your ");
printf("password must contain ");
printf("atleast one uppercase, ");
printf("Lowercase, Number and ");
printf("special character\n\n");
return 0;
}
}
else {
printf("\nYour Password is very");
printf("short\nLength must ");
printf("between 8 to 12\n\n");
return 0;
}
}
else {
printf("\nPassword "
"Mismatch\n\n");
return 0;
}
}
else {
printf("\nPlease Enter Valid E-Mail\n\n");
return 0;
}
}
}
A/c Check
// Function to check if the account
// already exists or not
void account_check()
{
for (i = 0; i < 100; i++) {
// Check whether the email and
// password are already matched
// with existed account
if (!(strcmp(temp_email,
s[i].email)
&& strcmp(temp_password1,
s[i].password))) {
printf("\n\nAccount Already");
printf("Existed. Please"
" Login !!\n\n");
main();
break;
}
}
// If account does not already
// existed, it creates a new
// one with new inputs
if (i == 100) {
strcpy(s[j].uname, temp_name);
s[j].age = temp_age;
strcpy(s[j].password,
temp_password1);
strcpy(s[j].email, temp_email);
strcpy(s[j].mobile, temp_mobile);
j++;
printf("\n\n\nAccount"
" Successfully");
printf("Created!!\n\n");
}
}
Login
// Function to Login the users
void login()
{
printf("\n\nLOGIN\n\n");
printf("\nEnter Your Email\t");
scanf("%s", temp_email);
printf("Enter Your Password\t");
scanf("%s", temp_password1);
for (i = 0; i < 100; i++) {
// Check whether the input email
// is already existed or not
if (!strcmp(s[i].email, temp_email)) {
// Check whether the password
// is matched with email or not
if (!strcmp(s[i].password, temp_password1)) {
printf("\n\nWelcome %s, ");
printf("Your are successfully ");
printf("logged in\n\nWe Provide ");
printf("two ways of search\n1) ");
printf("Search By Hotels\n2) ");
printf("Search by Food\n3) ");
printf("Exit\n\nPlease Enter");
printf("your choice\t", s[i].uname);
scanf("%d", &search_choice);
// Get the input whether
// the user are going to search
// /Order by hotels or search/
// order by food
switch (search_choice) {
case 1: {
search_by_hotels();
break;
}
case 2: {
search_by_food();
break;
}
case 3: {
exit(1);
}
default: {
printf("Please Enter ");
printf("the valid choice\n\n");
break;
}
}
break;
}
else {
printf("\n\nInvalid Password! ");
printf("Please Enter the ");
printf("correct password\n\n");
main();
break;
}
}
else {
printf("\n\nAccount doesn't ");
printf("exist, Please signup!!\n\n");
main();
break;
}
}
}
Hotel Initialization
// Function that initializes the
// Hotels
void hotel_initialize()
{
// Initialize the structure with
// Aarya_bhavan hotel and some
// foods name with their cost
strcpy(m[1].hotel, "Aarya_Bhavan");
strcpy(m[1].first_food, "Sandwich");
strcpy(m[1].second_food, "Pizza");
strcpy(m[1].third_food, "Fried_Rice");
m[1].first = 70;
m[1].second = 100;
m[1].third = 95;
// Initialize the structure with
// Banu_Hotel and some foods name
// and their respective costs
strcpy(m[2].hotel, "Banu_Hotel");
strcpy(m[2].first_food, "Parotta");
strcpy(m[2].second_food, "Noodles");
strcpy(m[2].third_food, "Chicken_Rice");
m[2].first = 15;
m[2].second = 75;
m[2].third = 80;
// Initialize the structure with
// SR_Bhavan hotel and some foods
// name and their respective costs
strcpy(m[3].hotel, "SR_Bhavan");
strcpy(m[3].first_food, "Chicken_Biriyani");
strcpy(m[3].second_food, "Prawn");
strcpy(m[3].third_food, "Faloda");
m[3].first = 90;
m[3].second = 120;
m[3].third = 35;
}
Search by Hotels
// Function that implements the
// functionality search by hotels
void search_by_hotels()
{
hotel_initialize();
printf("\n\nPlease Choose the");
printf("hotels\n\n1) %s\n2) %s\n3) %s",
m[1].hotel,
m[2].hotel, m[3].hotel);
printf("\n4) Exit\n\nPlease ");
printf("select the hotel\t");
scanf("%d", &hotel_choice);
if (hotel_choice > 4) {
printf("Please Enter the");
printf("valid choice\n\n");
search_by_hotels();
}
else if (hotel_choice == 4)
exit(1);
else
hotels(hotel_choice);
}
void hotels(int hotel_choice)
{
total = 0;
while (1) {
// Displays the list of foods
// available in selected hotel
printf("\n\nList of foods available");
printf("in %s\n\n1) %s\tRs: %d\n2)",
m[hotel_choice].hotel,
m[hotel_choice].first_food,
m[hotel_choice].first);
printf("%s\tRs: %d\n3) %s\tRs: %d\n4)",
m[hotel_choice].second_food,
m[hotel_choice].second,
m[hotel_choice].third_food,
m[hotel_choice].third);
printf("Cart\n5) Exit\n\nPlease Enter");
printf("Your Choice\t");
scanf("%d", &food_choice);
// Get the input for no. of foods
// to calculate the total amount
if (food_choice == 1) {
printf("Please Enter the ");
printf("Count of %s\t",
m[hotel_choice].first_food);
scanf("%d", &n);
total = total
+ (n * m[hotel_choice].first);
}
else if (food_choice == 2) {
printf("Please Enter Count");
printf("of %s\t",
m[hotel_choice].second_food);
scanf("%d", &n);
total = total
+ (n * m[hotel_choice].second);
}
else if (food_choice == 3) {
printf("Please Enter the Count");
printf("of %s\t",
m[hotel_choice].third_food);
scanf("%d", &n);
total = total
+ (n * m[hotel_choice].third);
}
// Once the user, completed their
// order, they can go to cart
// by giving choice as 4.
else if (food_choice == 4) {
cart();
}
else if (food_choice == 5) {
search_by_hotels();
}
else {
printf("Please Enter the");
printf("valid Choice\n\n");
}
}
}
Search by Food
// Function to implement the
// search by food
void search_by_food()
{
total = 0;
// Initialize all the hotels
// and their foods
hotel_initialize();
while (1) {
printf("\n\nPlease choose the ");
printf("food\n\n1) %s\t%d\n2) %s\t%d",
m[1].first_food, m[1].first,
m[1].second_food, m[1].second);
printf("\n3) %s\t%d\n4) %s\t%d\n",
m[1].third_food, m[1].third,
m[2].first_food, m[2].first);
printf("5) %s\t%d\n6) %s\t%d\n",
m[2].second_food, m[2].second,
m[2].third_food, m[2].third);
printf("7) %s\t%d\n8) %s\t%d\n",
m[3].first_food, m[3].first,
m[3].second_food, m[3].second);
printf("9) %s\t%d\n10) Cart\n",
m[3].third_food,
m[3].third);
printf("11) Exit");
printf("\nPlease Enter Your Choice\t");
scanf("%d", &food);
if (food > 10) {
printf("Please Enter the ");
printf("valid choice\n\n");
search_by_food();
}
// Moves to the cart
// functionality
else if (food == 10)
cart();
else if (food == 11)
exit(1);
// Call food_order functionality
// to get the no of foods and
// to calculat the total
// amount of the order.
else
food_order(food);
}
}
Cart
// Function to implement the cart
void cart()
{
printf("\n\n\n\n--------------Cart");
printf("----------------");
printf("\nYour Total Order");
printf("Amount is %d\n", total);
printf("\n\nDo You wish to");
printf("order (y=1/n=0):");
scanf("%d", &ch);
if (ch == 1) {
printf("\n\nThank You for your");
printf("order!! Your Food is on ");
printf("the way. Welcome again!!\n\n");
exit(1);
}
else if (ch == 0) {
printf("Do You want to exit -1");
printf("or Go back -0");
scanf("%d", &confirm);
if (confirm == 1) {
printf("\n\nOops! Your order is");
printf("cancelled!! Exiting..");
printf("Thank You visit again!\n");
exit(1);
}
else {
printf("\n\nThank You\n\n");
login();
}
}
else {
printf("\n\nPlease Enter the ");
printf("correct choice\n\n");
cart();
}
}
Complete Code
// C program to implement the Food
// Ordering System
#include
#include
// Structure to store the
// user details (Signup details)
struct details {
char uname[100];
int age;
char password[100];
char email[100];
char mobile[10];
};
// Structure to store the
// hotels and their food details
struct hotels {
char hotel[100];
char first_food[20];
char second_food[20];
char third_food[20];
char fourth_food[25];
int first, second, third, fourth;
};
struct hotels m[5];
struct details s[100];
// Function to get the
// input for new account.
void signup();
// Function to check whether
// the account is already
// existed or not
void account_check();
// Function to validate
// all the input fields.
int validate();
void login();
void cart();
void search_by_hotels();
void search_by_food();
void food_order(int food);
// Function to initialize the
// hotels and food
// structure dynamically
void hotel_initialize();
void hotels(int hotel_choice);
int flag = 1, i, j = 0, count = 0, caps = 0;
int small = 0, special = 0, numbers = 0;
int success = 0, x, choice;
char temp_name[100], temp_password1[100];
char temp_password2[100], temp_email[100];
char temp_mobile[100];
int temp_age, total = 0, food_choice, n;
int hotel_choice, search_choice, confirm;
int ch, food, hotel_id;
// Boilerplate Code for the
// Food Ordering System
int main()
{
while (1) {
printf(""
"\n\nWelcome to Food ");
printf("Ordering System\n\n1)SIGNUP\n");
printf("2)LOGIN\n3)EXIT\n\n");
printf("Enter your choice\t");
scanf("%d", &choice);
switch (choice) {
case 1: {
signup();
break;
}
case 2: {
login();
break;
}
case 3: {
// exit(1);
return 0;
}
default: {
printf("\nPlease Enter the ");
printf("valid choice\n");
break;
}
}
}
}
// Function to create a new
// user for the Food ordering
// system
void signup()
{
printf("Enter Your name\t");
scanf("%s", temp_name);
printf("Enter Your Age\t");
scanf("%d", &temp_age);
printf("Enter Your Email\t");
scanf("%s", temp_email);
printf("Enter Password\t");
scanf("%s", temp_password1);
printf("Confirm Password\t");
scanf("%s", temp_password2);
printf("Enter Your Mobile Number\t");
scanf("%s", temp_mobile);
// Function Call to validate
// the user creation
x = validate();
if (x == 1)
account_check();
}
// Function to validate the user
// for signup process
int validate()
{
// Validate the name
for (i = 0; temp_name[i] != '\0'; i++) {
if (!((temp_name[i] >= 'a' && temp_name[i] <= 'z')
|| (temp_name[i] >= 'A'
&& temp_name[i] <= 'Z'))) {
printf("\nPlease Enter the");
printf("valid Name\n");
flag = 0;
break;
}
}
if (flag == 1) {
count = 0;
// Validate the Email ID
for (i = 0;
temp_email[i] != '\0'; i++) {
if (temp_email[i] == '@'
|| temp_email[i] == '.')
count++;
}
if (count >= 2
&& strlen(temp_email) >= 5) {
// Validating the Password and
// Check whether it matches
// with Conform Password
if (!strcmp(temp_password1,
temp_password2)) {
if (strlen(temp_password1) >= 8
&& strlen(temp_password1) <= 12) {
caps = 0;
small = 0;
numbers = 0;
special = 0;
for (i = 0; temp_password1[i] != '\0';
i++) {
if (temp_password1[i] >= 'A'
&& temp_password1[i] <= 'Z')
caps++;
else if (temp_password1[i] >= 'a'
&& temp_password1[i]
<= 'z')
small++;
else if (temp_password1[i] >= '0'
&& temp_password1[i]
<= '9')
numbers++;
else if (temp_password1[i] == '@'
|| temp_password1[i] == '&'
|| temp_password1[i] == '#'
|| temp_password1[i]
== '*')
special++;
}
if (caps >= 1 && small >= 1
&& numbers >= 1 && special >= 1) {
// Validating the Input age
if (temp_age != 0 && temp_age > 0) {
// Validating the Input mobile
// number
if (strlen(temp_mobile) == 10) {
for (i = 0; i < 10; i++) {
if (temp_mobile[i]
>= '0'
&& temp_mobile[i]
<= '9') {
success = 1;
}
else {
printf("\n\nPlease");
printf("Enter Valid ");
printf("Mobile "
"Number\n\n");
return 0;
break;
}
}
// Success is assigned with
// value 1, Once every
// inputs are correct.
if (success == 1)
return 1;
}
else {
printf("\n\nPlease Enter the");
printf("10 digit mobile");
printf("number\n\n");
return 0;
}
}
else {
printf("\n\nPlease Enter ");
printf("the valid age\n\n");
return 0;
}
}
else {
printf("\n\nPlease Enter the");
printf("strong password, Your ");
printf("password must contain ");
printf("atleast one uppercase, ");
printf("Lowercase, Number and ");
printf("special character\n\n");
return 0;
}
}
else {
printf("\nYour Password is very");
printf("short\nLength must ");
printf("between 8 to 12\n\n");
return 0;
}
}
else {
printf("\nPassword Mismatch\n\n");
return 0;
}
}
else {
printf("\nPlease Enter"
" Valid E-Mail\n\n");
return 0;
}
}
}
// Function to check if the account
// already exists or not
void account_check()
{
for (i = 0; i < 100; i++) {
// Check whether the email
// and password are already
// matched with existed account
if (!(strcmp(temp_email, s[i].email)
&& strcmp(temp_password1,
s[i].password))) {
printf("\n\nAccount Already");
printf("Existed. Please Login !!\n\n");
main();
break;
}
}
// if account does not already
// existed, it creates a new
// one with new inputs
if (i == 100) {
strcpy(s[j].uname, temp_name);
s[j].age = temp_age;
strcpy(s[j].password, temp_password1);
strcpy(s[j].email, temp_email);
strcpy(s[j].mobile, temp_mobile);
j++;
printf("\n\n\nAccount Successfully");
printf("Created!!\n\n");
}
}
// Function to Login the users
void login()
{
printf("\n\nLOGIN\n\n");
printf("\nEnter Your Email\t");
scanf("%s", temp_email);
printf("Enter Your Password\t");
scanf("%s", temp_password1);
for (i = 0; i < 100; i++) {
// Check whether the input
// email is already existed or not
if (!strcmp(s[i].email, temp_email)) {
// Check whether the password
// is matched with the email or not
if (!strcmp(s[i].password, temp_password1)) {
printf("\n\nWelcome %s, ", s[i].uname);
printf("Your are successfully ");
printf("logged in\n\nWe Provide ");
printf("two ways of search\n1) ");
printf("Search By Hotels\n2) ");
printf("Search by Food\n3) ");
printf("Exit\n\nPlease Enter");
printf("your choice\t");
scanf("%d", &search_choice);
// Getting the input whether
// the user are going to search
// /Order by hotels or search/
// order by food.
switch (search_choice) {
case 1: {
search_by_hotels();
break;
}
case 2: {
search_by_food();
break;
}
case 3: {
// exit(1);
return;
}
default: {
printf("Please Enter ");
printf("the valid choice\n\n");
break;
}
}
break;
}
else {
printf("\n\nInvalid Password! ");
printf("Please Enter the ");
printf("correct password\n\n");
main();
break;
}
}
else {
printf("\n\nAccount doesn't ");
printf("exist, Please signup!!\n\n");
main();
break;
}
}
}
// Function to implement the Hotel
// initialzer
void hotel_initialize()
{
// Initializing the structure
// with Aarya_bhavan hotel and
// some foods name and
// their respective costs.
strcpy(m[1].hotel, "Aarya_Bhavan");
strcpy(m[1].first_food, "Sandwich");
strcpy(m[1].second_food, "Pizza");
strcpy(m[1].third_food, "Fried_Rice");
m[1].first = 70;
m[1].second = 100;
m[1].third = 95;
// Initializing the structure with
// Banu_Hotel and some foods name
// and their respective costs.
strcpy(m[2].hotel, "Banu_Hotel");
strcpy(m[2].first_food, "Parotta");
strcpy(m[2].second_food, "Noodles");
strcpy(m[2].third_food, "Chicken_Rice");
m[2].first = 15;
m[2].second = 75;
m[2].third = 80;
// Initializing the structure with
// SR_Bhavan hotel and some foods
// name and their respective costs.
strcpy(m[3].hotel, "SR_Bhavan");
strcpy(m[3].first_food, "Chicken_Biriyani");
strcpy(m[3].second_food, "Prawn");
strcpy(m[3].third_food, "Faloda");
m[3].first = 90;
m[3].second = 120;
m[3].third = 35;
}
// Function to implement the search
// by hotels
void search_by_hotels()
{
hotel_initialize();
printf(""
"\n\nPlease Choose the");
printf("hotels\n\n1) %s\n2) %s\n3) %s",
m[1].hotel,
m[2].hotel, m[3].hotel);
printf("\n4) Exit\n\nPlease ");
printf("select the hotel\t");
scanf("%d", &hotel_choice);
if (hotel_choice > 4) {
printf("Please Enter the");
printf("valid choice\n\n");
search_by_hotels();
}
else if (hotel_choice == 4)
// exit(1);
return;
else
hotels(hotel_choice);
}
// Function to implement the hotel
void hotels(int hotel_choice)
{
total = 0;
while (1) {
// Displays the list of
// foods available in
// selected hotel
printf("\n\nList of foods available");
printf("in %s\n\n1) %s\tRs: %d\n2)",
m[hotel_choice].hotel,
m[hotel_choice].first_food,
m[hotel_choice].first);
printf("%s\tRs: %d\n3) %s\tRs: %d\n4)",
m[hotel_choice].second_food,
m[hotel_choice].second,
m[hotel_choice].third_food,
m[hotel_choice].third);
printf("Cart\n5) Exit\n\nPlease Enter");
printf("Your Choice\t");
scanf("%d", &food_choice);
// Get the input for no
// of foods to calculate
// the total amount
if (food_choice == 1) {
printf("Please Enter the ");
printf("Count of %s\t",
m[hotel_choice].first_food);
scanf("%d", &n);
total = total
+ (n * m[hotel_choice].first);
}
else if (food_choice == 2) {
printf("Please Enter the Count");
printf("of %s\t",
m[hotel_choice].second_food);
scanf("%d", &n);
total = total
+ (n * m[hotel_choice].second);
}
else if (food_choice == 3) {
printf("Please Enter the Count");
printf("of %s\t",
m[hotel_choice].third_food);
scanf("%d", &n);
total = total
+ (n * m[hotel_choice].third);
}
// Once the user, completed their
// order, they can go to cart
// by giving choice as 4.
else if (food_choice == 4) {
cart();
}
else if (food_choice == 5) {
search_by_hotels();
}
else {
printf("Please Enter the");
printf("valid Choice\n\n");
}
}
}
void search_by_food()
{
total = 0;
// Initialize all the
// hotels and their foods
hotel_initialize();
while (1) {
printf("\n\nPlease choose the ");
printf("food\n\n1) %s\t%d\n2) %s\t%d",
m[1].first_food, m[1].first,
m[1].second_food, m[1].second);
printf("\n3) %s\t%d\n4) %s\t%d\n",
m[1].third_food, m[1].third,
m[2].first_food, m[2].first);
printf("5) %s\t%d\n6) %s\t%d\n",
m[2].second_food, m[2].second,
m[2].third_food, m[2].third);
printf("7) %s\t%d\n8) %s\t%d\n",
m[3].first_food, m[3].first,
m[3].second_food, m[3].second);
printf("9) %s\t%d\n10) Cart\n",
m[3].third_food,
m[3].third);
printf("11) Exit");
printf("\nPlease Enter Your Choice\t");
scanf("%d", &food);
if (food > 10) {
printf("Please Enter the ");
printf("valid choice\n\n");
search_by_food();
}
// Moves to the cart
// functionality
else if (food == 10)
cart();
else if (food == 11)
// exit(1);
return;
// Call food_order functionality
// to get the no of foods and
// to calculat the total
// amount of the order.
else
food_order(food);
}
}
// Function to implement the food
// order functionality
void food_order(int food)
{
if (food >= 1 && food <= 3)
hotel_id = 1;
else if (food >= 4 && food <= 6)
hotel_id = 2;
else
hotel_id = 3;
if ((food % 3) == 1) {
printf("Please Enter the");
printf(" Count of %s\t",
m[hotel_id].first_food);
scanf("%d", &n);
total = total + (n * m[hotel_id].first);
}
else if ((food % 3) == 2) {
printf("Please Enter the ");
printf("Count of %s\t",
m[hotel_id].second_food);
scanf("%d", &n);
total = total + (n * m[hotel_id].second);
}
else if ((food % 3) == 0) {
printf("Please Enter the ");
printf("Count of %s\t",
m[hotel_id].third_food);
scanf("%d", &n);
total = total + (n * m[hotel_id].third);
}
}
// Function to implement the cart
void cart()
{
printf("\n\n\n\n--------------Cart");
printf("----------------");
printf("\nYour Total Order");
printf("Amount is %d\n", total);
printf("\n\nDo You wish to");
printf("order (y=1/n=0):");
scanf("%d", &ch);
if (ch == 1) {
printf("\n\nThank You for your");
printf("order!! Your Food is on ");
printf("the way. Welcome again!!\n\n");
// exit(1);
return;
}
else if (ch == 0) {
printf("Do You want to exit -1");
printf("or Go back -0");
scanf("%d", &confirm);
if (confirm == 1) {
printf("\n\nOops! Your order is");
printf("cancelled!! Exiting..");
printf("Thank You visit again!\n");
// exit(1);
return;
}
else {
printf("\n\nThank You\n\n");
login();
}
}
else {
printf("\n\nPlease Enter the ");
printf("correct choice\n\n");
cart();
}
}
输出:
样板代码:
注册:
登录:
证实:
帐户检查:
按酒店搜索:
按食物搜索:
大车:
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。