用c语言编写一个饭店预定管理系统
时间: 2024-09-27 12:04:07 浏览: 34
在C语言中编写一个饭店预定管理系统需要考虑基本的数据结构和交互流程。由于C语言相对底层,我们可以使用数组、链表或者结构体来存储信息,如餐厅信息、菜品列表、预定记录等。以下是一个简化的示例程序框架:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义餐厅和菜品结构
typedef struct {
char name[50];
int capacity;
// 添加其他菜品信息
} Restaurant;
typedef struct {
Restaurant restaurant;
int reserved_seats;
// 添加其他预定信息
} Booking;
// 函数声明
void display_menu(Restaurant* restaurant);
void make_reservation(Booking* booking, Restaurant* restaurant);
void view_reservations();
int main() {
// 初始化餐厅数据
Restaurant restaurant = {"某家饭店", 100};
// 初始化预订数据
Booking bookings[10]; // 假设最多10个预定
// 主循环
while (1) {
printf("请选择操作:\n");
printf("1. 显示菜单\n");
printf("2. 预定座位\n");
printf("3. 查看预定\n");
printf("4. 退出\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
display_menu(&restaurant);
break;
case 2:
make_reservation(bookings, &restaurant);
break;
case 3:
view_reservations(bookings);
break;
case 4:
printf("感谢使用,再见!\n");
return 0;
default:
printf("无效选择,请重试。\n");
}
}
return 0;
}
// 示例函数
void display_menu(Restaurant* restaurant) {
printf("餐厅名称: %s, 座位总数: %d\n", restaurant->name, restaurant->capacity);
}
void make_reservation(Booking* booking, Restaurant* restaurant) {
int seat;
if (restaurant->reserved_seats < restaurant->capacity) {
printf("请输入想要预定的座位数:");
scanf("%d", &seat);
booking->restaurant = *restaurant;
booking->reserved_seats += seat;
} else {
printf("抱歉,座位已满,无法预定。\n");
}
}
void view_reservations(Booking bookings[]) {
for (int i = 0; i < sizeof(bookings) / sizeof(bookings[0]); i++) {
printf("预订信息: %s - 已预留座位: %d\n", bookings[i].restaurant.name, bookings[i].reserved_seats);
}
}
```
阅读全文