这篇文章主要讲解了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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。