(D)の連絡先アドレス帳管理システム関数c ++の例を削除するには

#include <iostreamの>
 使用して 名前空間STD; 
constexprの自動MAX = 1000 ; 

// コンタクト構造
構造体
{ 
    ストリングM_NAME;
     INT m_sex;
     INT m_age、
     文字列m_phone、
     文字列m_address; 

}; 
// コンタクト構造の
構造体のアドレス帳が
{ 
    // 接触配列は
    ストラクト人personArray [MAX]を;
     // 連絡先の数を記録
    INT m_sizeを; 
}; 

// 追加アート
無効 addPerson(アドレス帳を*ABS){
     //は、それはもはや追加フルフルアドレス帳ではありませんかどうかを決定する
    IF(ABS-> == m_size MAX){ 
        COUT << " 電話帳全" << てendl; 
    } 
    {
         文字列名;
         int型セックス;
         int型年齢;
         String型の電話、
         文字列のアドレス; 
        coutの << " あなたの名前を入力してください:" ; 
        cinを >> 名前を、
         しばらくtrueに){ 
            coutの << "性別(男性用0、女性のための1)を入力してください:" ; 
            cinを >> セックス、
             IF(セックス== 0 ||セックス== 1 ){
                 BREAKを; 
            } { 
                裁判所未満を << " あなたが入力が正しくありませんしてください再。入力!" << てendl; 
            } 
        } 
        coutの << " 年齢を入力してください:" ; 
        cinを >> 年齢; 
        裁判所未満は << " 電話を入力してください:" ; 
        cinを >電話; 
        裁判所未満 << " 请输入地址:" ; 
        cinを >> アドレス。
        ABS - > personArray [ABS-> m_size] .m_name = 名。
        ABS - > personArray [ABS-> m_size] .m_sex = セックス。
        ABS - > personArray [ABS-> m_size] .m_age = 年齢; 
        ABS - > personArray [ABS-> m_size] .m_phone = 電話。
        ABS - > personArray [ABS-> m_size] .m_address = アドレス。
        ABS - > m_size ++ ; 
        裁判所未満 << " 添加成功!" <<// 任意のキーを押して続行し 
        、システム(" PAUSEを" );
         // 画面クリア 
        システム(" CLS " ); 
    } 
} 
// 接触表示
のボイド showPerson(アドレス帳* ABSを){
     IF(ABS-> m_size == 0 ) { 
        COUTは << " 現在のレコードが空です" << ENDL; 
    } {
         ためINT I = 0 ; I <ABS-> m_size; I ++ ){ 
            COUT << "姓名:" << ABS-> personArray [i]は.m_name << " \トン" 
                << " 性别:" <<(ABS-> personArray [i]は.m_sex == 0" "" ") << " \トン" 
                << " 年龄:" << ABS-> personArray [i]は.m_age << " \トン" 
                << " 电话:" << ABS-> personArray [i]は.m_phone << "\トン" 
                << " 地址:"ABS- <<> personArray [I] .m_address << ENDL; 
        } 
    } 
    システム(" PAUSE " ); 
    システム(" CLS " ); 
} 
//はインデックスが返される場合、存在する場合、接触があるか否かを判定し、そうでなければ戻り-1 
INT ISEXIST(アドレス帳* ABS、文字列名){
     ためINT I = 0 ; I <ABS-> m_size; I ++ 
    { 
        IF(ABS-> personArray [I] .m_name == 名){
             戻りIと、
        } 
    } 
    リターン - 1 ; 
}

// 真削除
空隙デル(ABS用アドレス帳は、* INT ID)を{
     ためINT I = ID; I <ABS-> m_size; I ++ 
    { 
        ABS - > personArray [I] = ABS-> personArray [I + 。1 ]; 
    } 
    ABS - > m_size-- ; 
} 

// 検索し、削除し
、ボイド deletePerson(アドレス帳* ABS){
     文字列名; 
    裁判所未満は << " 削除したい名前を入力してください:" ; 
    cinを >> 名;
     int型TMP; 
    TMP =isExist(ABS、名);
    もし(TMP =! - 1 ){ 
        デル(ABS、TMP)。
        裁判所未満 << " 删除成功" << てendl; 
    } { 
        COUT << " 查无此人" << ENDL。
    } 
    システム(一時停止)。
    システム(" CLS " )。
} 

// 菜单界面
ボイドshowMenu(){ 
    COUT << " ************************ " <<< てendl; 
    coutの << "***** 0終了の連絡先***** " << てendl; 
    coutの << " ************************  < < てendl; 
} 

int型のmain(){
     // コンタクト構造変数の作成
    アドレス帳のABS; 
    abs.m_size = 0 ;
     int型 SELECT = 0 ;
     しばらくtrueにする{)
        showMenuは()である。
        COUTを << 適切なオプションを入力してください: << てendl; 
        cinを >> SELECT スイッチSELECT ){
         ケース 1// 追加 
            (&addPersonをABS);
             BREAK ;
         ケース 2// 表示 
            showPerson(&ABS);
             BREAK ;
         ケース 3// 削除 
            deletePerson(&ABS);
             BREAK ;
         ケース 4// 修正
            BREAKをケース 5//は、検索
            BREAKをケース 6// クリア
            BREAK ;
         ケース 0// 終了 
            はcout << " 次の使用へようこそ" << てendl; 
            システム(" PAUSE " );
             の戻り 0 ;
             BREAK ; 
        } 
    } 
}

おすすめ

転載: www.cnblogs.com/xiximayou/p/12083674.html