这篇文章主要为大家详细介绍了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语言qsort()函数的使用方法详解 2023-04-26
- 我应该为我的项目使用相对包含路径,还是将包含目录放在包含路径上? 2022-10-30
- ubuntu下C/C++获取剩余内存 2023-09-18
- C语言详解float类型在内存中的存储方式 2023-03-27
- 详解C语言中sizeof如何在自定义函数中正常工作 2023-04-09
- Qt计时器使用方法详解 2023-05-30
- C++ 数据结构超详细讲解顺序表 2023-03-25
- c++ const 成员函数,返回一个 const 指针.但是返回的指针是什么类型的 const? 2022-10-11
- Easyx实现扫雷游戏 2023-02-06
- C语言手把手带你掌握带头双向循环链表 2023-04-03
