C語(yǔ)言代碼實(shí)現(xiàn)點(diǎn)餐系統(tǒng)
本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)點(diǎn)餐系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
#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;//銷售數(shù)量 }Product; /*菜單函數(shù)區(qū)*/ void menu1();/*主菜單*/ void menu2();/*管理員界面*/ void all_info();//點(diǎn)單信息 void member_log_up();//注冊(cè) void member_log_in_interface();//登錄界面外觀 int member_log_in();//登錄 void check(); /*管理員菜單函數(shù)*/ void sell_info();//菜品所有信息 void password_manage();//用戶名密碼信息 int compare_password(char password[]);//對(duì)比密碼函數(shù) int main() { int flag1=1,flag_member=0,flag_admin=0; int choice1,choice2; while(flag1){ menu1(); printf("\n"); printf("請(qǐng)您選擇(1-5):"); scanf("%d",&choice1); if(choice1==1)/*會(huì)員登錄*/ { member_log_in_interface(); flag_member=member_log_in(); while(flag_member) { all_info(); check(); } } else if(choice1==2)/*會(huì)員注冊(cè)*/ { printf("\n\n\n\t\t\t正在進(jìn)入用戶注冊(cè)界面...\n"); member_log_up(); } else if(choice1==3)/*管理員登錄*/ { printf("請(qǐng)輸入密碼:"); char password[20]={0}; scanf("%s",password); if(compare_password(password)) { printf("\n\n\t\t\t\t --輸入密碼正確!--\n\n\t\t\t\t==正在進(jìn)入管理員界面==\n"); flag_admin=1; } else { printf("\n\n\t\t\t\t --輸入密碼錯(cuò)誤!--\n"); } while(flag_admin) { menu2(); printf("請(qǐng)您選擇(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)/*退出系統(tǒng)*/ { flag1=0; } } printf("你已經(jīng)安全退出系統(tǒng)!(按任意鍵關(guān)閉界面)\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] 會(huì)員登錄 | |\n"); printf("\t\t\t| * * |\n"); printf("\t\t\t| | [2] 會(huì)員注冊(cè) | |\n"); printf("\t\t\t| * * |\n"); printf("\t\t\t| | [3] 管理員登錄 | |\n"); printf("\t\t\t| * * |\n"); printf("\t\t\t| | [4] 退出系統(tǒng) | |\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] 會(huì)員密碼管理 | |\n"); printf("\t\t\t| * [2] 各產(chǎn)品銷售信息 * |\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[])/*管理員密碼比對(duì)函數(shù) */ { int i,flag=1; for(i=0;i<6;i++) { if(password[i]!='1'+i)flag=0; } return flag; } void member_log_up()//會(huì)員注冊(cè)函數(shù) { Member member; while(1) { printf("請(qǐng)輸入您想創(chuàng)建的username(用戶名):"); scanf("%s",member.username); printf("請(qǐng)輸入您的密碼(20個(gè)字符以內(nèi)):"); scanf("%s",member.password); printf("是否確認(rèn)創(chuàng)建(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您已注冊(cè)成功!\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("編號(hào)--菜品名---------單價(jià)---\n"); for(int j=0;j<i;j++) { printf("%-6d%-15s%-7d\n",j+1,product[j].name,product[j].price); } printf("請(qǐng)輸入想要購(gòu)買的菜品編號(hào)以及數(shù)量(用空格分割):"); int num,count; scanf("%d %d",&num,&count); printf("此函數(shù)還沒寫完...\n"); printf("按任意鍵前往結(jié)算界面:"); 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("--菜品名---------單價(jià)---銷售量---銷售額--\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("此函數(shù)還沒寫...\n"); printf("按任意鍵返回菜單:"); char c; scanf(" %c",&c); }
更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C語(yǔ)言實(shí)現(xiàn)餐飲點(diǎn)餐管理系統(tǒng)
- 基于C語(yǔ)言實(shí)現(xiàn)點(diǎn)餐系統(tǒng)
- 餐館點(diǎn)菜系統(tǒng)C語(yǔ)言源代碼
- C語(yǔ)言實(shí)現(xiàn)點(diǎn)餐系統(tǒng)
- C語(yǔ)言實(shí)現(xiàn)餐飲管理與點(diǎn)餐系統(tǒng)
- C語(yǔ)言實(shí)現(xiàn)食堂就餐管理系統(tǒng)(帶鏈表)
- C語(yǔ)言實(shí)現(xiàn)餐飲結(jié)賬管理系統(tǒng)
- C語(yǔ)言實(shí)現(xiàn)電話訂餐管理系統(tǒng)
- 基于C語(yǔ)言代碼實(shí)現(xiàn)點(diǎn)餐系統(tǒng)
- C語(yǔ)言實(shí)現(xiàn)餐廳點(diǎn)餐系統(tǒng)
相關(guān)文章
C++數(shù)據(jù)結(jié)構(gòu)之鏈表的創(chuàng)建
這篇文章主要介紹了C++數(shù)據(jù)結(jié)構(gòu)之鏈表的創(chuàng)建的相關(guān)資料,希望通過(guò)本文幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-10-10從匯編看c++中默認(rèn)構(gòu)造函數(shù)的使用分析
c++中,如果為一個(gè)類沒有明確定義一個(gè)構(gòu)造函數(shù),那么,編譯器就會(huì)自動(dòng)合成一個(gè)默認(rèn)的構(gòu)造函數(shù)。下面,通過(guò)匯編程序,來(lái)看一下其真實(shí)情況2013-05-05c語(yǔ)言實(shí)現(xiàn)從源文件從文本到可執(zhí)行文件經(jīng)歷的過(guò)程
這篇文章主要介紹了c語(yǔ)言實(shí)現(xiàn)從源文件從文本到可執(zhí)行文件經(jīng)歷的過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Qt數(shù)據(jù)庫(kù)應(yīng)用之實(shí)現(xiàn)csv文件轉(zhuǎn)xls
這篇文章主要為大家詳細(xì)介紹了如何利用Qt實(shí)現(xiàn)csv文件轉(zhuǎn)xls功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定參考價(jià)值,需要的可以了解一下2022-06-06C語(yǔ)言實(shí)現(xiàn)3個(gè)數(shù)從小到大排序/輸出的方法示例
這篇文章主要給大家介紹了關(guān)于如何利用C語(yǔ)言實(shí)現(xiàn)3個(gè)數(shù)從小到大排序/輸出的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05深入Windows下的回車是回車換行(\r\n)還是換行回車(\n\r)的詳解
本篇文章對(duì)Windows下的回車是回車換行(\r\n)還是換行回車(\n\r)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05