【C语言】通讯录制作
生活随笔
收集整理的這篇文章主要介紹了
【C语言】通讯录制作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//此部分為該通訊錄頭部(head.h)
#ifndef _CONTACT__
#define _CONTACT__#define NAME_MAX 20
#define SEX_MAX 5
#define TEL_MAX 11
#define ADDR_MAX 20
#define PERSON_MAX 1000#include <stdio.h>
#include <string.h>typedef struct person
{char name[NAME_MAX];char sex[SEX_MAX];int age;char tel[TEL_MAX];char addr[ADDR_MAX];
}*pPerson;typedef struct contact
{struct person TelBook[PERSON_MAX];int count;
}*pCon;void add_peo(pCon pcon);
void del_peo(pCon pcon);
void search_peo(pCon pcon);
void modil_peo(pCon pcon);
void show_peo(pCon pcon);
void clear_peo(pCon pcon);#endif
//此部分為通訊錄測試部分,即main函數部分(test.c) #include "head.h"void print() {printf(" ************************************************************************\n");printf(" || ||\n");printf(" || 1. 添加聯系人 2. 刪除聯系人 3.查找聯系人 ||\n");printf(" || 4. 修改聯系人 5. 顯示聯系人 6.清空聯系人 ||\n");printf(" || ||\n");printf(" ************************************************************************\n"); }int main () {struct contact my_contact;int input;my_contact.count=0;while(1){print();printf("請選擇操作:");scanf("%d",&input);switch(input){case 1:add_peo(&my_contact);break;case 2:del_peo(&my_contact);break; case 3:search_peo(&my_contact);break;case 4:modil_peo(&my_contact);break;case 5:show_peo(&my_contact);break;case 6:clear_peo(&my_contact);break;default:printf("操作錯誤\n");break;}}return 0; }
添加聯系人
//此部分為通訊錄最重要部分,即功能函數(contact.c)
#include "head.h"int find(pCon pcon,char *name) {int i=0;for(i=0;i<pcon->count;i++){if(strcmp((pcon->TelBook[i]).name,name)==0)return i;}return -1; } void add_peo(pCon pcon) {if((pcon->count)==PERSON_MAX)printf("通訊錄已滿,請刪除后再添加。\n");printf("姓名:");scanf("%s",(pcon->TelBook[pcon->count]).name);printf("性別:");scanf("%s",(pcon->TelBook[pcon->count]).sex);printf("年齡:");scanf("%d",&(pcon->TelBook[pcon->count]).age);printf("電話:");scanf("%s",(pcon->TelBook[pcon->count]).tel);printf("家庭住址:");scanf("%s",(pcon->TelBook[pcon->count]).addr);pcon->count++; } void del_peo(pCon pcon) {int ret=0;char peoplename[NAME_MAX];printf("請輸入您要刪除的聯系人:");scanf("%s",peoplename); ret=find(pcon,peoplename);if(ret==-1){printf("聯系人不存在。\n");}else{int j;for(j=ret;j<pcon->count-1;j++){pcon->TelBook[j]=pcon->TelBook[j+1];}printf("刪除聯系人成功。\n");}pcon->count--; } void search_peo(pCon pcon) {int ret=0;char peoplename[NAME_MAX];printf("請輸入您要查找的聯系人:");scanf("%s",peoplename); ret=find(pcon,peoplename);if(ret==-1){printf("聯系人不存在。\n");}else{printf(" %s\t",(pcon->TelBook[ret]).name);printf(" %s\t",(pcon->TelBook[ret]).sex);printf(" %d\t",(pcon->TelBook[ret]).age);printf(" %s\t",(pcon->TelBook[ret]).tel);printf(" %s\n",(pcon->TelBook[ret]).addr);} } void modil_peo(pCon pcon) {int ret=0;char peoplename[NAME_MAX];printf("請輸入您要修改的聯系人:");scanf("%s",peoplename); ret=find(pcon,peoplename);if(ret==-1){printf("聯系人不存在。");}else{printf("姓名:");scanf("%s",(pcon->TelBook[ret]).name);printf("性別:");scanf("%s",(pcon->TelBook[ret]).sex);printf("年齡:");scanf("%d",&(pcon->TelBook[ret]).age);printf("電話:");scanf("%s",(pcon->TelBook[ret]).tel);printf("家庭住址:");scanf("%s",(pcon->TelBook[ret]).addr);} } void show_peo(pCon pcon) {int i;for(i=0;i<pcon->count;i++){printf(" %d.%s\t",i+1,(pcon->TelBook[i]).name);printf(" %s\t",(pcon->TelBook[i]).sex);printf(" %d\t",(pcon->TelBook[i]).age);printf(" %s\t",(pcon->TelBook[i]).tel);printf(" %s\n",(pcon->TelBook[i]).addr);} } void clear_peo(pCon pcon) {pcon->count=0;printf("通訊錄已清空。\n"); }//此部分為通訊錄測試部分,即main函數部分(test.c) #include "head.h"void print() {printf(" ************************************************************************\n");printf(" || ||\n");printf(" || 1. 添加聯系人 2. 刪除聯系人 3.查找聯系人 ||\n");printf(" || 4. 修改聯系人 5. 顯示聯系人 6.清空聯系人 ||\n");printf(" || ||\n");printf(" ************************************************************************\n"); }int main () {struct contact my_contact;int input;my_contact.count=0;while(1){print();printf("請選擇操作:");scanf("%d",&input);switch(input){case 1:add_peo(&my_contact);break;case 2:del_peo(&my_contact);break; case 3:search_peo(&my_contact);break;case 4:modil_peo(&my_contact);break;case 5:show_peo(&my_contact);break;case 6:clear_peo(&my_contact);break;default:printf("操作錯誤\n");break;}}return 0; }
添加聯系人
刪除聯系人
查找聯系人
修改聯系人
顯示聯系人
清空聯系人
總結
以上是生活随笔為你收集整理的【C语言】通讯录制作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 矩阵分析及应用(1-2章)
- 下一篇: 数据恢复工具FinalData