c语言用文件操作实现餐馆系统
时间: 2024-05-05 12:21:13 浏览: 6
实现餐馆系统可以考虑使用文件操作来保存菜单和订单信息。
1. 菜单信息的保存:
先创建一个文本文件,每行记录一个菜品的信息,包括菜品名称、价格、描述等。可以使用格式化输入输出函数 fscanf 和 fprintf 来读写文件。
示例代码:
```c
#include <stdio.h>
struct Dish {
char name[20];
float price;
char description[100];
};
int main() {
FILE *fp;
struct Dish dish;
char filename[30] = "menu.txt";
fp = fopen(filename, "w");
if (fp == NULL) {
printf("Failed to open file %s", filename);
return 1;
}
// 写入菜单信息
fprintf(fp, "name\tprice\tdescription\n");
fprintf(fp, "dish1\t10.0\tThis is dish 1\n");
fprintf(fp, "dish2\t20.0\tThis is dish 2\n");
fclose(fp);
return 0;
}
```
2. 订单信息的保存:
同样地,可以创建一个文本文件来保存订单信息,每行记录一个订单的信息,包括顾客姓名、菜品名称、数量、总价等。
示例代码:
```c
#include <stdio.h>
struct Order {
char customer[20];
char dish[20];
int quantity;
float total_price;
};
int main() {
FILE *fp;
struct Order order;
char filename[30] = "orders.txt";
fp = fopen(filename, "a");
if (fp == NULL) {
printf("Failed to open file %s", filename);
return 1;
}
// 写入订单信息
strcpy(order.customer, "John");
strcpy(order.dish, "dish1");
order.quantity = 2;
order.total_price = 20.0;
fprintf(fp, "%s\t%s\t%d\t%.2f\n", order.customer, order.dish, order.quantity, order.total_price);
fclose(fp);
return 0;
}
```
以上是基本的文件操作实现,但实际应用中还需要考虑异常情况的处理和数据的安全性等问题。