简单计算器界面的设计与实现

简单计算器界面的设计与实现

  • 实现计算器功能(下次补充)
  • 实现按键按下弹起颜色变化:
    命名为xxx.xml 放在drawable下
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
        android:drawable="@drawable/button_pressed" />
    <item android:drawable="@drawable/button_normal" />
</selector>
  • 输入框代码
<TextView
                android:id="@+id/tv_result"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="right|bottom"
                android:lines="3"
                android:maxLines="3"
                android:scrollbars="vertical"
                android:textColor="#000000"
                android:textSize="25sp" />

输入框代码

简单计算器设计实现 2.4 代码部分 #include #include #define TRUE 1 #define FALSE 0 #define MAXNUM 100 typedef int DataType; struct SeqStack { DataType s[MAXNUM]; int t; }; typedef struct SeqStack *PSeqStack; PSeqStack createEmptyStack_seq() { PSeqStack pastack; pastack=(PSeqStack)malloc(sizeof(struct SeqStack)); if (pastack==NULL) { printf("超出空间!!\n"); } else { pastack->t=-1; } return pastack; } int isEmptyStack_seq(PSeqStack pastack) { return pastack->t==-1; } void push_seq(PSeqStack pastack, DataType x) { if (pastack->t >= MAXNUM - 1) printf("溢出!\n"); else { pastack->t = pastack->t+1; pastack->s[pastack->t]=x; } } void pop_seq(PSeqStack pastack) { if (pastack->t==-1) { printf("未溢出!\n"); } else { pastack->t = pastack->t-1; } } DataType top_seq(PSeqStack pastack) { return pastack->s[pastack->t]; } int infixtoSuffix(const char* infix, char* suffix) { /*将中缀表达式转换为后缀表达式,顺利转换返回true,若转换过程中发现中缀表达式非法则返回false*/ int state_int = FALSE; /*state_int记录状态,等于true表示刚读入的是数字字符,等于false表示刚读入的不是数字字符, 设置这个变量是为了在每输出一个整数后输出一个空格,以免连续输出的两个整数混在一起。*/ char c, c2; PSeqStack ps = createEmptyStack_seq(); /*运算符栈*/ int i, j = 0; if(infix[0]=='\0') { return FALSE; /*不允许出现空表达式*/ } for(i=0; infix[i]!='\0';i++) { c=infix[i]; switch(c) { case ' ': case '\t': case '\n': if(state_int== TRUE) { suffix[j++]=' ';/*状态从true转换为false时输出一个空格*/ } state_int= FALSE; break; /*遇到空格或制表符忽略*/ case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': state_int =TRUE; suffix[j++]=c; /*遇到数字输出*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值