您好,登錄后才能下訂單哦!
這篇文章主要講解了C語言如何實現點餐系統,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
#include<iostream> #include<cstring> #include<stdio.h> #include<string.h> #include<stdlib.h> #include<cstring> #include<conio.h> using namespace std; typedef struct member { char username[20];//用戶名 char password[20];//密碼 }Member; typedef struct product { char name[20];//菜品名 int price; int num;//銷售數量 }Product; /*菜單函數區*/ void menu1();/*主菜單*/ void menu2();/*管理員界面*/ void all_info();//點單信息 void member_log_up();//注冊 void member_log_in_interface();//登錄界面外觀 int member_log_in();//登錄 void check(); /*管理員菜單函數*/ void sell_info();//菜品所有信息 void password_manage();//用戶名密碼信息 int compare_password(char password[]);//對比密碼函數 int main() { int flag1=1,flag_member=0,flag_admin=0; int choice1,choice2; while(flag1){ menu1(); printf("\n"); printf("請您選擇(1-5):"); scanf("%d",&choice1); if(choice1==1)/*會員登錄*/ { member_log_in_interface(); flag_member=member_log_in(); while(flag_member) { all_info(); check(); } } else if(choice1==2)/*會員注冊*/ { printf("\n\n\n\t\t\t正在進入用戶注冊界面...\n"); member_log_up(); } else if(choice1==3)/*管理員登錄*/ { printf("請輸入密碼:"); char password[20]={0}; scanf("%s",password); if(compare_password(password)) { printf("\n\n\t\t\t\t --輸入密碼正確!--\n\n\t\t\t\t==正在進入管理員界面==\n"); flag_admin=1; } else { printf("\n\n\t\t\t\t --輸入密碼錯誤!--\n"); } while(flag_admin) { menu2(); printf("請您選擇(1-3):"); scanf("%d",&choice2); switch(choice2) { case 1:password_manage();break; case 2:sell_info();break; case 3:flag_admin=0;break; } } } else if(choice1==4)/*退出系統*/ { flag1=0; } } printf("你已經安全退出系統!(按任意鍵關閉界面)\n\n\t歡迎您的再次使用!\n\n"); return 0; } void menu1() { system("color E9"); printf("\n\n"); printf("\t\t\t *=======================================*\n"); printf("\t\t\t| * - * - * Zhou Cheng - System - * - * |\n"); printf("\t\t\t| * * |\n"); printf("\t\t\t| | [1] 會員登錄 | |\n"); printf("\t\t\t| * * |\n"); printf("\t\t\t| | [2] 會員注冊 | |\n"); printf("\t\t\t| * * |\n"); printf("\t\t\t| | [3] 管理員登錄 | |\n"); printf("\t\t\t| * * |\n"); printf("\t\t\t| | [4] 退出系統 | |\n"); printf("\t\t\t| * * |\n"); printf("\t\t\t| * - * - * - * - * - * - * - * - * - * |\n"); printf("\t\t\t *=======================================*\n"); } void menu2() { printf("\n\n"); printf("\t\t\t *======================================*\n"); printf("\t\t\t| | * - * - * 管-理-員-界-面 * - * - * | |\n"); printf("\t\t\t| * * |\n"); printf("\t\t\t| | [1] 會員密碼管理 | |\n"); printf("\t\t\t| * [2] 各產品銷售信息 * |\n"); printf("\t\t\t| * [3] 退出管理員界面 * |\n"); printf("\t\t\t| | | |\n"); printf("\t\t\t| * - * - * - * - * -- * - * - * - * - * |\n"); printf("\t\t\t *======================================*\n"); } int compare_password(char password[])/*管理員密碼比對函數 */ { int i,flag=1; for(i=0;i<6;i++) { if(password[i]!='1'+i)flag=0; } return flag; } void member_log_up()//會員注冊函數 { Member member; while(1) { printf("請輸入您想創建的username(用戶名):"); scanf("%s",member.username); printf("請輸入您的密碼(20個字符以內):"); scanf("%s",member.password); printf("是否確認創建(y/n):"); char ch=getch(); if(ch=='n')continue; else if(ch=='y') { FILE *fp=fopen("memberInfo.txt","a+"); fprintf(fp,"%s %s ",member.username,member.password); fclose(fp); printf("\n您已注冊成功!\n"); printf("--------正在返回大廳--------"); return ; } } } int member_log_in() { Member member[100]; FILE *fp=fopen("memberInfo.txt","a+"); int i=0; while(!feof(fp)) { fscanf(fp,"%s %s",member[i].username,member[i].password); i++; } char username[20],password[20]; scanf("%s",username); printf("\t\t\t 密碼 (password):"); scanf("%s",password); int flag=0; for(int j=0;j<i;j++) { if(strcmp(username,member[j].username)==0&&strcmp(password,member[j].password)==0) { flag=1; break; } } return flag; } void member_log_in_interface()/*登入界面*/ { printf("\n\n\n\t\t\t***================================*** \n"); printf("\t\t\t \n"); printf("\t\t\t 用戶名 (username):"); } void all_info() { Product product[100]; FILE *fp=fopen("productInfo.txt","a+"); int i=0; while(!feof(fp)) { fscanf(fp,"%s %d %d",product[i].name,&product[i].price,&product[i].num); i++; } printf("編號--菜品名---------單價---\n"); for(int j=0;j<i;j++) { printf("%-6d%-15s%-7d\n",j+1,product[j].name,product[j].price); } printf("請輸入想要購買的菜品編號以及數量(用空格分割):"); int num,count; scanf("%d %d",&num,&count); printf("此函數還沒寫完...\n"); printf("按任意鍵前往結算界面:"); char c; scanf(" %c",&c); } void sell_info() { Product product[100]; FILE *fp=fopen("productInfo.txt","a+"); int i=0; while(!feof(fp)) { fscanf(fp,"%s %d %d",product[i].name,&product[i].price,&product[i].num); i++; } printf("--菜品名---------單價---銷售量---銷售額--\n"); for(int j=0;j<i;j++) { printf(" %-15s%-7d%-9d%-8d\n",product[j].name,product[j].price,product[j].num,product[j].price*product[j].num); } printf("按任意鍵返回菜單:"); char c; scanf(" %c",&c); } void password_manage() { Member member[100]; FILE *fp=fopen("memberInfo.txt","a+"); int i=0; while(!feof(fp)) { fscanf(fp,"%s %s",member[i].username,member[i].password); i++; } printf("----用戶名------------密碼----------"); for(int j=0;j<i;j++) { printf("\n %-17s %-15s",member[j].username,member[j].password); } printf("按任意鍵返回菜單:"); char c; scanf(" %c",&c); } void check() { printf("此函數還沒寫...\n"); printf("按任意鍵返回菜單:"); char c; scanf(" %c",&c); }
看完上述內容,是不是對C語言如何實現點餐系統有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。