c语言结构体实现存储信息,用C语言结构体实现通讯录
實現(xiàn)一個通訊錄;
通訊錄可以用來存儲1000個人的信息,每個人的信息包括:
姓名、性別、年齡、電話、住址
提供方法:
1.?? ?添加聯(lián)系人信息
2.?? ?刪除指定聯(lián)系人信息
3.?? ?查找指定聯(lián)系人信息
4.?? ?修改指定聯(lián)系人信息
5.?? ?顯示所有聯(lián)系人信息
6.?? ?清空所有聯(lián)系人
#include"stdio.h"
#include
#include
struct People//聯(lián)系人結(jié)構(gòu)體
{
char name[10];
char sex[5];
int age;
char tel[20];
char addr[20];
};
struct Contacts//通訊錄結(jié)構(gòu)體
{
struct People person[1000];
int user_count;
};
typedef struct Contacts *pContacts;//自定義指向通訊里結(jié)構(gòu)體的指針變量
int find_entry(pContacts pcon)//查找入口
{
int i = 0 ;
char name[20];
printf("Please input name:");
scanf("%s",name);
for(i = 0;i < pcon->user_count;i++)
{
if(strcmp(pcon->person[i].name ,name) == 0)
{
return i;
}
}
return -1;
}
int add(pContacts pcon)//增加聯(lián)系人
{
if(pcon->user_count == 1000)
{
printf("Telephone book is full!\n");
return -1;
}
printf("Please input name:");
scanf("%s",pcon->person[pcon->user_count].name);
printf("Please input sex:");
scanf("%s",pcon->person[pcon->user_count].sex);
printf("Please input age:");
scanf("%d",&(pcon->person[pcon->user_count].age));
printf("Please input tele:");
scanf("%s",pcon->person[pcon->user_count].tel);
printf("Please input addr:");
scanf("%s",pcon->person[pcon->user_count].addr);
pcon->user_count++;
return 1;
}
int del(pContacts pcon)//刪除聯(lián)系人
{
int i = 0;
int ret = find(pcon);
if(ret != -1)
{
for(i = ret;i < pcon->user_count-1;i++)
{
pcon->person[i] = pcon->person[i+1];
}
pcon->user_count--;
return 1;
}
else
{
printf("not exist!\n");
return -1;
}
}
int clear(pContacts pcon) //清理全部聯(lián)系人
{
pcon->user_count = 0;
return 1;
}
int find(pContacts pcon) //查找聯(lián)系人
{
int ret = find_entry(pcon);
if(ret != -1)
{
printf("name:%s\n",pcon->person[ret].name);
printf("sex:%s\n",pcon->person[ret].sex);
printf("age:%d\n",pcon->person[ret].age);
printf("tele:%s\n",pcon->person[ret].tel);
printf("addr:%s\n",pcon->person[ret].addr);
return 1;
}
else
{
printf("not exist!\n");
return -1;
}
}
int modify(pContacts pcon) //編輯聯(lián)系人
{
int ret = find(pcon);
if(ret != -1)
{
printf("Please input name:");
scanf("%s",pcon->person[ret].name);
printf("Please input sex:");
scanf("%s",pcon->person[ret].sex);
printf("Please input age:");
scanf("%s",pcon->person[ret].age);
printf("Please input tele:");
scanf("%s",pcon->person[ret].tel);
printf("Please input addr:");
scanf("%s",pcon->person[ret].addr);
return 1;
}
else
{
printf("not exist!\n");
return -1;
}
}
void show(pContacts pcon) //顯示全部聯(lián)系人
{
int i = 0;
for(i = 0;i < pcon->user_count;i++)
{
printf("\n\t\tname:\t%-10s",pcon->person[i].name);
printf("\n\t\tsex:\t%-5s", pcon->person[i].sex);
printf("\n\t\tage:\t%-2d",pcon->person[i].age);
printf("\n\t\ttel:\t%-20s",pcon->person[i].tel);
printf("\n\t\taddr:\t%-20s\n",pcon->person[i].addr);
}
printf("\n");
}
int main()//主函數(shù)
{
char flag=1;
struct Contacts person;
person.user_count=0;
printf("\t\t1.增加聯(lián)系人\n");
printf("\t\t2.刪除聯(lián)系人\n");
printf("\t\t3.修改聯(lián)系人\n");
printf("\t\t4.查找聯(lián)系人\n");
printf("\t\t5.顯示所有聯(lián)系人\n");
printf("\t\t6.清空聯(lián)系人列表\n");
printf("\t\t0.退出通訊錄\n");
while(flag>0&&flag<=6)//先進(jìn)入系統(tǒng),然后再僅進(jìn)行操作!
{
printf("\n\n\t\t請鍵入您要執(zhí)行操作的序號:");
scanf("%d",&flag);
switch(flag)
{
case 1:add(&person);break;
case 2:del(&person);break;
case 3:modify(&person);break;
case 4:find(&person);break;
case 5:show(&person);break;
case 6:clear(&person);break;
case 0:printf("\n\n\n\t\t*********************exit!********************\n\n\n\n");break;
default :printf("\n\t\tyour enter is error!\n");
}
}
return 0;
}
總結(jié)
以上是生活随笔為你收集整理的c语言结构体实现存储信息,用C语言结构体实现通讯录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 共享单车,信息安全应未雨绸缪
- 下一篇: 计算机地址栏搜索记录怎么删除,怎么删除网