bool GetCharge(int Sum,int Money)
void Getsmalcharge(int Money,int *ChargeNum)
void main()
{
char state='N'
int Sum=0
char Pro
printf("\n********************************\n")
while(true)
{
state='N'
Sum=0
while(state=='N'||state=='n')
{
printf("\n输入购买物品(a,b,c):")
scanf("%c",&Pro)
getchar()
switch(Pro)
{
case 'a':
Sum=Sum+1
break
case 'A':
Sum=Sum+1
break
case 'b':
Sum=Sum+5
break
case 'B':
Sum=Sum+5
break
case 'c':
Sum=Sum+10
break
case 'C':
Sum=Sum+10
break
default:
printf("\n输入物品有误!!!!\n")
break
}
printf("\n是否完成(Y/N):")
scanf("%c",&state)
getchar()
}
int Money
printf("\n购买总价为:%d",Sum)
bool st=false
while(!st)
{
printf("\n输入金额:")
scanf("%d",&Money)
getchar()
st=GetCharge(Sum,Money)
}
printf("\n----------------购买结束------------\n")
printf("\n")
printf("\n")
printf("\n")
}
}
//----------------------------------------------------
bool GetCharge(int Sum,int Money)
{
int ChargeNum[4]
for(int i=0i<4i++)
{
ChargeNum[i]=0
}
if(Sum>Money)
{
printf("\n金额不够,请重新输入.....")
return false
}
else if(Sum==Money)
{
printf("\n余额为0")
return true
}
else
{
int Result=Money-Sum
Getsmalcharge(Result,ChargeNum)
printf("\n余额为%d元,应找零\n1 元%d张\n2 元%d张\n5 元%d张\n10元%d张\n",Result,ChargeNum[0],ChargeNum[1],ChargeNum[2],ChargeNum[3])
}//end if
return true
}
//------------------------------------
void Getsmalcharge(int Money,int *ChargeNum)
{
if(Money<0)
return
int Sum=Money
int charge[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[0]
}
#include "stdio.h"#include "conio.h"
struct stDrink
{
float fPrice // 价格
int iLeft // 剩余数
}
void Pay(stDrink* pstPay)
{
float fPay = 0.0f
if ( pstPay->iLeft<=0 )
{
printf("商品已经售完\r\n")
return
}
while(1)
{
scanf("%f",&fPay)
if ( fPay<pstPay->fPrice )
{
printf("金额不足,请重新付费\r\n")
}
else if ( fPay>pstPay->fPrice)
{
printf("找零钱%.1f元,请收好\r\n",fPay-pstPay->fPrice)
break
}
else
{
printf("付费成功\r\n")
break
}
}
pstPay->iLeft--
}
int main()
{
stDrink stCoca = {2.5f,5} // 可乐
stDrink stOrage = {3.5f,5} // 橙汁
stDrink stMilkTea = {5.0f,5} // 奶茶
char cInput = 0
while(1)
{
cInput = getch()
switch(cInput)
{
case '1':
// 可乐
printf("可乐2.5元,请付费\r\n")
Pay(&stCoca)
break
case '2':
// 橙汁
printf("橙汁3.5元,请付费\r\n")
Pay(&stOrage)
break
case '3':
// 奶茶
printf("奶茶5元,请付费\r\n")
Pay(&stMilkTea)
break
case '#':
// 设备维修中
printf("设备维修中\r\n")
break
case 'e':
// 退出程序
return 0
}
}
return 0
}
#include<stdio.h>main()
{
int x,n,y
float sum=0.0
printf("请选择: 1.日用品 2.文具 3. 食品\n")
scanf("%d",&x)
switch(x)
{
case 1: printf("请选择:1.牙刷(3.5元/支) 2.牙膏(6.2元支)\n")
printf(" 3.肥皂(2元/块) 4.毛巾(8.6元/条)\n")
scanf("%d",&y)
printf("数量?")
scanf("%d",&n)
switch(y)/*匹配顾客选择的具体商品*/
{
case 1: sum=3.5*n break
case 2: sum=6.2*n break
case 3: sum=2*n break
case 4: sum=8.6*n break
}
break
case 2: printf("请选择:1.笔( 3元/支) 2.笔记本(1.2元/个)\n")
printf(" 3.文件夹(12元/个) 4.文具盒(8.6元/个)\n")
scanf("%c",&y)
printf("数量?")
scanf("%d",&n)
switch(y)
{
case 1: sum=3*nbreak
case 2: sum=1.2*nbreak
case 3: sum=12*nbreak
case 4: sum=8.6*nbreak
}
break
case 3: printf("请选择:1.白糖(3.6元/包) 2.盐(1元/包)\n")
printf(" 3.饼(2元/个) 4.方便面(3.6元/条)\n")
scanf("%c",&y)
printf("数量?")
scanf("%d",&n)
switch(y)
{
case 1: sum=3.6*nbreak
case 2: sum=1*nbreak
case 3: sum=2*nbreak
case 4: sum=3.6*nbreak
}
break
}
printf("总计:%.2f 元\n",sum)
}