这篇文章主要为大家详细介绍了C语言实现餐饮管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了C语言实现餐饮管理系统的具体代码,供大家参考,具体内容如下
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <windows.h>
#define N sizeof(user)
#define M sizeof(table)
#define T sizeof(order)
#define S sizeof(menu)
typedef struct User{
char username[12];//账号
char password[18];//密码
int vip;//1为会员 0不是
int adm;//administrator同上
//或将以上的采用数据域的方式存储
struct User* next;
}user; //注意初始化 ,可以写一个初始化函数 借鉴7月9号的笔记中的“初始化”
typedef struct Menu{
int num;//1~10为热菜 11~20为冷菜 21~25为饮料
char name[20];
int price;
struct Menu* next;
}menu;
typedef struct Table{
int number;
int is_blank;
int peoplenum;
struct Order* ordert;//接该桌的订单的头结点
int price;//该桌的总价
struct Table* next;
}table;
typedef struct Order{
int number;//菜的编号
char name[20];
int copies;//菜的份数
int price;
int xiaoji;
struct Order* next;
}order;
//以下为自定义函数
void welcome();
int ORDER(order* head);//点菜函数
//void reg();//注册函数
void login();
void logon();
void show();//显示菜单函数
void client();//客户函数
void look_amend();//查看修改函数
void add();//加菜函数
void cancel();//取消菜函数
int priceall();//计算总价函数
void getpassword(char password[18],char againpassword[18]);
int is_password_same(char password[18],char againpassword[18]);
void save_user(user* p);
menu* ffmenuhot();
menu* ffmenucold();
menu* ffmenudrink();
table* fftable();
void resave_table(table* head);
table* fftable()
{
FILE *fp1; //文件指针
int n = 0;
table* head = NULL;
table* q;
table* p;
//system("md E:\\canyin\\table");
fp1 = fopen("E:\\canyin\\table\\table.txt","a+"); //以只读的方式打开文件
if(fp1 == NULL)
{
printf("文件打开失败\n");
//getchar();
//exit(0);
}
else
{
while(!feof(fp1)) //判断文件位置标志是否移动到文件末尾
{
n ++;
p = (table*)malloc(sizeof(table)); //向内存申请一段空间
//fread(p, N, 1, fp1); //将fp所指向的文件中的内容赋给p
fscanf(fp1,"%d %d %d %d %d", &p->number , &p->is_blank , &p->peoplenum , &p->price , &p->ordert );
if(n == 1)
{
head = p;
q = p;
}
else //创建链表
{
q->next = p;
q = p;
}
}
q->next = NULL;
}
fclose(fp1); //关闭文件
return head; //返回头指针
}
void resave_table(table* head)
{
table* p;
p = head;
//system("md E:\\canyin\\table");
FILE *file; //文件指针
file = fopen("E:\\canyin\\table\\table.txt","wb+"); //以追加的方式打开文件
if(file == NULL)
{
printf("文件打开失败\n");
}
///if(fwrite(p, N, 1, fp)!=1) //将p所指向的1个大小为N的数据结构写入fp所指向的文件中
//{
//printf("文件写入失败\n");
while(p->next != NULL)
{
fprintf( file ,"%d %d %d %d %d \n", p->number, p->is_blank , p->peoplenum , p->price , p->ordert);
p=p->next;
}
/
织梦狗教程
本文标题为:C语言实现餐饮管理系统


基础教程推荐
猜你喜欢
- 带你深度走入C语言取整以及4种函数 2022-09-17
- centos 7 vscode cmake 编译c++工程 2023-09-17
- 全面了解C语言 static 关键字 2023-03-26
- C语言实现宾馆管理系统课程设计 2023-03-13
- C语言 详解字符串基础 2023-03-27
- [C语言]二叉搜索树 2023-09-07
- C语言编程C++旋转字符操作串示例详解 2022-11-20
- [c语言-函数]不定量参数 2023-09-08
- C++实战之二进制数据处理与封装 2023-05-29
- C++实现ETW进行进程变动监控详解 2023-05-15