[关闭]
@Asuna 2016-10-27T04:42:21.000000Z 字数 2468 阅读 691

第三次作业报告:

level1:期望身高APP

题意:输入父亲和母亲的身高,点击相应button后输出儿子或者女儿的期望身高。

实现方法:几个textfield和两个button,button中处理算期望升高(课堂都具体实现过类似的功能,应该不难吧。。)

部分代码:

  1. //儿子的期望身高
  2. - (IBAction)clickSonButton:(id)sender {
  3. double fatherHeight = self.fatherHeightTextField.text.doubleValue;
  4. double motherHeight = self.motherHeightTextField.text.doubleValue;
  5. double sonHeight = (fatherHeight + motherHeight) * 1.08 / 2;
  6. NSNumber *number = [NSNumber numberWithDouble:sonHeight];
  7. NSString *sonHeightString = [number stringValue];
  8. self.sonHeightTextField.text = sonHeightString;
  9. }
  10. //女儿的期望身高
  11. - (IBAction)clickDaughterButton:(id)sender {
  12. double fatherHeight = self.fatherHeightTextField.text.doubleValue;
  13. double motherHeight = self.motherHeightTextField.text.doubleValue;
  14. double daughterHeight = (fatherHeight * 0.923 + motherHeight) / 2;
  15. NSNumber *number = [NSNumber numberWithDouble:daughterHeight];
  16. NSString *daughterHeightString = [number stringValue];
  17. self.daughterHeightTextField.text = daughterHeightString;
  18. }

level2:实现栅栏加密

题意:给定一个字符串,按他的奇偶位分别存入两个子串中,最后将两个子串拼接在一起实现加密。

实现方法:用一个i从字符串第一位开始向后推,用一个j从字符串一半的位置开始向后推,每次各取i和j这一位的分别加入密串中即可完成加密,解密的话同上操作(逆向而已)。难点在判断长度奇偶这种细枝末节上,暴力实现没什么困难。

部分代码:

  1. //加密(分奇偶)
  2. - (IBAction)addCipherButton:(id)sender {
  3. NSString *text = self.informationTextField.text;
  4. NSMutableString *ans1 = [[NSMutableString alloc]init];
  5. NSMutableString *ans2 = [[NSMutableString alloc]init];
  6. NSUInteger l = text.length;
  7. for (int i = 0; i < l; i++){
  8. char c = [text characterAtIndex:i];
  9. if (i%2==0) [ans1 appendFormat:@"%c",c];
  10. if (i%2!=0) [ans2 appendFormat:@"%c",c];
  11. }
  12. [ans1 appendFormat:@"%@",ans2];
  13. self.addCipherTextField.text = ans1;
  14. }
  15. //解密(分奇偶操作)
  16. - (IBAction)reduceCipherButton:(id)sender {
  17. NSString *text = self.addCipherTextField.text;
  18. NSMutableString *ans = [[NSMutableString alloc]init];
  19. NSUInteger l = text.length;
  20. NSUInteger l1;
  21. if (l % 2!=0){
  22. l1 = text.length/2 + 1;
  23. for (int i = 0; i <= l / 2; i++){
  24. char c = [text characterAtIndex:i];
  25. [ans appendFormat:@"%c",c];
  26. if (l1 < l){
  27. //NSLog(@"%d",l1);
  28. char c1 = [text characterAtIndex:l1];
  29. [ans appendFormat:@"%c",c1];
  30. l1++;
  31. }
  32. }
  33. }
  34. else{
  35. l1 = text.length/2;
  36. for (int i = 0; i <= l / 2; i++){
  37. if (l1 < l){
  38. char c = [text characterAtIndex:i];
  39. [ans appendFormat:@"%c",c];
  40. }
  41. if (l1 < l){
  42. //NSLog(@"%d",l1);
  43. char c1 = [text characterAtIndex:l1];
  44. [ans appendFormat:@"%c",c1];
  45. l1++;
  46. }
  47. }
  48. }
  49. self.reduceCipherTextField.text = ans;
  50. }

level4:用Uislider完成背景颜色修改

题意:大标题都给了。。。

实现方法:用三个Uislider分别代表红蓝绿三种颜色,首先要在.h文件中提到他们,然后在m文件中用一个.view.backgroundColor就可以进行设置了,还有一个重点就是m中定义的uibutton不是直接拉进去的,而是要对应三个uislider。就是uibutton前面那个小点要拉三次,分别拉到三个uislider上。

部分代码:

  1. - (IBAction)setViewBackgroundColor:(id)sender {
  2. self.view.backgroundColor = [UIColor colorWithRed:redSlider.value green:greenSlider.value blue:blueSlider.value alpha:1];
  3. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注