快递暂存系统
要快递信息:
编号
姓名
手机号
快递状态
实现功能:1.模拟快递管理员实现用户存快递、取快递、查询等功能 2.完成对操作进行记录,并形成文档
如果有帮助到你,请采纳一下~
#include <stdio.h>
#include <string.h>
// 定义最大快递数量
#define MAX_EXPRESS 100
// 定义快递结构体
struct express {
int id;
char name[20];
char phone[20];
int status;
};
// 声明函数
void store_express(struct express express_list[], int *count);
void retrieve_express(struct express express_list[], int *count);
void query_express(struct express express_list[], int *count);
int main() {
struct express express_list[MAX_EXPRESS]; // 定义快递数组
int count = 0; // 记录快递数量
// 循环读取用户输入的命令
while (1) {
printf("\n请输入数字选择功能:\n");
printf("1. 存快递\n");
printf("2. 取快递\n");
printf("3. 查询快递\n");
printf("0. 退出程序\n");
int option;
scanf("%d", &option);
switch (option) {
case 1:
store_express(express_list, &count);
break;
case 2:
retrieve_express(express_list, &count);
break;
case 3:
query_express(express_list, &count);
break;
case 0:
printf("程序已退出\n");
return 0;
default:
printf("请输入正确的数字\n");
}
}
return 0;
}
// 存快递函数
void store_express(struct express express_list[], int *count) {
if (*count == MAX_EXPRESS) {
printf("快递柜已满,无法存储快递\n");
return;
}
struct express new_express;
printf("请输入快递信息:\n");
printf("编号:");
scanf("%d", &new_express.id);
printf("姓名:");
scanf("%s", new_express.name);
printf("手机号:");
scanf("%s", new_express.phone);
new_express.status = 1; // 快递状态为已存储
express_list[*count] = new_express;
printf("存储成功\n");
*count += 1;
}
// 取快递函数
void retrieve_express(struct express express_list[], int *count) {
int id;
printf("请输入快递编号:");
scanf("%d", &id);
int found = 0;
for (int i = 0; i < *count; i++) {
if (express_list[i].id == id) {
if (express_list[i].status == 1) {
printf("快递已取出,快递信息如下:\n");
printf("姓名:%s\n", express_list[i].name);
printf("手机号:%s\n", express_list[i].phone);
express_list[i].status = 0; // 快递状态为已取出
found = 1;
break;
} else {
printf("该快递已被取出,请勿重复取出\n");
可以查看这篇文章 原理 是一样的https://blog.csdn.net/qq_45410446/article/details/129023670