2201_75623002 2023-02-28 22:02 采纳率: 50%
浏览 33
已结题

快递暂存系统用c语言怎么做

快递暂存系统
要快递信息:
编号
姓名
手机号
快递状态
实现功能:1.模拟快递管理员实现用户存快递、取快递、查询等功能 2.完成对操作进行记录,并形成文档

  • 写回答

2条回答 默认 最新

  • Web Security Loop 2023-03-01 13:33
    关注

    如果有帮助到你,请采纳一下~

    #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");
                   
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 创建了问题 2月28日