简单介绍:
物流信息管理系统:
- 可以实现物流记录的增删改查
- 对非法的物流录入记录进行识别 并进行提醒
功能介绍:
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语言简单的应用,部分功能做的不是很完善
- 界面未及时清理,有点乱
- 基础的模板可以进行一定的扩展,后续可引入链表或者与数据库进行联动
- 完整代码