【C语言】 物流信息管理系统

该系统使用C语言编写,提供物流记录的查询、添加、删除和显示所有记录的功能。在添加记录时有数据合法性检查,删除记录则按物流编码定位并移除。虽然界面简单,但基础框架可扩展,未来可能集成链表或数据库。
摘要由CSDN通过智能技术生成

简单介绍:

物流信息管理系统:

  • 可以实现物流记录的增删改查
  • 对非法的物流录入记录进行识别 并进行提醒

功能介绍:

1、主管理界面
主管理界面
进入程序时会进入管理界面,分别有5个功能记录查询、添加\删除记录、显示所有记录、退出,可以随意输入任意字符,内部有保护机制。主逻辑如下代码所示

void showMenu() {
    printf("1. Query record\n");
    printf("2. Add record\n");
    printf("3. Delete record\n");
    printf("4. Show all records\n");
    printf("5. Exit\n");
}

2、记录查询
用于查询已经录入的物流数据记录,通过遍历库内所有数据记录进行对比,确定待查信息的ID。
记录查询

主逻辑如下

void queryRecord(char *trackingNumber) {
    for (int i = 0; i < recordCount; i++) {
        if (strcmp(records[i].trackingNumber, trackingNumber) == 0) {
            printf("Status: %s\n", records[i].status);
            return;
        }
    }
    printf("Record not found.\n");
}

3、 添加记录
录入之前会检测输入数据是否合法,非法数据会提示错误并拒绝录入。
录入记录

主逻辑如下所示

void addRecordMenu() {
    char trackingNumber[20];
    char status[50];
    printf("Enter tracking number: ");
    scanf("%s", trackingNumber);
    if (!isValidTrackingNumber(trackingNumber)) {
        printf("Invalid tracking number.\n");
        return;
    }
    printf("Enter status: ");
    scanf("%s", status);
    addRecord(trackingNumber, status);
}

4、 删除记录
找到对应的物流代码,删除对应的信息,信息记录对应减一。主逻辑如下
记录删除

void deleteRecord(char *trackingNumber) {
    for (int i = 0; i < recordCount; i++) {
        if (strcmp(records[i].trackingNumber, trackingNumber) == 0) {
            for (int j = i; j < recordCount - 1; j++) {
                records[j] = records[j + 1];
            }
            recordCount--;
            printf("Record deleted.\n");
            return;
        }
    }
    printf("Record not found.\n");
}

5、退出
选择该功能后退出程序。

int main() {
    int choice;
    while (1) {
        showMenu();
        printf("Enter your choice: ");
        scanf("%d", &choice);
        switch (choice) {
            case 1:
                queryRecordMenu();
                break;
            case 2:
                addRecordMenu();
                break;
            case 3:
                deleteRecordMenu();
                break;
            case 4:
                showAllRecords();
                break;
            case 5:
                return 0;
            default:
                printf("Invalid choice.\n");
        }
    }

    return 0;
}

总结:

  • 做了C语言简单的应用,部分功能做的不是很完善
  • 界面未及时清理,有点乱
  • 基础的模板可以进行一定的扩展,后续可引入链表或者与数据库进行联动
  • 完整代码
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱神的箭呵呵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值