当前位置: 首页 > news >正文

淘宝联盟返利网站怎么做低成本做网站 百知

淘宝联盟返利网站怎么做,低成本做网站 百知,电子商务主要课程,wordpress 积分下载插件文章目录 一、实现思路二、实现方法三、判错处理 一、实现思路 先搭建好MVC框架#xff0c;接着在各个模块中实现各自的任务。首先要创建好UI界面#xff0c;接着根据UI界面的元素来与数据进行互动#xff0c;其中创建UI界面需要用到Masonry布局。 二、实现方法 在calcu… 文章目录 一、实现思路二、实现方法三、判错处理 一、实现思路 先搭建好MVC框架接着在各个模块中实现各自的任务。首先要创建好UI界面接着根据UI界面的元素来与数据进行互动其中创建UI界面需要用到Masonry布局。 二、实现方法 在calculationView文件中只涉及到UI界面。 首先创建两个UITextField对象一个用来显示输入到表达式一个用来输出运算结果接着创建一个数组用来存放button的名称接着循环创建button对象即可。 创建button时需要设置button的tag属性因为后面需要通过button的tag属性来进行逻辑判断。 self.textField01 [[UITextField alloc] init]; self.textField01.backgroundColor [UIColor blackColor]; self.textField02 [[UITextField alloc] init]; self.textField02.backgroundColor [UIColor blackColor]; self.buttonArray [NSMutableArray arrayWithObjects:AC, (, ), /, 1, 2, 3, , 4, 5, 6, -, 7, 8, 9, *, 0, ., , nil];for (int i 0; i 4; i) {for (int j 0; j 4; j) {self.calculatorButton [UIButton buttonWithType:UIButtonTypeCustom];NSString* buttonString self.buttonArray[i * 4 j];[self.calculatorButton setTitle:buttonString forState:UIControlStateNormal];self.calculatorButton.titleLabel.font [UIFont systemFontOfSize:43];self.calculatorButton.titleLabel.textColor [UIColor whiteColor];self.calculatorButton.backgroundColor [UIColor grayColor];[self.calculatorButton addTarget:self action:selector(pressButton:) forControlEvents:UIControlEventTouchUpInside];self.calculatorButton.layer.borderWidth 2.0;self.calculatorButton.layer.cornerRadius ButtonSize / 2;self.calculatorButton.layer.masksToBounds YES;self.calculatorButton.tag 100 j i*4;if (i 0 j 3) {self.calculatorButton.backgroundColor [UIColor colorWithWhite:0.6 alpha:0.9];self.calculatorButton.titleLabel.textColor [UIColor blackColor];}if (j 3) {self.calculatorButton.backgroundColor [UIColor orangeColor];}[self addSubview:self.calculatorButton];[self.calculatorButton mas_makeConstraints:^(MASConstraintMaker *make) {make.top.equalTo(self).offset(90 HEIGHT / 6 HEIGHT / 8 (ButtonSize SideSize) * i);make.left.equalTo(self).offset(SideSize (ButtonSize SideSize) * j);make.width.equalTo(ButtonSize);make.height.equalTo(ButtonSize);}];}}还需要在当前文件触发button的事件函数因为要通过button的事件函数将当前button传值到CalculationViewController文件中。 我使用的协议传值进行 定义协议及协议方法 protocol ButttonDelegate NSObject- (void)returnButton:(UIButton*)button;end定义代理对象 property (nonatomic, weak)idButttonDelegatedelegate;button事件函数触发代理方法 - (void)pressButton:(UIButton*)button {[self.delegate returnButton:button]; }在CalculationViewController中定义协议方法 - (void)returnButton:(UIButton*)button;在CalculationViewController中设置代理对象 self.calculationView.delegate self;在CalculationViewController中实现协议方法 - (void)returnButton:(UIButton*)button { - NSString* buttonStr button.titleLabel.text;NSInteger buttonTag button.tag;if (buttonTag 100) {self.calculationView.textField01.text ;self.calculationView.textField02.text ;self.yunsuanStr [[NSMutableString alloc] init];self.jieguoStr [[NSString alloc] init];} else if (buttonTag 118) {//四则运算}// }对于四则运算我使用中缀表达式转后缀表达式再利用后缀表达式进行计算。中缀转后缀定义一个符号栈一个结果栈。 char resultStack[100];int resultTop -1;char operationStack[100];int operationTop -1;NSString* ocStr self.yunsuanStr;const char* strs [ocStr UTF8String];char str[1000] ;strcpy(str, strs) ;int length (int)strlen(str);后缀进行四则运算时定义一个新栈。 double Stack[100];int StackTop -1;char* token strtok(resultStack, );while (token ! NULL) {if (strcmp(token, ) 0) {double a Stack[StackTop--];double b Stack[StackTop--];double c b a;Stack[StackTop] c;}else if (strcmp(token, -) 0) {double a Stack[StackTop--];double b Stack[StackTop--];double c b - a;Stack[StackTop] c;}else if (strcmp(token, *) 0) {double a Stack[StackTop--];double b Stack[StackTop--];double c b * a;Stack[StackTop] c;}else if (strcmp(token, /) 0) {double a Stack[StackTop--];double b Stack[StackTop--];double c b / a;Stack[StackTop] c;}else if (strcmp(token, !) 0) {double c Stack[StackTop--];c -c;Stack[StackTop] c;}else {double num atof(token);Stack[StackTop] num;}token strtok(NULL, );}double result Stack[StackTop--];这里使用了atof()函数可以将字符串中的数字识别为double类型的浮点数。使用strtok()函数将结果栈的元素通过空格分割方便进行识别和运算。 对于负数的运算我是将与“”相邻的“-”转换为“”并用“”进行负数转变其中需要将““的优先级设置为最高 int Compare(char str) {if (str ( || str )) {return 0;}else if (str || str -) {return 1;}else if (str * || str /) {return 2;} else if (str !) {return 3;} else {return -1;} }接着在输入字符串时进行识别 for (int i 0; i length; i) {if (str[i] ( str[i 1] -) {str[i 1] !;}}三、判错处理 对于括号匹配问题我使用栈来处理当读到“”则入栈读到“”则栈顶元素出栈最后判断栈是否为空即可。 - (int)kuoHaoMatch:(NSMutableString*)mutableString {const char* cstr [mutableString UTF8String];int length (int)strlen(cstr);char stack[100];int stackTop -1;for (int i 0; i length; i) {if (cstr[i] () {stack[stackTop] cstr[i];}if (cstr[i] )) {stack[stackTop--];}}if (stackTop -1) {return 1;}return 0; }对于符号匹配问题两个运算符不能相邻第一个位置不能为运算符-除外最后一个位置不能为运算符 - (int)fuHaoMatch:(NSMutableString*)mutableString {const char* cstr [mutableString UTF8String];int length (int)strlen(cstr);if (cstr[0] * || cstr[0] / || cstr[0] ) {return 0;}for (int i 0; i length; i) {if ((cstr[i] * cstr[i1] /) || (cstr[i] / cstr[i1] *)) {return 0;}if ((cstr[i] * cstr[i1] -) || (cstr[i] * cstr[i1] )) {return 0;}if ((cstr[i] / cstr[i1] -) || (cstr[i] / cstr[i1] )) {return 0;}if ((cstr[i] cstr[i1] /) || (cstr[i] cstr[i1] *)) {return 0;}if ((cstr[i] - cstr[i1] /) || (cstr[i] - cstr[i1] *)) {return 0;}if ((cstr[i] - cstr[i1] -) || (cstr[i] - cstr[i1] )) {return 0;}if ((cstr[i] cstr[i1] ) || (cstr[i] cstr[i1] -)) {return 0;}}if (cstr[length - 1] || cstr[length - 1] - ||cstr[length - 1] * || cstr[length - 1] /) {return 0;}return 1; }对于数字和括号的相邻问题数字后不能直接跟左括号右括号不能直接跟数字 - (int)numberAndkuoHao:(NSMutableString*)mutableString {const char* cstr [mutableString UTF8String];int length (int)strlen(cstr);int flag 0;for (int i 0; i length; i) {if ((cstr[i] 0 cstr[i] 9) cstr[i1] () {flag;}if (cstr[i] ) (cstr[i 1] 0 cstr[i 1] 9)) {flag;}}if (flag 0) {return 1;}return 0; }对于只有括号没有数字的问题直接遍历整个字符串如果有数字则标志变量加一最后判断标志变量 - (int)numberJudge:(NSMutableString*)mutableString {const char* cstr [mutableString UTF8String];int length (int)strlen(cstr);int flag 0;for (int i 0; i length; i) {if (cstr[i] 0 cstr[i] 9) {flag;}}if (flag ! 0) {return 1;}return 0;; }对于除零问题 if ([self.jieguoStr isEqualToString:nan]) {self.jieguoStr 错误;}if ([self.jieguoStr isEqualToString:inf]) {self.jieguoStr 错误;}对于小数点异常处理 int pointFlag 0; for (int i 0; i resultTop; i) {if (resultStack[i] .) {for (int j i 1; resultStack[j] ! ; j) {if (resultStack[j] .) {pointFlag;}}}}if (pointFlag ! 0) {self.jieguoStr 错误;pointFlag 0;}对于如何删除多余的零 NSDecimalNumber *number [NSDecimalNumber decimalNumberWithString: self.jieguoStr];NSDecimalNumberHandler *roundHandler [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundUp scale:8 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];NSDecimalNumber *roundedNumber [number decimalNumberByRoundingAccordingToBehavior:roundHandler];self.jieguoStr [roundedNumber stringValue];
http://www.hkea.cn/news/14342842/

相关文章:

  • 哪个网站美丽乡村做的比较好衡阳两城区划定高风险区
  • 投资公司网站源码公司做网站费用计入什么科目
  • 电子政务网站建设背景宁波微网站开发
  • 利用ionic做的网站外贸网站平台都有哪些 免费的
  • 购物商城类网站备案软件工程技术学什么
  • 霸州网站建设nodejs搭建wordpress
  • 炫酷html5网站模板建站之星设计师
  • 怎么在网站后台删除图片网站规划问题
  • 中国城乡和住房建设部网站物流公司模板wordpress
  • asp.net个人网站商务网页设计与制作课后答案
  • 网站建设先做后付费以网站名为后缀的邮箱怎么做
  • 淘宝上的网站怎么做wordpress php5.2
  • 国内做网站建设知名的公司wordpress search sql
  • 长沙手机网站建设公司网站建设的规划和设计
  • 仿糗事百科网站安徽制作网站
  • 制作一个网站需要多少钱广告在线设计
  • 怎么做一考试网站设计公司宣传文案
  • wordpress电子商务网站插件用ps怎么做网站效果图
  • 网站策划哪里找怎么选择赣州网站建设
  • 纺织面料做哪个网站好wordpress wp-polls
  • 福建省建设厅网站 企业高德地图怎么没有菲律宾位置
  • 福州网站建设哪家好您与此网站建立的连接不安全
  • 惠州城乡住房建设厅网站移动4G网站建设
  • 养殖网站 模板在线商城app下载
  • 安徽建站公司网络工程师工资一般多少的
  • 如何建设自己网站wordpress标签生成图片
  • 网站 多少篇文章才能上线公司官网查询
  • 域名转出过程网站能打开吗江苏建设机械网站
  • 建设网站实施条件网站建设开发简介
  • 怎做卖东西的网站wordpress mysqli