java收银柜台收款程序_C语言编写的收银台结算程序。

展开全部

//以下是参考代码有相似结构,数据结构自己设计一下。

//如果没参考价值62616964757a686964616fe58685e5aeb931333363386232,手下留情,别点不采纳。

#define MAXPARKINGPOS 100

#define MAXPRICETYPE 3

#define MAXLINE 4096

struct detail

{

char num[MAXLINE];

char name[MAXLINE];

double pricePerHour;

time_t start;

time_t end;

double period;

double cost;

};

static int currentParkingNum = 0;

static struct detail detailBuf[MAXPARKINGPOS];

static double priceBuf[MAXPRICETYPE] = {11.0,22.0,33.0};

int main(void) {

char buf[MAXLINE];

struct detail *myParking;

int iChoice,leavingIndex,i,numEexisted;

struct tm *begin,*end;

while(true) {

selectService:

printf("Service type,what is your choice?\n1.park\n2.leave\n3.exit\n");

gets(buf);

if(strcmp(buf,"3") == 0) {

return 0;

}

if(strcmp(buf,"1") == 0) {

//park

if(currentParkingNum == MAXPARKINGPOS) {

printf("Sorry,not empty!\n\n");

continue;

}

myParking = detailBuf+currentParkingNum;

printf("your name:\n");

gets(myParking->name);

printf("your parking num:\n");

gets(myParking->num);

numEexisted = 0;

for(i=0;i

if(strcmp(detailBuf[i].num,myParking->num) == 0) {

numEexisted =1;

break;

}

}

if(numEexisted != 0) {

printf("The car %s is in\n\n",myParking->num);

goto selectService;

}

selectPrice:

printf("Service cost,what is your choice?\n");

for(int i=0;i 

printf("%d.$%.2f per hour\n",i+1,priceBuf[i]);

}

gets(buf);

iChoice = atoi(buf);

if(!(iChoice >= 1 && iChoice <=MAXPRICETYPE)) {

printf("Your choice is incorrect!\n\n");

goto selectPrice;

}

myParking->pricePerHour=priceBuf[iChoice-1];

time(&myParking->start);

currentParkingNum++;

printf("Parcking ok!\n\n");

}else if(strcmp(buf,"2") == 0) {

//leave

printf("your parking num:\n");

gets(buf);

myParking = NULL;

for(i=0;i

if(strcmp(detailBuf[i].num,buf) == 0) {

myParking = &detailBuf[i];

leavingIndex = i;

break;

}

}

if(myParking ==NULL) {

printf("Cannot find your car!\n\n");

continue;

}

myParking->end = time(&myParking->end);

myParking->period = difftime(myParking->end,myParking->start);

myParking->cost= myParking->period/3600.0*myParking->pricePerHour;

printf("****** Cost Details ******\n");

printf("name:%s\n",myParking->name);

printf("number:%s\n",myParking->num);

printf("price:%.2f\n",myParking->pricePerHour);

begin = localtime(&myParking->start);

strftime(buf,sizeof(buf),"%Y-%m-%d %H:%M:%S",begin);

printf("begin:%s\n",buf);

end = localtime(&myParking->end);

strftime(buf,sizeof(buf),"%Y-%m-%d %H:%M:%S",end);

printf("end:%s\n",buf);

printf("period:%.2f hour(s)\n",myParking->period/3600.0);

printf("cost:$%.2f\n",myParking->cost);

printf("service:$%.2f per hour\n",myParking->pricePerHour);

for(i = leavingIndex; i 

if(i+1 

detailBuf[i]=detailBuf[i+1];

}

}

detailBuf[currentParkingNum-1].cost=0.0;

detailBuf[currentParkingNum-1].end=0;

detailBuf[currentParkingNum-1].name[0]='\0';

detailBuf[currentParkingNum-1].num[0]='\0';

detailBuf[currentParkingNum-1].period=0.0;

detailBuf[currentParkingNum-1].pricePerHour=0.0;

detailBuf[currentParkingNum-1].start=0;

currentParkingNum--;

printf("Leaving ok!\n\n");

}else{

printf("Your choice is incorrect!\n\n");

continue;

}

}

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值