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

Python013

C语言课程设计一个快递管理系统,第1张

设该快递公司有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

}

#include<stdio.h>

int main(void)

{

int x,n

float y,p

scanf("%d,%f",&x,&y)

n=(int)y

if(x>=0&&x<=4)

if(y<=1&&y>0)

y=1.00

if(x==0||x==1)

p=10

else

p=15

if(y>1)

if(y-n>0)

y=(int)(y+1)

if(x==0)

p=10+(y-1)*3

if(x==1)

p=10+(y-1)*4

if(x==2)

p=15+(y-1)*5

if(x==3)

p=15+(y-1)*6.5

if(x==4)

p=15+(y-1)*10

else

if(x==0)

p=10+(y-1)*3

if(x==1)

p=10+(y-1)*4

if(x==2)

p=15+(y-1)*5

if(x==3)

p=15+(y-1)*6.5

if(x==4)

p=15+(y-1)*10

if(x<0||x>4)

p=0&printf("Error in Area\n")

printf("Price: %.2f\n",p)

return 0

}

主要选择结构有:if最常见的选择结构 单一的if语句有人也称为挖坑 可将程序分为两路 没有满足则不执行 else 与if 合用 可将程序分为三路 if(条件)(语句一) else(语句二)都没有满足则不执行 else if 与if合用 将程序分为若干路 if(条件)(语句一)else if(条件)(语句二)else if(条件)...... switch case 条件选择 switch(条件列表标识符)case:(语句)breakcase(语句)break...... default(语句) 每一句后要加break 不然会全都执行 default 表示如果都不满足则执行此语句 不同的语句要用在恰当的时候楼主这些语句多试试就会有自己的看法 编程要编出自己的风格