简单通信录: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;
}