永发信息网

用PB编写一个计算器,遇到2个问题,求高手解答

答案:2  悬赏:70  手机版
解决时间 2021-04-06 13:08
1:计算器的小数点设置了不可重复,但是在实际使用时小数点只能用一次了,比如1.2+3.4中1.2可以打出来,但是3.4的小数点打不出来
2:退格符号在遇到小于0的情况下会先无脑消去负号,比如我输入-56本来点退格想要的是先退6,再退5,最后-,但是现在是先-,再6,再5

小数点代码是:
if bl_xsd=false then
if ii_flag=0 then
sle_1.text=''
ii_flag=1
end if
bl_xsd=true
else
messagebox('错误','小数点重复!')
return
end if
sle_1.text=sle_1.text+this.text
退格键代码是:

if len(sle_1.text)>0 then
sle_1.text=left(sle_1.text,len(sle_1.text) - 1)
else
return
end if
最佳答案
#include#include#includeusingnamespacestd;constdoublepi=3.14159265;constdoublee=2.718281828459;constintSIZE=1000;typedefstructnode//为了处理符号而建立的链表(如:1+(-2)){chardata;node*next;}node;typedefstructstack_num//存储数的栈{double*top;double*base;}stack_num;typedefstructstack_char//存储运算符号的栈{char*top;char*base;}stack_char;stack_numS_num;//定义stack_charS_char;//定义charfu[18]={'\n',')','+','-','*','/','%','^','Q','L','C','S','T','c','s','t','('};intcompare[1000];//表现出各运算符号的优先级doubleshu[1000];//存储"数"的数组doubledai_result;//运算的结果,是为了处理M运算(简介函数里有M的定义)intbiao=0;//和dia_result一样,为了处理M运算charline[SIZE];//输入的所要计算的表达式voidinit()//初始化{compare[fu[0]]=-2;//用数字的大小表现出符号的优先级compare[fu[1]]=-1;compare[fu[2]]=2;compare[fu[3]]=2;compare[fu[4]]=4;compare[fu[5]]=4;compare[fu[6]]=4;compare[fu[7]]=5;for(inti=8;i=3)return0;elsereturn1;}voidoutput(doubleresult)//打出结果{printf("所得结果是:");cout>cc){if(cc=='M'){system("cls");introduce();printf("您上次所得结果为:");coutnext=NULL;inti;for(i=0;line[i]!='\0';i++)//建立链表{p=newnode;p->data=line[i];p->next=head->next;head->next=p;head=p;}//deletep;q=(node*)malloc(sizeof(node));head=root;if(root->next->data=='+'||root->next->data=='-')//处理第一个字符{p=newnode;p->data='0';p->next=head->next;head->next=p;}if(root->next!=NULL){for(q=root->next;q;q=q->next){if(q->data=='('&&(q->next->data=='-'||q->next->data=='+')){p=newnode;p->data='0';p->next=q->next;q->next=p;}}}//deleteq;p1=newnode;intqi=-1;for(p1=root->next;p1;p1=p1->next){line[++qi]=p1->data;}line[++qi]='\0';}voidinput()//输入{cin>>line;if(biao==0)tackle_fuhao();//处理负号check();//检查表达式是否合法}voidintroduce()//对计算器的符号功能的简要介绍{cout>start){if(start!="on"){cout<<"您所输入的字符无效,请按照介绍的继续输入:"<
全部回答
可以私聊我~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
描述古代美女的诗词,形容古代美女妖娆的诗句
科鲁兹转向阻力泵怎么装发动机上
Microsoft Visual C# v7.0 / Basic .NET
天龙代练到0-80 级 需要多少钱、
珠海市华晖电子有限公司我想知道这个在什么地
身上湿气重是什么原因啊?
当淘宝模特怎么当的啊!
想买一个哪个柜子把门打开可以当吃饭的桌子有
过几天就去鹤壁了 同事在那边我们一起玩玩 她
2016农历正月开业吉日
北京地铁未来规划昌平线兴寿有站吗?
天天象棋战国七雄197关残局怎么过?
电子琴不带力度怎么弹高低音
扎克伯格的座右铭,马克扎克伯格SAT到底考了多
潜水员要穿坚固的潜水服才能潜入深水中,这是
推荐资讯
Eating an ice cream on such a hot day is a
青白江有没有到武胜的直达车
DNF高分加追分带跟踪火焰效果的武器有哪些?
单选题处理社会关系的实践,对社会的发展起着
DNF大叔用什么武器最好
腿部红肿、疼痛用热毛巾敷效果好不好?
梦三国官渡翻牌全部返还包括自己出的梦幻装备
本兮的怎么办我爱你 伴奏是什么啊
单选题商场和超市都搞起了羽绒服反季节促销活
凝固是什么意思
旅拍婚纱照哪里比较好,最近要拍婚纱照了?谁
t型环避孕效果好吗?易脱落吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?