日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用c语言编辑一个通讯录,c语言制作一个通讯录

發布時間:2023/12/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用c语言编辑一个通讯录,c语言制作一个通讯录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我的通訊錄包括添加、查找、顯示、修改、刪除、清空、排序,這幾項功能。成員信息包括:姓名、性別、年齡、電話、住址。

程序代碼:

#include

#include

#include

#define MAX 1000//通訊錄中最大存儲人數

//功能

enum OP

{

EXIT,

ADD,

FIND,

SHOW,

MODIFY,

DELE,

EMPTY,

SORT

};

//個人信息

typedef struct Stu

{

char name[10];

char sex[3];

int age;

char dele[12];

char add[30];

}Stu;

//通訊錄

typedef struct TongXunLu

{

Stu stu[1000];

int count;

}TXL,* ptxl;

void initiate(ptxl ptxl);//啟動

void add(ptxl ptxl);//添加通訊錄中的人,最多添加1000個

void find(ptxl ptxl);//在通訊錄中查找需要查找的人,按姓名查找

void show(ptxl ptxl);//顯示當前通訊錄中所有人

void modify(ptxl ptxl);//修改通訊錄中某一人的信息

void dele(ptxl ptxl);//刪除通訊錄中某一人的信息

void empty(ptxl ptxl);//清空通訊錄中所有人信息

void sort(ptxl ptxl);//排序通訊錄中的所有人,按名字排序的

void menu();//菜單

static int hanshu(ptxl ptxl, const char * name)

{

int i = 0;

for (i = 0; i < ptxl ->count; i++)

{

if (strcmp(name , ptxl->stu[i].name) == 0)

{

return i;

}

}

return -1;

}

void initiate(ptxl ptxl)

{

ptxl->count = 0;

}

void add(ptxl ptxl)

{

if (ptxl ->count == MAX)

{

printf( "電話本已滿,無法添加!" );

return;

}

printf( "姓名:");

scanf( "%s", ptxl ->stu[ptxl->count].name);

printf( "性別:");

scanf( "%s", ptxl ->stu[ptxl->count].sex);

printf( "年齡:");

scanf( "%d", &ptxl ->stu[ptxl->count].age);

printf( "電話:");

scanf( "%s", ptxl ->stu[ptxl->count].dele);

printf( "住址:");

scanf( "%s", ptxl ->stu[ptxl->count].add);

ptxl->count++;

printf( "添加成功!" );

}

void find(ptxl ptxl)

{

int ret = 0;

char name[10];

printf( "請輸入要查找人的姓名:" );

scanf( "%s", name);

ret = hanshu( ptxl, name);

if (ret == -1)

{

printf( "不存在要查找的人!\n" );

return;

}

else

{

printf( "姓名\t性別\t年齡\t電話\t\t住址\n" );

printf( "%s\t%s\t%d\t%s\t%2s\n" , ptxl->stu[ret].name, ptxl->stu[ret].sex, ptxl ->stu[ret].age, ptxl->stu[ret].dele, ptxl->stu[ret].add);

}

}

void show(ptxl ptxl)

{

int i = 0;

printf( "姓名\t性別\t年齡\t電話\t\t住址\n" );

for (i = 0; i < ptxl ->count; i++)

{

printf( "%s\t%s\t%d\t%s\t%2s\n" , ptxl->stu[i].name, ptxl->stu[i].sex, ptxl ->stu[i].age, ptxl->stu[i].dele, ptxl->stu[i].add);

}

}

void modify(ptxl ptxl)

{

int ret = 0;

char name[10];

printf( "請輸入要修改人的姓名:" );

scanf( "%s", name);

ret = hanshu( ptxl, name);

if (ret == -1)

{

printf( "不存在要修改的人!\n" );

return;

}

else

{

printf( "姓名:");

scanf( "%s", ptxl ->stu[ret].name);

printf( "性別:");

scanf( "%s", ptxl ->stu[ret].sex);

printf( "年齡:");

scanf( "%d", &ptxl ->stu[ret].age);

printf( "電話:");

scanf( "%s", ptxl ->stu[ret].dele);

printf( "住址:");

scanf( "%s", ptxl ->stu[ret].add);

}

}

void dele(ptxl ptxl)

{

int ret = 0;

int j = 0;

char name[10];

printf( "請輸入要刪除的名字:" );

scanf( "%s", name);

ret = hanshu( ptxl, name);

if (ret == -1)

{

printf( "刪除的人不存在!\n" );

return;

}

else

{

for (j = 0; j < ptxl ->count - 1; j++)

{

ptxl->stu[j] = ptxl ->stu[j + 1];

}

}

ptxl->count--;

printf( "刪除成功!\n" );

}

void empty(ptxl ptxl)

{

ptxl->count = 0;

printf( "通訊錄以清空!\n" );

}

void sort(ptxl ptxl)

{

int i = 0;

int j = 0;

for (i = 0; i < ptxl ->count; i++)

{

for (j = 0; j < ptxl ->count; j++)

{

if (strcmp(ptxl ->stu[j].name, ptxl->stu[j + 1].name)>0)

{

Stu temp = ptxl ->stu[j];

ptxl->stu[j] = ptxl ->stu[j + 1];

ptxl->stu[j + 1] = temp;

}

}

}

printf( "排序成功!\n" );

}

void menu()

{

printf( "************************************************\n" );

printf( "****???????????? 歡迎使用通訊錄???????????? ****\n" );

printf( "************************************************\n" );

printf( "???????? 【1】添加聯系人\n" );

printf( "???????? 【2】查找聯系人\n" );

printf( "???????? 【3】顯示聯系人\n" );

printf( "???????? 【4】修改聯系人\n" );

printf( "???????? 【5】刪除聯系人\n" );

printf( "???????? 【6】清空聯系人\n" );

printf( "???????? 【7】排序聯系人\n" );

printf( "???????? 【0】退出程序?? \n" );

printf( "------------------------------------------------\n" );

}

int main()

{

TXL txl;

int input = 1;

initiate(&txl);

system( "color a");

while (input)

{

menu();

printf( "請輸入0~7之間的選擇:" );

scanf( "%d", &input);

switch (input)

{

case ADD:add(&txl);

break;

case FIND:find(&txl);

break;

case SHOW:show(&txl);

break;

case MODIFY:modify(&txl);

break;

case DELE:dele(&txl);

break;

case EMPTY:empty(&txl);

break;

case SORT:sort(&txl);

break;

case EXIT:exit(EXIT_SUCCESS );

break;

}

}

return 0;

}

總結

以上是生活随笔為你收集整理的用c语言编辑一个通讯录,c语言制作一个通讯录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。