C语言课程设计一个快递管理系统

这个系统需要实现的功能就是:假如我是快递公司的,上面有快递来了,假如我把一件手机尾号为7168的包裹放在了货架的第7行第三列,然后我把这个信息输入这个系统里面,等这位顾客... 这个系统需要实现的功能就是:假如我是快递公司的,上面有快递来了,假如我把一件手机尾号为7168的包裹放在了货架的第7行第三列,然后我把这个信息输入这个系统里面,等这位顾客来了之后只需要报上手机尾号,然后就能通过这个系统很快找到包裹的位置。这是我们的课程设计,要求用C语言编写,求大神帮忙 展开
 我来答
xoaxa
2015-06-16 · TA获得超过8607个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3415万
展开全部

设该快递公司有N个同规格的存货柜(编号为1 -- N),柜子共有ROW层(从上到下编号为1 -- ROW),每层有COLMN个格子(从左往右编号为1 -- COLNM)。假定手机尾号为7168的客户的快件存放在第二个柜子的第五层、第三个格子中,则输入信息为2 5 3 7168,若该格子中有物品,则显示提示息,并要求管理员重新输入数据,直到存放成功为止。取物品时,只需输入7168即可,如找到了则显示存放位置(柜子编号、层编号和格子编号),否则提示管理员未找到该客户的快件。

#include <stdio.h>
#include <conio.h>  // for _getch()
#include <stdlib.h> // for system()
#include <memory.h> // for memset()

const int N = 13;
const int ROW = 10;
const int COLMN = 10;
const int MAXSIZE = 15;

int deposit(int a[][ROW][COLMN],int cabinet,int row,int colmn,int client) {
if(cabinet < 1 || cabinet > N) {
printf("对不起,没有编号为:%d的柜子。\n",cabinet);
return 0;
}
if(row < 1 || row > ROW) {
printf("对不起,%d柜没有%d层。\n",cabinet,row);
return 0;
}
if(colmn < 1 || colmn > COLMN) {
printf("对不起,%d柜%d层没有%格。\n",cabinet,row,colmn);
return 0;
}
a[cabinet - 1][row - 1][colmn - 1] = client;
return 1;
}

int draw(int a[][ROW][COLMN],int client) {
int i,j,k;
for(i = 0; i < N; ++i) {
for(j = 0; j < ROW; ++j) {
for(k = 0; k < COLMN; ++k) {
if(a[i][j][k]) {
printf("存放位置:%d柜 第%d层 第%d格\n",i + 1, j + 1, k + 1);
a[i][j][k] = 0;
return 1;
}
}
}
}
printf("对不起,没有找到手机尾号为%d客户的快件。\n");
return 0;
}

int main() {
int cabinet,row,colmn,client;
int op;
FILE *fp;
char filename[] = "storeroom.bin";
int storeroom[N][ROW][COLMN];
if((fp = fopen(filename,"rb")) == NULL) {
memset(storeroom,0,sizeof(storeroom));
fp = fopen(filename,"wb");
}
else {
fread(storeroom,sizeof(storeroom),1,fp);
fclose(fp);
fp = fopen(filename,"wb");
}
do {
printf("┌─────────────────┐\n");
printf("│          快递管理程序            │\n");
printf("├─────────────────┤\n");
printf("│          1、快件存放             │\n");
printf("│          2、快件领取             │\n");
printf("├─────────────────┤\n");
printf("│          0、退出                 │\n");
printf("└─────────────────┘\n");
printf("请选择:");
op = _getch();
if(op < '0' || op > '2') {
system("cls");
continue;
}
printf("%c\n",op);
fflush(stdin);
switch(op - '0') {
case 1 : printf("柜 层 格 尾号:");
scanf("%d%d%d%d",&cabinet,&row,&colmn,&client);
deposit(storeroom,cabinet,row,colmn,client);
break;
case 2 : printf("手机尾号:");scanf("%d",&client);
draw(storeroom,client);
break;
case 0 : break;
default : printf("错误的选择。\n"); break;
}
}while(op - '0');
fwrite(storeroom,sizeof(storeroom),1,fp);
fclose(fp);
return 0;
}
慧咨环球
2024-02-09 广告
CargoWise 是一款基于云技术的全球货代管理系统,通过单个数据库以及深度集成的设计,满足中小型货运代理企业及大型跨国供应链服务提供商的多样化需求。CargoWise 提供30种语言版本,帮助客户实现多用户、多功能、多币种、跨地域合规高... 点击进入详情页
本回答由慧咨环球提供
百度网友e1b9539c0c
2015-06-16 · TA获得超过734个赞
知道大有可为答主
回答量:2241
采纳率:33%
帮助的人:728万
展开全部
发私信给你了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
归天宇wB
2015-06-16
知道答主
回答量:91
采纳率:0%
帮助的人:18.5万
展开全部
很愿意帮助你完成不免费接受吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式