一、项目要求
(1)所包含知识点:
结构体/类、链表、树、队列、查找、排序、递归、函数、文件操作、键盘操作等。
(2)项目描述
设计一个自动点餐系统,该系统的主要功能是管理员店家进行菜单的增删改查、结账等功能;就餐人进行查看菜单、点餐以及最后的结账等功能。
(3)功能实现
- 程序主函数:系统入口,监控程序运行。
- 系统界面要求:接收键盘输入,根据跳转相应界面或输出错误信息,可以自行设计欢迎、欢送等界面,使系统界面更美观、友好。
- 设置两个用户登录模式,一个是管理员店家、另一个是就餐者。
- 管理员对菜单进行增删改查,热推菜、结账等功能
- 就餐者查看菜单、点菜、结账等功能
- 退出功能:在分支服务界面选择退出时返回上一级界面,在主界面退出时直接退出程序。
二.项目实现
对于项目的实现我用控制台端口展现。
(1)头文件
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
#include<unistd.h>
typedef struct food
{
int bianma;
char name[10001];
float price;
int hot;
} dish;
struct desk
{
int seat;
int people;
int counts[1001];//个人菜单的里的编码
int sl;//点菜的数量
float sum;
int f;
} custmer[200];
(1)在loads函数中确定是管理员登录还是用户登录:
void loads()
{
system("cls");
char load;
printf("\t\t\t\t\t************* 请选择登录方式 **************\n");
printf("\t\t\t\t\t******** ********\n");
printf("\t\t\t\t\t* 1、管理员 *\n");
printf("\t\t\t\t\t* 2、用户 *\n");
printf("\t\t\t\t\t* 3、退出 *\n");
printf("\t\t\t\t\t**************************************\n");
printf("请输入你的选择:\n");
load=getchar();
switch(load)
{
case '1':
administrator();
break;
case '2':
getchar();
user();
break;
case '3':
return ;
default:
printf("没有这个选项,请重新输入:\n");
getchar();
loads();
}
}
2.目前只做了管理员的界面
void administrator()
{
system("cls");
char s1[1001];
int ks=3;
printf("请输入管理员密码:\n");
scanf("%s",s1);
printf("%s\n",s1);
ks--;
while(strcmp(s1,s)&&ks)
{
printf("输入错误,请重新输入\n");
scanf("%s",s1);
printf("%s\n",s1);
ks--;
}
if(ks>0)
{
getchar();
change();
}
else
{
printf("密码输入错误,你不是管理员,请进行用户登录\n");
getchar();
loads();
}
}
目前在想着将食物的名字用一个文件进行保存,然后对其进行增删查改。再用一个文件来保存顾客选中的菜名和价格,好让顾客查看。
今天就只写了这么一些,我先去熟悉熟悉文件,然后进行融合。再对这些进行修缮,目前只是个大概。
该项目是一个使用C语言实现的自动点餐系统,包括管理员和用户两种登录模式。管理员可进行菜单管理,而用户能查看并点选菜品。系统设计了键盘输入交互界面,并计划利用文件存储食物信息和顾客订单。目前实现了管理员登录功能,下一步将集成文件操作来处理菜单数据和顾客订单。
项目&spm=1001.2101.3001.5002&articleId=130188605&d=1&t=3&u=3312b4b0ac4444868ead9d1f200b3d43)
9732

被折叠的 条评论
为什么被折叠?



