Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**************************************/
- /** 20141125 Final Classwork **/
- /** Maker : Yan **/
- /** E-Mail : yanchangx0924@gmail.com **/
- /** Date : 2014/11/25 am.00:00 **/
- /**************************************/
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <time.h>
- struct MyMember
- {
- char userID[15];
- char name[15];
- char username[15];
- char password[15];
- char phone[15];
- char address[15];
- char birthday[15];
- char Email[1000];
- int DiscountCoupon1; //10%-Off
- int DiscountCoupon2; //15%-Off
- };
- struct MyMerchandise
- {
- int uniform_numbers;
- char name[7];
- int price;
- char firm[4];
- int stock;
- };
- int now_member_counter = -1;
- int _signIn()
- {
- system("cls");
- printf("**** Sign In ****\n");
- printf("Username: ");
- char username[20] = {NULL};
- scanf("%s", username);
- printf("Password: ");
- char password[20] = {NULL};
- scanf("%s", password);
- struct MyMember all_member[100];
- FILE *fptr_ReadMember = fopen("MembersData.txt", "r");
- if(fptr_ReadMember == NULL)
- {
- printf(" ---- Error Member Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMember))
- {
- fscanf(fptr_ReadMember, "%s %s %s %s %s %s %s %s %d %d\n", all_member[counter].userID, all_member[counter].name, all_member[counter].username, \
- all_member[counter].password, all_member[counter].phone, all_member[counter].address, \
- all_member[counter].birthday, all_member[counter].Email, &all_member[counter].DiscountCoupon1, \
- &all_member[counter].DiscountCoupon2);
- counter++;
- }
- fclose(fptr_ReadMember);
- now_member_counter = -1;
- int _get = 0; //暫存登入狀態
- for(int i = 0; i < counter; i++)
- {
- if(strcmp(username, all_member[i].username) == 0)
- {
- if(strcmp(password, all_member[i].password) == 0)
- {
- if(i == 0)
- _get = 3;
- else
- _get = 2;
- now_member_counter = i;
- }
- else
- _get = 1;
- break;
- }
- }
- int login_state = 0;
- switch(_get)
- {
- case 0:
- printf(" ---- Do Not Have This Member ----\n");
- return 0;
- /*login_state = _signIn();*/
- break;
- case 1:
- printf(" ---- Password ERROR ----\n");
- return 0;
- /*login_state = _signIn();*/
- break;
- case 2:
- printf(" ---- Member Login Successfully ----\n");
- login_state = 2;
- break;
- case 3:
- printf(" ---- Administrator Login Successfully ----\n");
- login_state = 1;
- break;
- }
- return login_state;
- }
- int _signUp()
- {
- struct MyMember all_member[100];
- FILE *fptr_ReadMember = fopen("MembersData.txt", "r");
- if(fptr_ReadMember == NULL)
- {
- printf(" ---- Error Member Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMember))
- {
- fscanf(fptr_ReadMember, "%s %s %s %s %s %s %s %s %d %d\n", all_member[counter].userID, all_member[counter].name, all_member[counter].username, \
- all_member[counter].password, all_member[counter].phone, all_member[counter].address, \
- all_member[counter].birthday, all_member[counter].Email, &all_member[counter].DiscountCoupon1, \
- &all_member[counter].DiscountCoupon2);
- counter++;
- }
- fclose(fptr_ReadMember);
- system("cls");
- printf("**** Sign Up ****\n");
- struct MyMember add_new_member;
- printf("Enter your [ID_Number]: ");
- scanf("%s", add_new_member.userID);
- int userID_exist = 0;
- for(int i = 0; i < counter; i++)
- if(strcmp(add_new_member.userID, all_member[i].userID) == 0)
- {
- userID_exist = 1;
- break;
- }
- if(userID_exist == 1)
- {
- printf(" ---- Have The Same ID_Number, Please Check It Again ----\n");
- /*_signUp();*/
- return 0;
- }
- else
- {
- printf("Enter your [Name]: ");
- scanf("%s", add_new_member.name);
- printf("Enter your [Username]: ");
- scanf("%s", add_new_member.username);
- int username_exist = 0;
- for(int i = 0; i < counter; i++)
- if(strcmp(add_new_member.username, all_member[i].username) == 0)
- {
- username_exist = 1;
- break;
- }
- if(username_exist == 1)
- {
- printf(" ---- Have The Same Username, Please Change It ----\n");
- /*_signUp();*/
- return 0;
- }
- else
- {
- printf("Enter your [Password]: ");
- scanf("%s", add_new_member.password);
- printf("Enter your [Phone]: ");
- scanf("%s", add_new_member.phone);
- printf("Enter your [Address]: ");
- scanf("%s", add_new_member.address);
- printf("Enter your [Birthday]: ");
- scanf("%s", add_new_member.birthday);
- printf("Enter your [Email]: ");
- scanf("%s", add_new_member.Email);
- add_new_member.DiscountCoupon1 = 0;
- add_new_member.DiscountCoupon2 = 0;
- all_member[counter] = add_new_member;
- counter++;
- FILE *fptr_WriteMember = fopen("MembersData.txt", "a");
- if(fptr_WriteMember == NULL)
- {
- printf(" ---- Error Member Write ----\n");
- exit(EXIT_SUCCESS);
- }
- else
- {
- fprintf(fptr_WriteMember, "%s %s %s %s %s %s %s %s %d %d\n", add_new_member.userID, add_new_member.name, add_new_member.username, \
- add_new_member.password, add_new_member.phone, add_new_member.address, \
- add_new_member.birthday, add_new_member.Email, add_new_member.DiscountCoupon1, \
- add_new_member.DiscountCoupon2);
- fclose(fptr_WriteMember);
- printf(" ---- Account [%s] Sign Up Successfully ----\n", add_new_member.username);
- }
- }
- }
- return 0;
- }
- void watch_all_merchandise_information()
- {
- system("cls");
- printf("**** (Administrator) Watch All Merchandise's Information ****\n");
- struct MyMerchandise all_merchandise[100];
- FILE *fptr_ReadMerchandise = fopen("MerchandisesData.txt", "r");
- if(fptr_ReadMerchandise == NULL)
- {
- printf(" ---- Error Member Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMerchandise))
- {
- fscanf(fptr_ReadMerchandise, "%d %s %d %s %d\n", &all_merchandise[counter].uniform_numbers, all_merchandise[counter].name, \
- &all_merchandise[counter].price, all_merchandise[counter].firm, \
- &all_merchandise[counter].stock);
- if((counter == 0) && ((all_merchandise[counter].firm[0] == NULL) || (all_merchandise[counter].firm[0] == '\0')))
- {
- printf(" ---- Do Not Have Any Merchandise's Informations ----\n");
- return;
- }
- counter++;
- }
- fclose(fptr_ReadMerchandise);
- printf("\n**** Data Table ****");
- printf("\nNums\tName\tPrice\tFirm\tStock\n");
- for(int i = 0; i < counter; i++)
- printf("%4d\t%s\t%4d\t%s\t%4d\n",all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock);
- return;
- }
- void add_new_merchandise_information()
- {
- system("cls");
- printf("**** (Administrator) Add A New Merchandise's Information ****\n");
- struct MyMerchandise all_merchandise[100];
- FILE *fptr_ReadMerchandise = fopen("MerchandisesData.txt", "r");
- if(fptr_ReadMerchandise == NULL)
- {
- printf(" ---- Error Member Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMerchandise))
- {
- fscanf(fptr_ReadMerchandise, "%d %s %d %s %d\n", &all_merchandise[counter].uniform_numbers, all_merchandise[counter].name, \
- &all_merchandise[counter].price, all_merchandise[counter].firm, \
- &all_merchandise[counter].stock);
- if((counter == 0) && (all_merchandise[counter].firm[0] == NULL) || (all_merchandise[counter].firm[0] == '\0'))
- break;
- counter++;
- }
- fclose(fptr_ReadMerchandise);
- //Output Data Table
- watch_all_merchandise_information();
- printf("\n**** Add A New Merchandise's Information ****\n");
- struct MyMerchandise all_new_merchandise;
- all_new_merchandise.uniform_numbers = counter;
- printf("Enter new merchandise's [Name]: ");
- scanf("%s", all_new_merchandise.name);
- printf("Enter new merchandise's [Price]: ");
- scanf("%d", &all_new_merchandise.price);
- printf("Enter new merchandise's [Firm]: ");
- scanf("%s", all_new_merchandise.firm);
- printf("Enter new merchandise's [Stock]: ");
- scanf("%d", &all_new_merchandise.stock);
- //做商品檢查,檢查是否已有相同商品資訊(檔案名稱、廠商名稱)
- //若有則提示使用者使用功能2:修改商品資訊
- for(int i = 0; i < counter; i++)
- if((strcmp(all_new_merchandise.name, all_merchandise[i].name) == 0) && strcmp(all_new_merchandise.firm, all_merchandise[i].firm) == 0)
- {
- printf(" ---- New Merchandise's Information Added Failure\n");
- printf(" Have The Same Merchandise Information At Nums: %2d\n", i);
- printf(" Please Use [Update The Merchandise's Information (Mode 2)]\n");
- printf(" To Make A Modification ----\n");
- return;
- }
- FILE *fptr_AddNewMerchandise = fopen("MerchandisesData.txt", "a");
- if(fptr_AddNewMerchandise == NULL)
- {
- printf(" ---- Error Merchandise Write ----\n");
- exit(EXIT_SUCCESS);
- }
- else
- {
- fprintf(fptr_AddNewMerchandise, "%d %s %d %s %d\n", all_new_merchandise.uniform_numbers, all_new_merchandise.name, \
- all_new_merchandise.price, all_new_merchandise.firm, \
- all_new_merchandise.stock);
- printf(" ---- New Merchandise's Information Added Successfully ----\n");
- }
- fclose(fptr_AddNewMerchandise);
- return;
- }
- int update_the_merchandise_information()
- {
- system("cls");
- printf("**** (Administrator) Update The Merchandise's Information ****\n");
- struct MyMerchandise all_merchandise[100];
- FILE *fptr_ReadMerchandise = fopen("MerchandisesData.txt", "r");
- if(fptr_ReadMerchandise == NULL)
- {
- printf(" ---- Error Merchandise Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMerchandise))
- {
- fscanf(fptr_ReadMerchandise, "%d %s %d %s %d\n", &all_merchandise[counter].uniform_numbers, all_merchandise[counter].name, \
- &all_merchandise[counter].price, all_merchandise[counter].firm, \
- &all_merchandise[counter].stock);
- if((counter == 0) && ((all_merchandise[counter].firm[0] == NULL) || (all_merchandise[counter].firm[0] == '\0')))
- {
- printf(" ---- Do Not Have Any Merchandise's Information ----\n");
- return 1;
- }
- counter++;
- }
- fclose(fptr_ReadMerchandise);
- //Output Data Table
- watch_all_merchandise_information();
- printf("\n**** Enter The Merchandise's Number Which You Want To Update\n");
- printf(" Enter -1 To Go Back Administrator Function Menu ****\n");
- printf("Enter merchandise's number: ");
- int number = 0;
- scanf("%d", &number);
- if(number == -1)
- return 0;
- else if(number >= counter)
- {
- printf(" ---- Do Not Have This Merchandise's Number ----\n");
- return 1;
- }
- printf("\n**** Update Merchandise's Information ****\n");
- struct MyMerchandise update_merchandise;
- update_merchandise.uniform_numbers = all_merchandise[number].uniform_numbers;
- printf("Update merchandise's [Name]: ");
- scanf("%s", update_merchandise.name);
- printf("Update merchandise's [Price]: ");
- scanf("%d", &update_merchandise.price);
- printf("Update merchandise's [Firm]: ");
- scanf("%s", update_merchandise.firm);
- printf("Update merchandise's [Stock]: ");
- scanf("%d", &update_merchandise.stock);
- all_merchandise[number] = update_merchandise;
- FILE *fptr_WriteMerchandise = fopen("MerchandisesData.txt", "w");
- if(fptr_WriteMerchandise == NULL)
- {
- printf(" ---- Error Merchandise Write ----\n");
- exit(EXIT_SUCCESS);
- }
- else
- {
- for(int i = 0; i < counter; i++)
- fprintf(fptr_WriteMerchandise, "%d %s %d %s %d\n", all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock);
- printf(" ---- Merchandise's Information Updated Successfully ----\n");
- }
- fclose(fptr_WriteMerchandise);
- return 2;
- }
- int delete_the_merchandise_informaion()
- {
- system("cls");
- printf("**** (Administrator) Delete The Merchandise's Information ****\n");
- struct MyMerchandise all_merchandise[100];
- FILE *fptr_ReadMerchandise = fopen("MerchandisesData.txt", "r");
- if(fptr_ReadMerchandise == NULL)
- {
- printf(" ---- Error Merchandise Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMerchandise))
- {
- fscanf(fptr_ReadMerchandise, "%d %s %d %s %d\n", &all_merchandise[counter].uniform_numbers, all_merchandise[counter].name, \
- &all_merchandise[counter].price, all_merchandise[counter].firm, \
- &all_merchandise[counter].stock);
- if((counter == 0) && ((all_merchandise[counter].firm[0] == NULL) || (all_merchandise[counter].firm[0] == '\0')))
- {
- printf(" ---- Do Not Have Any Merchandise's Information ----\n");
- return 1;
- }
- counter++;
- }
- fclose(fptr_ReadMerchandise);
- //Output Data Table
- watch_all_merchandise_information();
- printf("\n**** Enter The Merchandise's Number Which You Want To Delete\n");
- printf(" Enter -1 To Go Back Administrator Function Menu ****\n");
- printf("Enter merchandise's number: ");
- int number = -1;
- scanf("%d", &number);
- if(number == -1)
- return 0;
- else if(number >= counter)
- {
- printf(" ---- Do Not Have This Merchandise's Number ----\n");
- return 1;
- }
- if(counter == 1)
- {
- //Clear Array
- memset(all_merchandise, 0, sizeof(all_merchandise));
- counter = 0;
- }
- for(int i = number; i < counter - 1; i++)
- {
- all_merchandise[i] = all_merchandise[i + 1];
- all_merchandise[i].uniform_numbers = i;
- }
- counter--;
- FILE *fptr_WriteMerchandise = fopen("MerchandisesData.txt", "w");
- if(fptr_WriteMerchandise == NULL)
- {
- printf(" ---- Error Merchandise Write ----\n");
- exit(EXIT_SUCCESS);
- }
- else
- {
- for(int i = 0; i < counter; i++)
- fprintf(fptr_WriteMerchandise, "%d %s %d %s %d\n", all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock);
- printf(" ---- Merchandise's Information Deleted Successfully ----\n");
- fclose(fptr_WriteMerchandise);
- }
- return 2;
- }
- void watch_all_members_information()
- {
- system("cls");
- printf("**** (Administrator) Watch All Members Informations ****\n");
- struct MyMember all_member[100];
- FILE *fptr_ReadMember = fopen("MembersData.txt", "r");
- if(fptr_ReadMember == NULL)
- {
- printf(" ---- Error Member Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMember))
- {
- fscanf(fptr_ReadMember, "%s %s %s %s %s %s %s %s %d %d\n", all_member[counter].userID, all_member[counter].name, all_member[counter].username, \
- all_member[counter].password, all_member[counter].phone, all_member[counter].address, \
- all_member[counter].birthday, all_member[counter].Email, &all_member[counter].DiscountCoupon1, \
- &all_member[counter].DiscountCoupon2);
- counter++;
- }
- fclose(fptr_ReadMember);
- printf("\n**** Date Table ****\n");
- printf("Num\tID_Number\tusername\n");
- if(counter == 1)
- {
- printf(" ---- Only Have Administrator's Account ----\n");
- return;
- }
- else
- for(int i = 0; i < counter; i++)
- if(i == 0)
- continue;
- else
- if(strlen(all_member[i].userID) < 8)
- printf("%d\t%s\t\t%s\n", i - 1, all_member[i].userID, all_member[i].username);
- else
- printf("%d\t%s\t%s\n", i - 1, all_member[i].userID, all_member[i].username);
- return;
- }
- int delete_the_member_information()
- {
- system("cls");
- printf("**** (Administrator) Delete The Member's Information ****\n");
- struct MyMember all_member[100];
- FILE *fptr_ReadMember = fopen("MembersData.txt", "r");
- if(fptr_ReadMember == NULL)
- {
- printf(" ---- Error Member Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMember))
- {
- fscanf(fptr_ReadMember, "%s %s %s %s %s %s %s %s %d %d\n", all_member[counter].userID, all_member[counter].name, all_member[counter].username, \
- all_member[counter].password, all_member[counter].phone, all_member[counter].address, \
- all_member[counter].birthday, all_member[counter].Email, &all_member[counter].DiscountCoupon1, \
- &all_member[counter].DiscountCoupon2);
- counter++;
- }
- fclose(fptr_ReadMember);
- if(counter == 1)
- {
- printf(" ---- Do Not Have Any Member Information (Except Administrator) ----\n");
- return 0;
- }
- else if(counter > 1)
- {
- watch_all_members_information();
- printf("\n**** Enter The Member's Number Which You Want To Delete\n");
- printf(" Enter -1 To Go Back Administrator Function Menu ****\n");
- printf("Enter member's number: ");
- int number = -1;
- scanf("%d", &number);
- if(number == -1)
- return 0;
- else
- number++; //補償顯示時減去的1
- if(number == 0)
- {
- printf(" ---- Administrator Account Can Not Delete ----\n");
- return 1;
- }
- else if(number >= counter)
- {
- printf(" ---- Do Not Have This Member's Number ----\n");
- return 1;
- }
- for(int i = number; i < counter - 1; i++)
- all_member[i] = all_member[i + 1];
- counter--;
- FILE *fptr_WriteMember = fopen("MembersData.txt", "w");
- for(int i = 0; i < counter; i++)
- fprintf(fptr_WriteMember, "%s %s %s %s %s %s %s %s %d %d\n", all_member[i].userID, all_member[i].name, all_member[i].username, \
- all_member[i].password, all_member[i].phone, all_member[i].address, \
- all_member[i].birthday, all_member[i].Email, all_member[i].DiscountCoupon1, \
- all_member[i].DiscountCoupon2);
- fclose(fptr_WriteMember);
- printf(" ---- Member's Information Deleted Successfully ----\n");
- }
- return 2;
- }
- void go_shopping(int _first_login)
- {
- struct MyMerchandise myCart[100];
- int cart_counter = 0;
- Go_Shopping_Start:
- if(_first_login != 1)
- {
- printf("\n");
- system("pause");
- }
- system("cls");
- _first_login = 0;
- struct MyMerchandise all_merchandise[100];
- FILE *fptr_ReadMerchandise = fopen("MerchandisesData.txt", "r");
- if(fptr_ReadMerchandise == NULL)
- {
- printf(" ---- Error Merchandise Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMerchandise))
- {
- fscanf(fptr_ReadMerchandise, "%d %s %d %s %d\n", &all_merchandise[counter].uniform_numbers, all_merchandise[counter].name, \
- &all_merchandise[counter].price, all_merchandise[counter].firm, \
- &all_merchandise[counter].stock);
- if((all_merchandise[counter].firm[0] == NULL) || (all_merchandise[counter].firm[0] == '\0'))
- break;
- counter++;
- }
- fclose(fptr_ReadMerchandise);
- printf("Hello, member. What do your want to do?\n");
- printf("**** Enter 0 To Search Merchandise\n");
- printf(" 1 To Pick Merchandise Into Your Cart\n");
- printf(" 2 To Show What Merchandise In Your Cart\n");
- printf(" 3 To Delete Merchandise Which In your Cart\n");
- printf(" 4 To Pay\n");
- printf(" 5 To Go Back Home Page ****\n");
- printf("Enter your mode: ");
- int _select = 0;
- scanf("%d", &_select);
- switch(_select)
- {
- case 0:
- if(counter == 0)
- {
- printf(" ---- Do Not Have Any Merchandise's Information ----\n");
- goto Go_Shopping_Start;
- }
- printf("\n**** Enter 0 To Show All Merchandise\n");
- printf(" 1 To Search By Name\n");
- printf(" 2 To Search By Price\n");
- printf(" 3 To Search By Firm ****\n");
- printf("Enter your mode: ");
- scanf("%d", &_select);
- switch(_select)
- {
- case 0:
- {
- printf("\n**** Data Table ****");
- printf("\nNums\tName\tPrice\tFirm\tStock\n");
- int find_counter = 0;
- for(int i = 0; i < counter; i++)
- {
- find_counter++;
- if(strlen(all_merchandise[i].name) < 8)
- printf("%4d\t%s\t%4d\t%s\t%4d\n",all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock);
- }
- if(find_counter == 0)
- printf(" ---- Can Not Find Any Merchandise ----\n");
- break;
- }
- // 在Switch .. Case .. 內無法宣告變數,若欲宣告則必須在Case 加上括弧
- case 1:
- {
- printf("\n**** Search By Name ****\n");
- printf("Enter merchandise name or key words: ");
- char _search_name[7] = {NULL};
- scanf("%s", _search_name);
- printf("\n**** Data Table ****");
- printf("\nNums\tName\tPrice\tFirm\tStock\n");
- int find_counter = 0;
- for(int i = 0; i < counter; i++)
- if(strstr(all_merchandise[i].name, _search_name))
- {
- find_counter++;
- printf("%4d\t%s\t%4d\t%s\t%4d\n",all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock);
- }
- if(find_counter == 0)
- printf(" ---- Can Not Find Any Merchandise ----\n");
- break;
- }
- case 2:
- {
- printf("\n**** Search By Price ****\n");
- printf("Enter the minimum amount: ");
- int _min_price = 0;
- scanf("%d", &_min_price);
- printf("Enter the maximum amount: ");
- int _max_price = 0;
- scanf("%d", &_max_price);
- printf("\n**** Data Table ****");
- printf("\nNums\tName\tPrice\tFirm\tStock\n");
- int find_counter = 0;
- for(int i = 0; i < counter; i++)
- if((_min_price <= all_merchandise[i].price) && (all_merchandise[i].price <= _max_price))
- {
- find_counter++;
- printf("%4d\t%s\t%4d\t%s\t%4d\n",all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock);
- }
- if(find_counter == 0)
- printf(" ---- Can Not Find Any Merchandise ----\n");
- break;
- }
- case 3:
- {
- printf("\n**** Search By Firm ****\n");
- printf("Enter the firm name: ");
- char _search_firm[5] = {NULL};
- scanf("%s", _search_firm);
- printf("\n**** Data Table ****");
- printf("\nNums\tName\tPrice\tFirm\tStock\n");
- int find_counter = 0;
- for(int i = 0; i < counter; i++)
- if(strcmp(all_merchandise[i].firm, _search_firm) == 0)
- {
- find_counter++;
- printf("%4d\t%s\t%4d\t%s\t%4d\n",all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock);
- }
- if(find_counter == 0)
- printf(" ---- Can Not Find Any Merchandise ----\n");
- break;
- }
- }
- goto Go_Shopping_Start;
- break;
- case 1:
- {
- //檢查商品狀況(若無商品則直接返回)
- if(counter == 0)
- {
- printf(" ---- Do Not Have Any Merchandise ----\n");
- goto Go_Shopping_Start;
- }
- //先顯示商品資訊
- printf("\n**** Data Table ****");
- printf("\nNums\tName\tPrice\tFirm\tStock\n");
- for(int i = 0; i < counter; i++)
- printf("%4d\t%s\t%4d\t%s\t%4d\n",all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock);
- printf("\n**** Pick Merchandise And Put In The Cart ****\n");
- printf("Enter the merchandise's number: ");
- int _pick = 0;
- scanf("%d", &_pick);
- if(_pick >= counter)
- {
- printf(" ---- Do Not Have This Commoduty's Number ----\n");
- goto Go_Shopping_Start;
- return;
- }
- else
- {
- printf("Enter number of merchandise: ");
- int _number = 0;
- scanf("%d", &_number);
- if(_number <= 0)
- {
- printf(" ---- Quantity Can Not Less Than One ----\n");
- goto Go_Shopping_Start;
- return;
- }
- if(_number > all_merchandise[_pick].stock)
- {
- printf(" ---- Do Not Have More Then %2d Stock ----\n", all_merchandise[_pick].stock);
- goto Go_Shopping_Start;
- return;
- }
- //處理商品庫存
- FILE *fptr_WriteMerchandise = fopen("MerchandisesData.txt", "w");
- if(fptr_WriteMerchandise == NULL)
- {
- printf(" ---- Error Merchandise Write ----\n");
- exit(EXIT_SUCCESS);
- }
- else
- {
- for(int i = 0; i < counter; i++)
- if(i == _pick)
- fprintf(fptr_WriteMerchandise, "%d %s %d %s %d\n", all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock - _number);
- else if(i != _pick)
- fprintf(fptr_WriteMerchandise, "%d %s %d %s %d\n", all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock);
- }
- fclose(fptr_WriteMerchandise);
- if(cart_counter == 0)
- {
- myCart[cart_counter].uniform_numbers = cart_counter;
- strcpy(myCart[cart_counter].name, all_merchandise[_pick].name);
- myCart[cart_counter].price = all_merchandise[_pick].price;
- strcpy(myCart[cart_counter].firm, all_merchandise[_pick].firm);
- myCart[cart_counter].stock = _number;
- cart_counter++;
- }
- else
- {
- for(int i = 0; i < cart_counter; i++)
- {
- if((strcmp(all_merchandise[_pick].name, myCart[i].name) == 0) && (strcmp(all_merchandise[_pick].firm, myCart[i].firm) == 0))
- {
- myCart[i].stock += _number;
- break;
- }
- else
- if(i == cart_counter - 1)
- {
- myCart[cart_counter].uniform_numbers = cart_counter;
- strcpy(myCart[cart_counter].name, all_merchandise[_pick].name);
- myCart[cart_counter].price = all_merchandise[_pick].price;
- strcpy(myCart[cart_counter].firm, all_merchandise[_pick].firm);
- myCart[cart_counter].stock = _number;
- cart_counter++;
- break;
- }
- }
- }
- //顯示總金額
- int total_money = 0;
- if(cart_counter == 0)
- printf(" ---- Do Not Have Any Merchandise In Your Cart ----\n");
- else
- {
- for(int i = 0; i < cart_counter; i++)
- total_money += myCart[i].price * myCart[i].stock;
- printf(" ---- Total Money Should Pay: NT. %4d ----\n", total_money);
- }
- goto Go_Shopping_Start;
- break;
- }
- }
- case 2:
- {
- if(cart_counter == 0)
- {
- printf(" ---- Do Not Have Any Merchandise In Your Cart ----\n");
- goto Go_Shopping_Start;
- }
- else
- {
- printf("\n**** Data Table ****\n");
- printf("Nums\tName\tPrice\tFirm\tQuantity\n");
- int total_money = 0;
- for(int i = 0; i < cart_counter; i++)
- {
- printf("%d\t%s\t%d\t%s\t%d\n", myCart[i].uniform_numbers, myCart[i].name, myCart[i].price, \
- myCart[i].firm, myCart[i].stock);
- total_money += myCart[i].price * myCart[i].stock;
- }
- printf(" ---- Total Money Should Pay: NT. %4d ----\n", total_money);
- goto Go_Shopping_Start;
- }
- break;
- }
- case 3:
- {
- if(cart_counter == 0)
- {
- printf(" ---- Do Not Have Any Merchandise In Your Cart ----\n");
- goto Go_Shopping_Start;
- }
- printf("\n**** Data Table ****\n");
- printf("Nums\tName\tPrice\tFirm\tQuantity\n");
- int total_money = 0;
- for(int i = 0; i < cart_counter; i++)
- {
- printf("%d\t%s\t%d\t%s\t%d\n", myCart[i].uniform_numbers, myCart[i].name, myCart[i].price, \
- myCart[i].firm, myCart[i].stock);
- total_money = myCart[i].price * myCart[i].stock;
- }
- printf("\n**** Delete Merchandise From Your Cart ****\n");
- printf("Enter the number: ");
- int _number = 0;
- scanf("%d", &_number);
- if(_number >= cart_counter)
- {
- printf(" ---- Do Not Have This Merchandise ----\n");
- goto Go_Shopping_Start;
- }
- else
- {
- printf("Enter the quantity: ");
- int _quantity = 0;
- scanf("%d", &_quantity);
- if(_quantity > myCart[_number].stock)
- {
- printf(" ---- Can Not Enter More Than %2d Quantity ----\n");
- goto Go_Shopping_Start;
- }
- else
- {
- //先處理商品庫存
- FILE *fptr_WriteMerchandise = fopen("MerchandisesData.txt", "w");
- if(fptr_WriteMerchandise == NULL)
- {
- printf(" ---- Error Merchandise Write ----\n");
- exit(EXIT_SUCCESS);
- }
- else
- {
- if(counter == 0)
- fprintf(fptr_WriteMerchandise, "%d %s %d %s %d\n", 0, myCart[_number].name, myCart[_number].price, \
- myCart[_number].firm, _quantity);
- else
- {
- for(int i = 0; i < counter; i++)
- if((strcmp(myCart[_number].name, all_merchandise[i].name) == 0) && (strcmp(myCart[_number].firm, all_merchandise[i].firm) == 0))
- {
- all_merchandise[i].stock += _quantity;
- break;
- }
- else
- if(i == counter - 1)
- {
- all_merchandise[counter].uniform_numbers = counter;
- strcpy(all_merchandise[counter].name, myCart[_number].name);
- all_merchandise[counter].price = myCart[_number].price;
- strcpy(all_merchandise[counter].firm, myCart[_number].firm);
- all_merchandise[counter].stock = myCart[_number].stock;
- counter++;
- break;
- }
- for(int i = 0; i < counter; i++)
- fprintf(fptr_WriteMerchandise, "%d %s %d %s %d\n", all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock);
- }
- }
- fclose(fptr_WriteMerchandise);
- //處理結構陣列
- if(_quantity == myCart[_number].stock)
- {
- if(cart_counter == 1)
- {
- memset(myCart, 0, sizeof(myCart));
- cart_counter = 0;
- }
- else
- {
- for(int i = _number; i < cart_counter; i++)
- {
- myCart[i] = myCart[i + 1];
- myCart[i].uniform_numbers = i;
- }
- cart_counter--;
- }
- }
- else
- {
- myCart[_number].stock -= _quantity;
- }
- int total_money = 0;
- for(int i = 0; i < cart_counter; i++)
- total_money += myCart[i].price * myCart[i].stock;
- printf(" ---- The Merchandise In Your Cart Is Deleted Successfully ----\n");
- printf(" ---- Total Money Should Pay: NT. %4d ----\n", total_money);
- }
- }
- goto Go_Shopping_Start;
- break;
- }
- case 4:
- {
- int total_money = 0;
- if(cart_counter == 0)
- {
- printf(" ---- Do Not Have Any Merchandise In Your Cart ----\n");
- goto Go_Shopping_Start;
- }
- else
- {
- for(int i = 0; i < cart_counter; i++)
- total_money += myCart[i].price * myCart[i].stock;
- }
- printf("\n**** Pay ****\n");
- printf("Total Money Should Pay: NT. %4d.\n", total_money);
- printf("Are you sure to pay? (y/n) ");
- char _pay;
- scanf(" %c", &_pay);
- if((_pay == 'y') || (_pay == 'Y'))
- {
- struct MyMember all_member[100];
- FILE *fptr_ReadMember = fopen("MembersData.txt", "r");
- if(fptr_ReadMember == NULL)
- {
- printf(" ---- Error Member Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMember))
- {
- fscanf(fptr_ReadMember, "%s %s %s %s %s %s %s %s %d %d\n", all_member[counter].userID, all_member[counter].name, all_member[counter].username, \
- all_member[counter].password, all_member[counter].phone, all_member[counter].address, \
- all_member[counter].birthday, all_member[counter].Email, &all_member[counter].DiscountCoupon1, \
- &all_member[counter].DiscountCoupon2);
- counter++;
- }
- fclose(fptr_ReadMember);
- if(all_member[now_member_counter].DiscountCoupon1 == 0)
- {
- if(all_member[now_member_counter].DiscountCoupon2 == 0)
- {
- //Nothing
- }
- else if(all_member[now_member_counter].DiscountCoupon2 != 0)
- {
- printf("Do you want to use [15%%-Off] discount coupon? (y/n) ");
- char _DiscountCoupon2;
- scanf(" %c", &_DiscountCoupon2);
- if((_DiscountCoupon2 == 'y') || (_DiscountCoupon2 == 'Y'))
- {
- total_money = total_money * 0.85;
- all_member[now_member_counter].DiscountCoupon2--;
- }
- else if ((_DiscountCoupon2 == 'n') || (_DiscountCoupon2 == 'N'))
- total_money = total_money;
- else
- {
- exit(EXIT_SUCCESS);
- return;
- }
- }
- }
- else if(all_member[now_member_counter].DiscountCoupon2 == 0)
- {
- if(all_member[now_member_counter].DiscountCoupon1 == 0)
- {
- //Nothing
- }
- else if(all_member[now_member_counter].DiscountCoupon1 != 0)
- {
- printf("Do you want to use [10%%-Off] discount coupon? (y/n) ");
- char _DiscountCoupon1;
- scanf(" %c", &_DiscountCoupon1);
- if((_DiscountCoupon1 == 'y') || (_DiscountCoupon1 == 'Y'))
- {
- total_money = total_money * 0.9;
- all_member[now_member_counter].DiscountCoupon1--;
- }
- else if ((_DiscountCoupon1 == 'n') || (_DiscountCoupon1 == 'N'))
- {
- total_money = total_money;
- }
- else
- {
- exit(EXIT_SUCCESS);
- return;
- }
- }
- }
- else
- {
- printf("Do you want to use [10%%-Off] or [15%%-Off] discount coupon? (y/n) ");
- int _use_discount_coupon = 0;
- scanf(" %c", &_use_discount_coupon);
- if((_use_discount_coupon == 'y') || (_use_discount_coupon == 'Y'))
- {
- printf("\n**** Enter 0 To Use [10%%-Off], 1 To Use [15%%-Off] ****\n");
- printf("Enter your mode: ");
- int _select_discount_coupon;
- scanf("%d", &_select_discount_coupon);
- if(_select_discount_coupon == 0)
- {
- total_money = total_money * 0.9;
- all_member[now_member_counter].DiscountCoupon1--;
- }
- else if(_select_discount_coupon == 1)
- {
- total_money = total_money * 0.85;
- all_member[now_member_counter].DiscountCoupon2--;
- }
- }
- else if((_use_discount_coupon == 'n') || (_use_discount_coupon == 'N'))
- {
- //Nothing
- }
- else
- {
- exit(EXIT_SUCCESS);
- return;
- break;
- }
- }
- FILE *fptr_WriteMember = fopen("MembersData.txt", "w");
- if(fptr_WriteMember == NULL)
- {
- printf(" ---- Error Member Write ----\n");
- exit(EXIT_SUCCESS);
- }
- else
- {
- int _get_DiscountCoupon1 = 0, _get_DiscountCoupon2 = 0;
- if((1000 <= total_money) && (total_money < 2000))
- _get_DiscountCoupon1++;
- else if(2000 <= total_money)
- _get_DiscountCoupon2++;
- all_member[now_member_counter].DiscountCoupon1 += _get_DiscountCoupon1;
- all_member[now_member_counter].DiscountCoupon2 += _get_DiscountCoupon2;
- for(int i = 0; i < counter; i++)
- fprintf(fptr_WriteMember, "%s %s %s %s %s %s %s %s %d %d\n", all_member[i].userID, all_member[i].name, \
- all_member[i].username, all_member[i].password, \
- all_member[i].phone, all_member[i].address, \
- all_member[i].birthday, all_member[i].Email, \
- all_member[i].DiscountCoupon1, all_member[i].DiscountCoupon2);
- fclose(fptr_WriteMember);
- printf(" ---- NT. %4d Payment Successful ----\n", total_money);
- printf(" ---- You Get %2d of [10%%-Off] Discount Coupon\n", _get_DiscountCoupon1);
- printf(" %2d of [15%%-Off] Discount Coupon ----\n", _get_DiscountCoupon2);
- printf(" ---- Now Have %2d of [10%%-Off] Discount Coupon\n", all_member[now_member_counter].DiscountCoupon1);
- printf(" %2d of [15%%-Off] Discount Coupon ----\n", all_member[now_member_counter].DiscountCoupon2);
- total_money = 0;
- memset(myCart, 0, sizeof(myCart));
- printf("\n");
- system("pause");
- return;
- }
- }
- else if((_pay == 'n') || (_pay == 'N'))
- {
- printf(" ---- Payment Failure ----\n");
- goto Go_Shopping_Start;
- break;
- }
- else
- {
- exit(EXIT_SUCCESS);
- return;
- }
- memset(myCart, 0, sizeof(myCart));
- break;
- }
- case 5:
- {
- if(cart_counter == 0)
- return;
- else
- {
- for(int i = 0; i < cart_counter; i++)
- {
- for(int j = 0; j < counter; j++)
- {
- if((strcmp(myCart[i].name, all_merchandise[j].name) == 0) && (strcmp(myCart[i].firm, all_merchandise[j].firm) == 0))
- {
- all_merchandise[j].stock += myCart[i].stock;
- break;
- }
- else
- {
- if(j == counter - 1)
- {
- all_merchandise[counter].uniform_numbers = counter;
- strcpy(all_merchandise[counter].name, myCart[i].name);
- all_merchandise[counter].price = myCart[i].price;
- strcpy(all_merchandise[counter].firm, myCart[i].firm);
- all_merchandise[counter].stock = myCart[i].stock;
- counter++;
- }
- }
- }
- }
- }
- FILE *fptr_WriteMerchandise = fopen("MerchandisesData.txt", "w");
- if(fptr_WriteMerchandise == NULL)
- {
- printf(" ---- Error Merchandise Write ----\n");
- exit(EXIT_SUCCESS);
- }
- else
- {
- for(int i = 0; i < counter; i++)
- fprintf(fptr_WriteMerchandise, "%d %s %d %s %d\n", all_merchandise[i].uniform_numbers, all_merchandise[i].name, \
- all_merchandise[i].price, all_merchandise[i].firm, \
- all_merchandise[i].stock);
- fclose(fptr_WriteMerchandise);
- }
- memset(myCart, 0, sizeof(myCart));
- break;
- }
- default:
- break;
- }
- return;
- }
- void watch_member_informations()
- {
- system("cls");
- printf("**** (Member) Watch Your Informations ****\n");
- struct MyMember all_member[100];
- FILE *fptr_ReadMember = fopen("MembersData.txt", "r");
- if(fptr_ReadMember == NULL)
- {
- printf(" ---- Error Member Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMember))
- {
- fscanf(fptr_ReadMember, "%s %s %s %s %s %s %s %s %d %d\n", all_member[counter].userID, all_member[counter].name, all_member[counter].username, \
- all_member[counter].password, all_member[counter].phone, all_member[counter].address, \
- all_member[counter].birthday, all_member[counter].Email, &all_member[counter].DiscountCoupon1, \
- &all_member[counter].DiscountCoupon2);
- counter++;
- }
- fclose(fptr_ReadMember);
- printf("\n**** Date Table ****\n");
- printf("Items\t\t\t\tValue\n");
- printf("%s\t\t\t%s\n", "ID_Number", all_member[now_member_counter].userID);
- printf("%s\t\t\t\t%s\n", "Name", all_member[now_member_counter].name);
- printf("%s\t\t\t%s\n", "Username", all_member[now_member_counter].username);
- printf("%s\t\t\t%s\n", "Password", all_member[now_member_counter].password);
- printf("%s\t\t\t\t%s\n", "Phone", all_member[now_member_counter].phone);
- printf("%s\t\t\t\t%s\n", "Address", all_member[now_member_counter].address);
- printf("%s\t\t\t%s\n", "Birthday", all_member[now_member_counter].birthday);
- printf("%s\t\t\t\t%s\n", "E-Mail", all_member[now_member_counter].Email);
- printf("%s\t\t%d\n", "10%-Off Discount Coupon", all_member[now_member_counter].DiscountCoupon1);
- printf("%s\t\t%d\n", "15%-Off Discount Coupon", all_member[now_member_counter].DiscountCoupon2);
- return;
- }
- int update_member_informations()
- {
- GO_Update_Member_Informations:
- system("cls");
- printf("**** (Member) Updata Your Informations ****\n");
- /* Random Code*/
- srand(time(NULL));
- char code[5] = {NULL};
- while(1)
- {
- for(int i = 0; i < 5; i++)
- {
- int _select_code_style = rand() % 2;
- if(_select_code_style == 0)
- {
- int ranE = rand() % 2;
- if(ranE == 0)
- code[i] = (char)(rand() % 26 + 65);
- else if(ranE == 1)
- code[i] = (char)(rand() % 26 + 97);
- }
- else if(_select_code_style == 1)
- {
- code[i] = (char)(rand() % 10 + 48);
- }
- }
- int check_code_N = 0, check_code_E = 0;
- for(int i = 0; i < 5; i++)
- if((48 <= (int)code[i]) && ((int)code[i] <= 57))
- check_code_N++;
- else if(((65 <= (int)code[i]) && ((int)code[i] <= 90)) || ((97 <= (int)code[i]) && ((int)code[i] <= 122)))
- check_code_E++;
- if((check_code_N != 5) && (check_code_E != 5))
- break;
- }
- printf("\n**** Before Update Informations, Please Enter The Code What You See ****\n");
- printf("[%s]: ", code);
- char input_code[5] = {NULL};
- scanf("%s", input_code);
- if(strcmp(input_code, code) == 0)
- {
- printf(" ---- Currect ----\n");
- struct MyMember all_member[100];
- FILE *fptr_ReadMember = fopen("MembersData.txt", "r");
- if(fptr_ReadMember == NULL)
- {
- printf(" ---- Error Member Read ----\n");
- exit(EXIT_SUCCESS);
- }
- int counter = 0;
- while(!feof(fptr_ReadMember))
- {
- fscanf(fptr_ReadMember, "%s %s %s %s %s %s %s %s %d %d\n", all_member[counter].userID, all_member[counter].name, all_member[counter].username, \
- all_member[counter].password, all_member[counter].phone, all_member[counter].address, \
- all_member[counter].birthday, all_member[counter].Email, &all_member[counter].DiscountCoupon1, \
- &all_member[counter].DiscountCoupon2);
- counter++;
- }
- fclose(fptr_ReadMember);
- struct MyMember update_member;
- printf("\n**** Update Member's Informations ****\n");
- strcpy(update_member.userID, all_member[now_member_counter].userID);
- printf("Update your [Name]: ");
- scanf("%s", update_member.name);
- strcpy(update_member.username, all_member[now_member_counter].username);
- printf("Update your [Password]: ");
- scanf("%s", update_member.password);
- printf("Update your [Phone]: ");
- scanf("%s", update_member.phone);
- printf("Update your [Address]: ");
- scanf("%s", update_member.address);
- printf("Update your [Birthday]: ");
- scanf("%s", update_member.birthday);
- printf("Update your [Email]: ");
- scanf("%s", update_member.Email);
- update_member.DiscountCoupon1 = all_member[now_member_counter].DiscountCoupon1;
- update_member.DiscountCoupon2 = all_member[now_member_counter].DiscountCoupon2;
- all_member[now_member_counter] = update_member;
- FILE *fptr_WriteMember = fopen("MembersData.txt", "w");
- if(fptr_WriteMember == NULL)
- {
- printf(" ---- Error Member Write ----\n");
- exit(EXIT_SUCCESS);
- }
- else
- {
- for(int i = 0; i < counter; i++)
- fprintf(fptr_WriteMember, "%s %s %s %s %s %s %s %s %d %d\n", all_member[i].userID, all_member[i].name, all_member[i].username, \
- all_member[i].password, all_member[i].phone, all_member[i].address, \
- all_member[i].birthday, all_member[i].Email, all_member[i].DiscountCoupon1, \
- all_member[i].DiscountCoupon2);
- fclose(fptr_WriteMember);
- printf(" ---- Member's Information Updated Successfully ----\n");
- }
- }
- else
- {
- printf(" ---- Error Code ----\n");
- printf("\nDo you want to try again? (y/n) ");
- char _select;
- scanf(" %c", &_select);
- switch(_select)
- {
- case 'y':
- case 'Y':
- goto GO_Update_Member_Informations;
- break;
- case 'n':
- case 'N':
- return 0;
- break;
- default:
- exit(EXIT_SUCCESS);
- return 1;
- break;
- }
- }
- return 2;
- }
- int main(int argc, char const *argv[])
- {
- system("cls");
- int _close = 0;
- //Check MembersData.txt
- FILE *fptr_CheckFile = fopen("MembersData.txt", "r");
- if(fptr_CheckFile == NULL)
- {
- printf("**** ERROR Message ****\n");
- printf(" ---- Do Not Have [MembersData.txt] File ----\n");
- _close = 1;
- }
- else
- fclose(fptr_CheckFile);
- //Check MerchandisesData.txt
- fptr_CheckFile = fopen("MerchandisesData.txt", "r");
- if(fptr_CheckFile == NULL)
- {
- if(_close == 0)
- printf("**** ERROR Message ****\n");
- printf(" ---- Do Not Have [MerchandisesData.txt] File ----\n");
- _close = 1;
- }
- else
- fclose(fptr_CheckFile);
- if(_close != 0)
- {
- printf("\n**** Press Any Key To Exit Program ****\n");
- system("pause");
- exit(EXIT_SUCCESS);
- }
- system("cls");
- printf("**** Enter 0 To Sign In, 1 To Sign Up, -1 To Exit Program. ****\n");
- printf("Enter your mode: ");
- int _select = 0;
- scanf("%d", &_select);
- switch(_select)
- {
- case -1:
- exit(EXIT_SUCCESS);
- return 0;
- break;
- case 0:
- switch(_signIn())
- {
- case 0:
- printf("\n");
- system("pause");
- main(0, NULL);
- break;
- case 1:
- {
- int _where_goback = 0;
- AdministratorSignIn:
- printf("\n");
- if(_where_goback != 0)
- system("pause");
- _where_goback = 1;
- system("cls");
- printf("Hello, administrator. What do your want to do?\n");
- printf("**** Enter 0 To Watch All Merchandise Informations\n");
- printf(" 1 To Add New Merchandise\n");
- printf(" 2 To Update Merchandise Informations\n");
- printf(" 3 To Delete Merchandise Informaions\n");
- printf(" 4 To Watch All Member Informaions\n");
- printf(" 5 To Delete Member Informations\n");
- printf(" 9 To Sign Out ****\n");
- printf("Enter your mode: ");
- scanf("%d", &_select);
- switch(_select)
- {
- case -1:
- exit(EXIT_SUCCESS);
- return 0;
- break;
- case 0:
- watch_all_merchandise_information();
- goto AdministratorSignIn;
- break;
- case 1:
- add_new_merchandise_information();
- goto AdministratorSignIn;
- break;
- case 2:
- _where_goback = update_the_merchandise_information();
- goto AdministratorSignIn;
- break;
- case 3:
- _where_goback = delete_the_merchandise_informaion();
- goto AdministratorSignIn;
- break;
- case 4:
- watch_all_members_information();
- goto AdministratorSignIn;
- break;
- case 5:
- _where_goback = delete_the_member_information();
- goto AdministratorSignIn;
- break;
- case 9:
- main(0, NULL);
- return 0;
- break;
- default:
- return 0;
- }
- break;
- }
- case 2:
- {
- int _where_goback = 0;
- MemberSignIn:
- printf("\n");
- if(_where_goback != 0)
- system("pause");
- _where_goback = 1;
- system("cls");
- printf("Hello, member. What do your want to do?\n");
- printf("**** Enter 0 To Go Shopping\n");
- printf(" 1 To Watch Your Informations\n");
- printf(" 2 To Update Your Informations\n");
- printf(" 9 To Sign Out ****\n");
- printf("Enter your mode: ");
- scanf("%d", &_select);
- switch(_select)
- {
- case -1:
- exit(EXIT_SUCCESS);
- return 0;
- break;
- case 0:
- go_shopping(1);
- _where_goback = 0;
- goto MemberSignIn;
- break;
- case 1:
- watch_member_informations();
- goto MemberSignIn;
- break;
- case 2:
- _where_goback = update_member_informations();
- goto MemberSignIn;
- break;
- case 9:
- main(0, NULL);
- return 0;
- break;
- default:
- return 0;
- }
- break;
- }
- }
- break;
- case 1:
- _signUp();
- printf("\n");
- system("pause");
- main(0, NULL);
- break;
- default:
- return 0;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement