iOS開發實現計算器功能

2022-09-20 09:15:08 字數 2589 閱讀 2589

效果圖

masonry

使用陣列來自動約束

nsarray *buttonarrayone = @[_buttonac, _buttonleftbracket, _buttonrightbracket, _buttondivide];

//withfixedspacing: 每個view中間的間距

//leadspacing: 左最開始的間距

//tailspacing:; 右邊最後的的間距

[buttonarrayone mas_distributeviewsalongaxis:masaxistypehorizontal withfixedspacing:15 leadspacing:15 tailspacing:15];

[buttonarrayone mas_makeconstraints:^(masconstraintmaker *make) ];

對最後一行單獨處理

[_buttonzero mas_makeconstraints:^(masconstraintmaker *make) ];

[_buttonzero.titlelabel mas_makeconstraints:^(masconstraintmaker *make) ];

//使0的數字對齊

計算部分:

+ (result)calculatefor:(char*) formula andlen: (long) length ;

int numberofdots = 0;

int index;

int digitsnum = 0;

float digits[calculate_max_digits];

memset(digits, 0, sizeof(digits));

int optnum = 0;

char operator[calculate_max_operator];

memset(operator, 0, sizeof(operator));

int digitnum = 0;

char digit[calculate_max_digit];

memset(digit, 0, sizeof(digit));

char *p = formula;

while (length--) else else if (0 == digitnum || calculate_max_digits == digitsnum - 1) else

digitnum = 0;

operator[optnum++] = *p;

}break;

case '(': else if (')' == *p)

if (1 == existend)

p++;

}result result_son = [self calculatefor:pointer_son andlen:p - pointer_son];

if (calculate_err == result_son.error)

digits[digitsnum++] = result_son.value;

memset(digit, 0, sizeof(digit));

digitnum = -1;

break;

}case '0':

case '1':

case '2':

case '3':

case '4':

case '5':

case '6':

case '7':

case '8':

case '9':

case '.':

digit[digitnum++] = *p;

www.cppcns.com if (numberofdots == 0 && *p == '.') else if (numberofdots == 1 && *p == '.')

break;

d程式設計客棧efault:

程式設計客棧 result.error = calculate_err;

return result;

}if (0 == length && 0 < digitnum)

p ++;

}if (digitsnum != optnum + 1)

for (index = 0; index < optnum; index ++) else if ('/' == operator[index])

digits[index + 1] = digits[index] / digits[index + 1];

digits[index] = 0;

operator[index] = '?';}}

for (index = 0; index < optnum; index ++) else }}

result.value = digits[0];

for (index = 0; index < optnum; i ++) else if ('-' == operator[index])

}return result;

}本文標題: ios開發實現計算器功能

本文位址:

python 實現計算器功能

開發乙個簡單的python計算器 實現加減乘除及拓號優先順序解析 使用者輸入 1 2 60 30 40 5 9 25 3 7 399 42998 10 568 14 43 16 32 等類似公式後,必須自己解析裡面的 符號和公式 不能呼叫eval等類似功能偷懶實現 運算後得出結果,結果必須與真實的計...

C 實現計算器功能

注意 判斷數值和表示式 的合理性。include include include define max len 200 判斷字元是否合理 0 9 bool checkinput char c if c 0x2e c 0x2b c 0x2d c 0x2a c 0x2f return false boo...

iOS實現小型計算器

步驟 1.開啟xcode,單機creat a new xcode project 3.填寫專案名稱單機next 4.viewcontroller.h中定義成員和方法 import inte ce viewcontroller uiviewcontroller property retain,nona...