OC-电子词典的写法

//

//  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");

            }

            

        }

        

        

        

    }

    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];

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值