自动售货机系统源代码Word下载.docx
《自动售货机系统源代码Word下载.docx》由会员分享,可在线阅读,更多相关《自动售货机系统源代码Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
i<
3;
++i){
tj[i].jrxl=0;
tj[i].jrzje=0;
}
voidmain()
{
//初始化
init();
intop=0;
//读取商品信息
loadGoodsFrom);
charc=ChooseJieMian();
while(true)
{
system("
cls"
);
if(c=='
1'
){
c=SaleCenter();
}elseif(c=='
2'
op=KouLing();
if(op==1){
//进入管理界面
c=ManageCenter();
//system("
pause"
}
elseif(op==0){
//进去销售界面
c=SaleCenter();
}
}
//----------------------------------------------------
/**
*@return1销售界面2管理界面
*/
charSaleCenter()
charstate='
N'
;
intSum=0;
charPro='
d'
//printf("
\n********************************\n"
while(true)
state='
Sum=0;
while(!
(Pro=='
c'
||Pro=='
a'
b'
q'
))
{
system("
printf("
\n\t*******************************************"
\n\t*********顾客您好,请选择商品**************\n"
\n\t·
a·
商品%s·
b·
c·
q·
管理\n"
goods[0].name,goods[1].name,goods[2].name);
\n\t-%d--%d--%d-(单位:
件)"
goods[0].totalCount,goods[1].totalCount,goods[2].totalCount);
\n\t*******************************************\n\t\t"
Pro=getchar();
if(Pro=='
)
break;
switch(Pro)
{
case'
:
{
Sum=Sum+2;
printf("
商品A价格为%d,请投币·
"
Sum);
}
break;
A'
Sum=Sum+3;
商品B价格为%d,请投币·
B'
Sum=Sum+6;
商品C价格为%d,请投币·
C'
break;
default:
\n\t输入物品有误!
!
\n"
break;
};
intMoney;
boolst=false;
while(!
st)
//printf("
\n输入金额:
scanf("
%d"
&
Money);
getchar();
st=GetCharge(Sum,Money);
};
Pro='
system("
PAUSE"
return'
boolGetCharge(intSum,intMoney)
intChargeNum[4];
for(inti=0;
i<
4;
i++)
ChargeNum[i]=0;
if(Sum>
Money)
printf("
所投金额不足支付所选商品,请重新投币·
returnfalse;
elseif(Sum==Money)
所投金额等于商品价格,请在商品出口处拿取商品·
//销售成功的操作
if(Sum==goods[0].price){
goods[0].totalCount--;
Sale();
tj[0].jrxl++;
tj[0].jrzje+=Sum;
}elseif(Sum==goods[1].price){
goods[1].totalCount--;
tj[1].jrxl++;
tj[1].jrzje+=Sum;
}elseif(Sum==goods[2].price){
tj[2].jrxl++;
tj[2].jrzje+=Sum;
returntrue;
else
intResult=Money-Sum;
Getsmalcharge(Result,ChargeNum);
所投金额大于商品价格,为您找零%d元·
Result);
\n\t\t-壹元面值%d张-\n"
ChargeNum[0]);
\n\t\t-贰元面值%d张-\n"
ChargeNum[1]);
\n\t\t-伍元面值%d张-\n"
ChargeNum[2]);
\n\t\t-拾元面值%d张-\n"
ChargeNum[3]);
请在商品出口处拿取商品·
\n余额为%d元,应找零\n1元%d张\n2元%d张\n5元%d张\n10元%d张\n"
Result,ChargeNum[0],ChargeNum[1],ChargeNum[2],ChargeNum[3]);
}//endif
//销售成功的操作
if(Sum==goods[0].price){
goods[0].totalCount--;
Sale();
tj[0].jrxl++;
tj[0].jrzje+=Sum;
}elseif(Sum==goods[1].price){
goods[1].totalCount--;
tj[1].jrxl++;
tj[1].jrzje+=Sum;
}elseif(Sum==goods[2].price){
goods[2].totalCount--;
tj[2].jrxl++;
tj[2].jrzje+=Sum;
returntrue;
成功卖出操作的后台操作
voidSale(){
FILE*fp;
if((fp=fopen("
d:
\\goods.out"
"
w"
))==NULL)
printf("
未找到文件d:
\\goods.out...系统将退出\n"
exit(0);
}
fprintf(fp,"
%s%d%d\n"
goods[0].name,goods[0].totalCount,goods[0].price);
goods[1].name,goods[1].totalCount,goods[1].price);
goods[2].name,goods[2].totalCount,goods[2].price);
//关闭文件
fclose(fp);
fp=NULL;
//------------------------------------
voidGetsmalcharge(intMoney,int*ChargeNum)
if(Money<
0)
return;
intSum=Money;
intcharge[4]={1,2,5,10};
ChargeNum[3]=Sum/charge[3];
Sum=Sum%charge[3];
ChargeNum[2]=Sum/charge[2];
Sum=Sum%charge[2];
ChargeNum[1]=Sum/charge[1];
Sum=Sum%charge[1];
ChargeNum[0]=Sum/charge[0];
Sum=Sum%charge[