C语言物流管理运输系统
本系统主要有:基本信息、仓储管理、配送管理、运输管理等基本模块组成。 对于各系统模块的功能,具体体现如下: 基本信息:提供已完成的物流信息和运输在途的运单的信息,并提供查询具体信息的功能。 仓储管理:负责进货,并可调整库存; 配送管理:安排配送货物的始发地和接收地等相关信息 运输管理:为一趟配送安排运输路线以及所用交通工具
部分代码
/********************************************
* 物流管理运输系统 vC.A.0
*********************************************/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <time.h>
/*仓储结构体*/
typedef struct _tRepository {
char id[128]; /*编号*/
char name[256]; /*货品*/
int count; /*库存*/
struct _tRepository* next; /*下一个节点*/
} Repository, * pRepository;
/*运单浏览菜单*/
void browseExpresssOption(pExpress head) {
int option;
while (1) {
clearScreen();
printf(" ┌-------------------------------┐\n");
printf(" #运单浏览#\n");
printf("\n");
printf(" 【1】 运单清单\n");
printf(" 【2】 按编号查询\n");
printf(" 【3】 按货品查询\n");
printf(" 【4】 按始发地查询\n");
printf(" 【5】 按数量量查询\n");
printf(" 【0】 返回\n");
printf("\n");
printf(" └-------------------------------┘\n");
printf("\n");
scanf("%d", &option);
switch (option) {
case 1:
showExpressListOption(head);
break;
case 2:
searchExpressByIDOption(head);
break;
case 3:
searchExpressByNameOption(head);
break;
case 4:
searchExpressByStartOption(head);
break;
case 5:
searchExpressByCountOption(head);
break;
case 0:
return;
}
}
}
/*运单管理菜单*/
void menuExpress(pExpress* express_head, pRepository* repository_head) {
while (1) {
int option;
clearScreen();
printf(" ┌-------------------------------┐\n");
printf(" #运单管理#\n");
printf("\n");
printf(" 【1】 浏览运单\n");
printf(" 【2】 添加运单\n");
printf(" 【3】 删除运单\n");
printf(" 【0】 返回\n");
printf("\n");
printf(" └-------------------------------┘\n");
printf(" 请选择:");
scanf("%d", &option);
if (option == 0) break;
switch (option) {
case 1:
browseExpresssOption(*express_head);
break;
case 2:
createExpressOption(express_head, repository_head);
break;
case 3:
removeExpressOption(express_head);
break;
}
}
}
/*配送管理菜单*/
void menuDistribution(pExpress* express_head, pRepository* repository_head) {
while (1) {
int option;
clearScreen();
printf(" ┌-------------------------------┐\n");
printf(" #配送管理#\n");
printf("\n");
printf(" 【1】 配送\n");
printf(" 【0】 返回\n");
printf("\n");
printf(" └-------------------------------┘\n");
printf(" 请选择:");
scanf("%d", &option);
if (option == 0) break;
switch (option) {
case 1:
setExpressDistributionOption(express_head);
break;
}
}
}
/*运输管理菜单*/
void menuTransport(pExpress* express_head, pRepository* repository_head) {
while (1) {
int option;
clearScreen();
printf(" ┌-------------------------------┐\n");
printf(" #运输管理#\n");
printf("\n");
printf(" 【1】 运输\n");
printf(" 【2】 运单状态\n");
printf(" 【0】 返回\n");
printf("\n");
printf(" └-------------------------------┘\n");
printf(" 请选择:");
scanf("%d", &option);
if (option == 0) break;
switch (option) {
case 1:
setExpressTransportationOption(express_head);
break;
case 2:
setExpressStatusOption(express_head);
break;
}
}
}
/*登录*/
void login() {
char id[128] = { 0 };
char password[128] = { 0 };
clearScreen();
printf(" ┌-------------------------------┐\n");
printf(" #物流管理运输系统#\n");
printf(" └-------------------------------┘\n");
printf(" 账号:");
scanf("%s", id);
printf(" 密码:");
scanf("%s", password);
if (strcmp(id, "admin") == 0 && strcmp(password, "123456") == 0) {
} else {
printf("账号或者密码错误!\n");
exit(0);
}
}
/*主菜单*/
void menuMain(pExpress* express_head, pRepository* repository_head) {
login();
while (1) {
int option;
clearScreen();
printf(" ┌-------------------------------┐\n");
printf(" #物流管理运输系统#\n");
printf("\n");
printf(" 【1】 运单管理\n");
printf(" 【2】 仓储管理\n");
printf(" 【3】 配送管理\n");
printf(" 【4】 运输管理\n");
printf(" 【0】 退出系统\n");
printf("\n");
printf(" └-------------------------------┘\n");
printf(" 请选择:");
scanf("%d", &option);
if (option == 0) break;
switch (option) {
case 1:
menuExpress(express_head, repository_head);
break;
case 2:
menuRepository(repository_head);
break;
case 3:
menuDistribution(express_head, repository_head);
break;
case 4:
menuTransport(express_head, repository_head);
break;
}
}
}
int main() {
/*从文件中加载运单数据*/
pExpress express_head = loadExpressFile();
/*从文件中加载仓储数据*/
pRepository repository_head = loadRepositoryFile();
/*进入主菜单*/
menuMain(&express_head, &repository_head);
/*清理运单列表*/
clearExpressList(express_head);
/*清理仓储列表*/
clearRepositoryList(repository_head);
return 0;
}
源码下载
链接:https://pan.baidu.com/s/19CEk2u4Ui8Sjkg_anNrPOQ?pwd=1111 提取码:1111
|