------
---------
--->1.客户端
├── client--->客户端执行文件
├── client.c--->客户端主函数文件
├── client_func.c--->客户端主函数实现文件
├── client.h--->客户端头文件
├── client_rev.c--->客户端接收子线程实现文件--->2.服务端
├── server--->服务端执行文件
├── server.c--->服务端主函数文件
├── server_func.c--->服务端主函数实现文件
├── server.h--->服务端头文件
├── server_manage.c--->服务端管理子线程实现文件
└── server_rev.c--->服务端接收子线程实现文件--->3.其它文件
├── database.txt--->数据库操作临时文件
├── debug.h--->代码调试头文件
├── diet.db--->数据库文件
├── kernel_list.h--->内核链表头文件
├── Makefile--->Makefile文件--->4.数据库结构--->4.1,select * fromstore;(库存表,dishid是主键)----------------------------------------------------------------dishid|dishname |num |price1 |宫爆鸡丁 |65 |20
2 |红烧全鱼 |31 |30
3 |日本豆腐 |42 |10
4 |香菇炒鸡 |45 |40
5 |乌江鱼片 |50 |50
6 |农家炒肉 |50 |25
7 |土豆回锅 |50 |12
55 |黄瓜炒肉 |55 |55
----------------------------------------------------------------
--->4.2,select * fromorder_table;(订单表)----------------------------------------------------------------expense_time|dishname | tableid |dishid |price |state
Aug10 21:09 |红烧全鱼 | 0 |2 |30 |0Aug10 21:09 |宫爆鸡丁 | 1 |1 |20 |0Aug10 21:13 |宫爆鸡丁 | 1 |1 |20 |0Aug10 21:13 |红烧全鱼 | 1 |2 |30 |0Aug10 21:13 |日本豆腐 | 0 |3 |10 |0
----------------------------------------------------------------
--->5.消息类型enum msg_type {
order_msg= 2, checkout_msg,prompt_msg};--->6.订单表结构体
typedefstruct order_table{int tableid;
int dishid;
char dishname[20];
int price;
int fd;
char time[20];
int state;
struct list_head list; }order_table;--->7.通用消息结构
typedefstruct msg_t {int type;
int fd;
char buf[BUFFER_LEN]; order_table order;}msg;--->8.全局座位表int seat[SEAT_NUM];
--->9.客户端函数说明extern int client_menu();
extern void show_store();
extern void send_order(int cli_fd);
extern void send_checkout(int cli_fd);
extern void gettime(char *s);//获取系统当前时间
extern void view_order(int client_tableid);
extern void *rcv_pthread(void *arg);
extern void message_from_server(msg rcv_msg);
extern void rcv_checkout(msg rcv_msg);
--->10.服务端函数说明extern void init_queue(p_order *head);
extern bool seat_handle(int cli_fd);
extern void show_store();
extern void *srv_manage();
extern int manage_menu();
extern void tra_order(p_order head);
extern void store_manage();
extern void deal_with_order(p_order head);
extern void update_diet();
extern void add_diet();
extern void check_out();
extern void *rcv_pthread(void *arg);
extern void reply_order(msg rcv_msg,int fd,p_order head);
extern void reply_checkout(msg rcv_msg,int fd);
extern void check_order(msg rcv_msg, p_order head);



