OC-电子词典的写法
2015-09-20 11:23
295 查看
//
// main.m
// 电子词典
//
// Created by apple on 15/9/19.
// Copyright (c) 2015年 apple. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "NSStringHelper.h"
int main(int argc,
const char * argv[]) {
@autoreleasepool {
//
核心逻辑
//
要求用户输入单词
//
打印解释
// 1,首先把离线电子词典的内容当做一个巨大的字符串获取过来
NSString * allWords = [[NSString
alloc]initWithContentsOfFile:@"/Users/apple/Desktop/英汉词典数据-mac版本.txt"
encoding:4
error:nil];
// 2,创建一个可变的字典(键值对)
NSMutableDictionary *dic=[NSMutableDictionary
dictionary];
// 3,把获取的大字符串通过“\n”分割成数组的元素并存入数组中
NSArray *wordList = [allWords
componentsSeparatedByString:@"\n"];
// 4,将数组中的每一个元素分割成
单词 与
解释
for (int i=0; i<wordList.count; ++i) {
// 4,1
将原来的数组拆分成更小的数组
NSArray *keyValuePair = [wordList[i]
componentsSeparatedByString:@" "];
// 4,2
原来的数组在拆分后,让后面的值赋值前面的键
dic[keyValuePair.firstObject]=keyValuePair.lastObject;
}
// 5,
提示用户输入,并显示查询结果
while (1) {
printf("请输入您要查询的单词\n");
NSString *wd=inputNSString();
if (dic[wd]!=nil) {
NSString *explian=dic[wd];
printf("%s\n",explian.UTF8String);
}else{
printf("对不起,该词典未收录该词!\n");
}
b9ae
}
}
return 0;
}
======================================================================================
//
// inputNSString.h
//
//
// Created by apple on 15/9/16.
//
//
#ifndef ____inputNSString__
#define ____inputNSString__
#include <stdio.h>
#import <Foundation/Foundation.h>
NSString * inputNSString() ;
#endif /* defined(____inputNSString__) */
======================================================================================
//
// inputNSString.c
//
//
// Created by apple on 15/9/16.
//
//
#include "NSStringHelper.h"
NSString * inputNSString() {
char input[256];
int length = 0;
char ch;
while ( (ch = getchar()) !=
'\n' ) {
// while ( scanf("%c", &ch), ch != '\n' ) {
input[length++] = ch;
}
input[length++] = '\0';
// 在 C
语言中, 字符串是一个由 \0
结尾的字符序列
return [[NSString
alloc] initWithUTF8String:input];
}
// main.m
// 电子词典
//
// Created by apple on 15/9/19.
// Copyright (c) 2015年 apple. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "NSStringHelper.h"
int main(int argc,
const char * argv[]) {
@autoreleasepool {
//
核心逻辑
//
要求用户输入单词
//
打印解释
// 1,首先把离线电子词典的内容当做一个巨大的字符串获取过来
NSString * allWords = [[NSString
alloc]initWithContentsOfFile:@"/Users/apple/Desktop/英汉词典数据-mac版本.txt"
encoding:4
error:nil];
// 2,创建一个可变的字典(键值对)
NSMutableDictionary *dic=[NSMutableDictionary
dictionary];
// 3,把获取的大字符串通过“\n”分割成数组的元素并存入数组中
NSArray *wordList = [allWords
componentsSeparatedByString:@"\n"];
// 4,将数组中的每一个元素分割成
单词 与
解释
for (int i=0; i<wordList.count; ++i) {
// 4,1
将原来的数组拆分成更小的数组
NSArray *keyValuePair = [wordList[i]
componentsSeparatedByString:@" "];
// 4,2
原来的数组在拆分后,让后面的值赋值前面的键
dic[keyValuePair.firstObject]=keyValuePair.lastObject;
}
// 5,
提示用户输入,并显示查询结果
while (1) {
printf("请输入您要查询的单词\n");
NSString *wd=inputNSString();
if (dic[wd]!=nil) {
NSString *explian=dic[wd];
printf("%s\n",explian.UTF8String);
}else{
printf("对不起,该词典未收录该词!\n");
}
b9ae
}
}
return 0;
}
======================================================================================
//
// inputNSString.h
//
//
// Created by apple on 15/9/16.
//
//
#ifndef ____inputNSString__
#define ____inputNSString__
#include <stdio.h>
#import <Foundation/Foundation.h>
NSString * inputNSString() ;
#endif /* defined(____inputNSString__) */
======================================================================================
//
// inputNSString.c
//
//
// Created by apple on 15/9/16.
//
//
#include "NSStringHelper.h"
NSString * inputNSString() {
char input[256];
int length = 0;
char ch;
while ( (ch = getchar()) !=
'\n' ) {
// while ( scanf("%c", &ch), ch != '\n' ) {
input[length++] = ch;
}
input[length++] = '\0';
// 在 C
语言中, 字符串是一个由 \0
结尾的字符序列
return [[NSString
alloc] initWithUTF8String:input];
}
相关文章推荐
- netbeans的界面跳转和测试点
- Eclipse 批量格式化的功能
- LM算法与非线性最小二乘问题
- java__基础复习02
- LM算法与非线性最小二乘问题
- grub rescure 解决方案
- 安装Adobe After Effects(AE)的时候卡在登陆界面?
- 从上往下打印二叉树(剑指offer)+队列的应用
- poj-2406-Power Strings(KMP)
- EPIGRAMS IN PROGRAMMING
- poj-2406-Power Strings(KMP)
- ahu 395 快速矩阵幂初学
- hdu 1163 免费的馅饼
- 对git的认识
- Ajax学习整理笔记
- Square Coins(母函数)
- iOS项目开发实战——使用CoreLocation实现定位
- 计算N的M次方的最后3位数
- 杭电OJ-- 2093 考试排名
- Best Time to Buy and Sell Stock I II III IV