简单通信录

简单通信录:ide

  一、定义联系人类ContactPerson。实例变量:姓名、性别、电话号码、住址、方法:自定义初始化方法(姓名、电话号码)、显示联系人信息spa

   二、定义通信录AddressBook类,管理全部联系人。能够添加新联系人对象,若是姓名或电话号码为空,打印添加失败。orm

   三、获取全部联系人。对象

   四、根据电话号码搜索联系人。ci

   五、获取全部同性别联系人rem

   六、根据姓名删除联系人it

   七、展现通信录中全部联系人io

ContactPerson.htable

#import <Foundation/Foundation.h>form

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

}

相关文章
相关标签/搜索