C语言代码实现点餐系统

本文实例为大家分享了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);
}

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言实现餐饮点餐管理系统

    本文实例为大家分享了C语言实现餐饮点餐管理系统的具体代码,供大家参考,具体内容如下 具体代码如下 /* 项目名称:南航餐饮管理系统 组员:梁文新,刘青林,刘艺,施瑞文(组长) */ //当注册用户名为:root,密码为:root的账号时,系统默认为初始管理员 //头文件 #include<stdio.h> #include<stdlib.h> #include<time.h> #include<conio.h> #include<windows.h&g

  • 基于C语言代码实现点餐系统

    这是一个很简单的点餐系统,用到的知识也不复杂,所以对新手学习还是很有作用,贴上来给大家参考下. 完成了如下功能: 1.显示餐厅提示语: 2.打印菜单(输出菜品分类:主食.甜点.饮料.主菜.开胃菜): 3.选择ID进入菜品分类子目录: 4.进行具体选择(可重复选择同一样菜): 5.返回上级菜单(进行其他分类的选择): 6.完成点餐: 7.打印点餐信息(菜名.单价.数量.价格). 代码如下: #include <stdio.h> void main_munu(){ //打印主菜单 char a[6

  • 基于C语言实现点餐系统

    这是一个很简单的点餐系统,用到的知识也不复杂,所以对新手学习还是很有作用,贴上来给大家参考下. 完成了如下功能: 1.显示餐厅提示语: 2.打印菜单(输出菜品分类:主食.甜点.饮料.主菜.开胃菜): 3.选择ID进入菜品分类子目录: 4.进行具体选择(可重复选择同一样菜): 5.返回上级菜单(进行其他分类的选择): 6.完成点餐: 7.打印点餐信息(菜名.单价.数量.价格). 代码如下: #include <stdio.h> void main_munu(){ //打印主菜单 char a[6

  • C语言实现餐饮管理与点餐系统

    本文实例为大家分享了C语言实现餐饮管理与点餐系统的具体代码,供大家参考,具体内容如下 一.项目简介 1.本程序实现了用户的点餐功能,共包含五类菜品:凉菜.热菜.锅仔.主食.饮品.还有查看所点菜品与结束等功能. 2.后台管理员:按a可进入,主页面并未提示. 3.合理运用getch函数,清屏与暂停函数,页面整洁清爽. 4.菜品与txt文件对应,可实现对程序与txt的同步增删改查等功能. 5.使用了C语言很多基础语法:函数.指针.结构体.文件等. 二.程序说明 程序运行后在主页面按a进入后台管理页面,

  • C语言实现点餐系统

    本文实例为大家分享了C语言点餐系统的具体代码,供大家参考,具体内容如下 #include<iostream> #include<fstream> #include<string> #include<conio.h> using namespace std; class shiwu { public: string mingzi; int price; shiwu(){} shiwu(string n,int p):mingzi(n),price(p){} }

  • C语言代码实现点餐系统

    本文实例为大家分享了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 { c

  • C语言实现餐厅点餐系统

    本文实例为大家分享了C语言实现餐厅点餐系统的具体代码,供大家参考,具体内容如下 这应该是比较简单的c语言程序了,因为学校c语言结课结的早,我当时才学到结构体指针,所以我就把我当时能运用的知识点全用在这个程序上了.虽说这个程序对当时的我来说是天花板,但是当我继续学习,我逐渐发现这个程序能升级的点实在是太多了.但我也一直没去完善.所以就硬着头皮把他发出来了. 代码涉及的知识点:顺序结构,选择分支结构,循环结构,数组,自定义函数,指针和结构体. 主要思路: 定义的一个结构体数组,包含了三个成员,分别是

  • C#实现在线点餐系统

    这个是C#大作业,写作业很用心,写了很久,所以留存一下.不是现在的是之前的的期末作业,现在才想着整理一下 实现功能: 1.商家登录:客户的登录.注册. 2.商家界面实现了对菜单的增.删.改.查:还有订单的查看.查询.结账(删除订单).查看已结账订单.关闭:退出系统. 3.用户界面实现了菜单的查看,查询,新建订单,选择餐桌,保存订单,增加菜品,退出. C#语言实现在线点餐系统,具体功能如下图 登录界面 using System; using System.Collections.Generic;

  • C++实现KFC点餐系统

    本文实例为大家分享了C++实现KFC点餐系统的具体代码,供大家参考,具体内容如下 一.题目名称:模拟肯德基收银系统 二.题目内容: 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动(自行设计或参考官网信息). 5.模拟打印小票的功能(写到文件中)

  • C语言实现简单餐饮管理与点餐系统

    本文实例为大家分享了C语言实现餐饮管理与点餐系统的具体代码,供大家参考,具体内容如下 /*     项目名称:南航餐饮管理系统     组员:梁文新,刘青林,刘艺,施瑞文(组长) */     //当注册用户名为:root,密码为:root的账号时,系统默认为初始管理员   //头文件  #include<stdio.h> #include<stdlib.h> #include<time.h> #include<conio.h> #include<wi

  • C语言实现的学生选课系统代码分享

    好久没玩过C语言了,上一次还是在大二的时候...废话不多说,这里有一个C语言实现的学生选课系统代码,分享给大家,具体如下: #include<stdio.h> #include<stdlib.h> int N1,N2,kk1,kk2,kk3; struct couse * head1; struct student * head2; struct couse//课程信息结构体 { int num1; char name1[20]; int score; int nelepeo; /

  • java实现可视化界面肯德基(KFC)点餐系统代码实例

    一.题目 使用java实现可视化KFC点餐系统. 二.题目分析 根据java中的用户图形界面包中的各个类设计界面.利用JFrame提供最大的容器,然后设计各个面板,各个面板中添加所需要的组件,本程序中需要对按钮组件添加监听者,当按下按钮之后做出相应的相应. 对于程序运行显示的第一个界面由一个继承于JFrame的类run类在构造函数中设计并通过函数setVisible(true)显示在界面上,界面上有一个按钮"点餐饮",当此按钮按下时触发响应函数,进入点餐界面,然后通过点击点餐界面各食物

随机推荐