簡單通訊錄

簡單通訊錄:

  1、定義聯繫人類ContactPerson。實例變量:姓名、性別、電話號碼、住址、方法:自定義初始化方法(姓名、電話號碼)、顯示聯繫人信息

   2、定義通訊錄AddressBook類,管理所有聯繫人。可以添加新聯繫人對象,如果姓名或電話號碼爲空,打印添加失敗。

   3、獲取所有聯繫人。

   4、根據電話號碼搜索聯繫人。

   5、獲取所有同性別聯繫人

   6、根據姓名刪除聯繫人

   7、展示通訊錄中所有聯繫人

ContactPerson.h

#import <Foundation/Foundation.h>

@interface ContactPerson : NSObject

{

    NSString * _name;

    NSString * _sex;

    NSInteger  _telePhoneNumber;

    NSString * _address;

}

- (void)setName:(NSString *)name;

- (NSString *)name;

- (void)setSex:(NSString *)sex;

- (NSString *)sex;

- (void)setTelePhoneNumber:(NSInteger)telePhoneNumber;

- (NSInteger)telePhoneNumber;

- (void)setAddress:(NSString *)address;

- (NSString *)address;


- (id)initWithName:(NSString *)name

               sex:(NSString *)sex

   telePhoneNumber:(NSInteger)telePhoneNumber

           address:(NSString *)address;


+ (id)ContactPersonWithName:(NSString *)name

                        sex:(NSString *)sex

            telePhoneNumber:(NSInteger)telePhoneNumber

                    address:(NSString *)address;


- (void)showInformation;


@end


ContactPerson.m

#import "ContactPerson.h"


@implementation ContactPerson


- (void)setName:(NSString *)name

{

    _name = name;

}

- (NSString *)name

{

    return _name;

}

- (void)setSex:(NSString *)sex

{

    _sex = sex;

}

- (NSString *)sex

{

    return _sex;

}

- (void)setTelePhoneNumber:(NSInteger)telePhoneNumber

{

    _telePhoneNumber = telePhoneNumber;

}

- (NSInteger)telePhoneNumber

{

    return _telePhoneNumber;

}

- (void)setAddress:(NSString *)address

{

    _address = address;

}

- (NSString *)address

{

    return _address;

}



- (id)initWithName:(NSString *)name

               sex:(NSString *)sex

   telePhoneNumber:(NSInteger)telePhoneNumber

           address:(NSString *)address

{

    self = [super init];

    if (self) {

        _name = name;

        _sex = sex;

        _telePhoneNumber = telePhoneNumber;

        _address = address;

    }

    return self;

}


+ (id)ContactPersonWithName:(NSString *)name

                        sex:(NSString *)sex

            telePhoneNumber:(NSInteger)telePhoneNumber

                    address:(NSString *)address

{

    ContactPerson * p = [[ContactPerson alloc] initWithName:name sex:sex telePhoneNumber:telePhoneNumber address:address];

    //便利構造器要申請空間!!!!!!!!!!!!!!!!!!    再用initWithName

    return p;

}


- (void)showInformation

{

        NSLog(@"聯繫人:姓名:%@, 性別:%@, 電話號碼:%ld, 住址:%@", _name, _sex, _telePhoneNumber, _address);

}

AddressBook.h

#import <Foundation/Foundation.h>

@class ContactPerson;

@interface AdressBook : NSObject

{

    NSMutableArray * _array;

}

- (void)addPerson:(ContactPerson *)person;

- (void)NslogArray;

- (id)initWithArray:(NSMutableArray *)array;

- (void)searchPersonByTelePhone:(NSInteger)tele;

- (void)FindTheSameSexPerson;

- (void)DeletePersonByName:(NSString *)name;

- (void)addPerson1:(NSString *)name     //封裝了addPerson,更簡潔,聚合高

               sex:(NSString *)sex

         telephone:(NSInteger)telephone

           address:(NSString *)address;    

@end


AddressBook.m

#import "AdressBook.h"

#import "ContactPerson.h"

@implementation AdressBook

- (void)addPerson:(ContactPerson *)person

{

    if (person.name != nil && person.telePhoneNumber != 0) {

        [_array addObject:person];

        NSLog(@"添加%@成功", person.name);

            }

    else{

        NSLog(@"添加失敗");

        }

    }

- (void)NslogArray

{

    if ([_array count] == 0) {

         NSLog(@"所有聯繫人爲空!");

    }

    for (int i = 0; i < [_array count]; i++) {

        [[_array objectAtIndex:i] showInformation];

    }

}

- (id)initWithArray:(NSMutableArray *)array

{

    self = [super init];

    if (self) {

        _array = array;

    }

    return self;

}

- (void)searchPersonByTelePhone:(NSInteger)tele

{

    for (int i = 0; i < [_array count]; i++) {

        if (tele == [[_array objectAtIndex:i] telePhoneNumber] ) {

            NSLog(@"你要找的聯繫人是:");

            [[_array objectAtIndex:i] showInformation];

            break;

        }

    }

     NSLog(@"查無此人!!!");

}

- (void)FindTheSameSexPerson

{

    NSString * str = @"男";

    NSString * str1 = @"女";

    NSLog(@"所有男性聯繫人:");

    for (int i = 0; i < [_array count]; i++) {

        if ([[_array objectAtIndex:i] sex] == str) {

            [[_array objectAtIndex:i] showInformation];

        }

    }

    NSLog(@"所有女性聯繫人:");

    for (int i = 0; i < [_array count]; i++) {

        if ([[_array objectAtIndex:i] sex] == str1) {

            [[_array objectAtIndex:i] showInformation];

        }

    }

}

- (void)DeletePersonByName:(NSString *)name

{

    NSLog(@"刪除後所有聯繫人:");

    for (int i = 0; i < [_array count]; i++) {

        if ( [[[_array objectAtIndex:i] name]isEqualToString:name]) {

            [_array removeObjectAtIndex:i];

        }

    }

   }

- (void)addPerson1:(NSString *)name

               sex:(NSString *)sex

         telephone:(NSInteger)telephone

           address:(NSString *)address

{

    if (name != nil && telephone != 0) {

        NSLog(@"添加%@成功", name);

    }

    else{

        NSLog(@"添加失敗");

    }

    ContactPerson * p = [[ContactPerson alloc]initWithName:name sex:sex telePhoneNumber:telephone address:address];

    [_array addObject:p];

}

@end

main.m

#import <Foundation/Foundation.h>

#import "ContactPerson.h"

#import "AdressBook.h"


int main(int argc, const char * argv[]) {

    

     ContactPerson * p1 = [ContactPerson ContactPersonWithName:@"鄧超" sex:@"男" telePhoneNumber:15378710000 address:@"上海市"];

    NSMutableArray * array = [[NSMutableArray alloc]initWithCapacity:1];

    AdressBook * adr = [[AdressBook alloc]initWithArray:array];

    [adr NslogArray];

    ContactPerson * p2 = [ContactPerson ContactPersonWithName:@"孫儷" sex:@"女" telePhoneNumber:15378710001 address:@"北京市"];

    ContactPerson * p3 = [ContactPerson ContactPersonWithName:@"陳赫" sex:@"男" telePhoneNumber:15378710002 address:@"南京市"];

    ContactPerson * p4 = [ContactPerson ContactPersonWithName:@"孫藝洲" sex:@"男" telePhoneNumber:15378710003 address:@"蘇州市"];

    ContactPerson * p5 = [ContactPerson ContactPersonWithName:nil sex:@"女" telePhoneNumber:15378710005 address:@"北京市"];

    ContactPerson * p6 = [ContactPerson ContactPersonWithName:@"謝娜" sex:@"女" telePhoneNumber:15378710006 address:@"湖南省長沙市湘潭路128號"];

    [adr addPerson:p1];

    [adr addPerson:p2];

    [adr addPerson:p3];

    [adr addPerson:p4];

    [adr addPerson:p5];

    [adr addPerson:p6];

    [adr addPerson1:@"王寶強" sex:@"男" telephone:1537870009 address:@"太原市"];

    //將添加聯繫人功能封裝!!!**************addPerson1********************

    [adr NslogArray];

    NSInteger a = 0;

    NSLog(@"請輸入要搜尋的電話號碼:");

    scanf("%ld", &a);

    [adr searchPersonByTelePhone:a];   //根據電話號碼查找聯繫人

    [adr FindTheSameSexPerson];        //找到同一性別的聯繫人

    [adr DeletePersonByName:@"陳赫"];//根據姓名刪除聯繫人

    [adr NslogArray];             //顯示刪除後的所有聯繫人

    

    return 0;

}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章