int smscount信息条数搭袜段好返
double m1 = phonetime * 100
double m2 = (((smscount<20)20:smscount)-20)*20
if(m1 <10000)m1=10000
if(phonetime >= 500)m1 = m1 * 0.9
if(smscount >知誉= 200)m2 = m2 * 0,9
tax=0.1*(m1 + m2)
tax 税率
m1+m2合计
充值总额m1+m2+tax
/*c语言,购物卡消费充值
基本要求:1.按“+数字”给购物卡充值,按“-数字”表示消费,要在卡中减去该段滑值。
2.卡中余颂燃姿额少于3时,提示“余额不足,请充值”字样,并且此次不能消费。
扩展功能:1.按*键可查询当前余额。
2.按#键不允许充值和消费。显示“此卡暂时不能使用”字样。
*/
#include<stdio.h>
#include<string.h>
using namespace std
struct shopcard{
int balance
int open
}
void initcard(shopcard* card, int balance){
card->balance = balance
card->open = 1
}
int rechargeorconsum(shopcard* card, int num)
{
if (!card->open)
{
return -1
}
else if (num >0 || card->balance + num >= 3)
{
card->balance += num
return 1
}
else
return 0
}
int getbalance(shopcard* card)
{
return card->balance
}
void closecard(shopcard* card)
{
card->open = 0
}
int main()
{
char instring[100] = {0}
char * tmp = "*"
int num, ret
shopcard card
initcard(&card, 100)
printf("使用购物卡:输入+数字表示充值, 输入-数字表示消费,输入*查询余额,输入#表示野绝关闭购物卡使用功能,输入0退出系统\n")
while(1)
{
scanf("%s", instring)
fflush(stdin)
if ('+' == instring[0] || '-' == instring[0])
{
sscanf(instring, "%d", &num)
ret = rechargeorconsum(&card, num)
switch(ret){
case -1:
printf("购物卡已关闭消费充值功能\n")
break
case 0:
printf("余额不足\n")
break
case 1:
break
default:
break
}
}
else if (!strcmp("#", instring))
{
closecard(&card)
}
else if (!strcmp("*", instring))
{
printf("余额:%d\n", getbalance(&card))
}
else if (!strcmp("0", instring))
{
break
}
}
return 0
}
//已调试通过,楼主记得采纳哈
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)