您的位置:首页 > 编程语言 > C语言/C++

通讯录小程序(C/C++)C语言练习小程序

2016-06-05 10:57 417 查看
实现一个通讯录;
通讯录可以用来存储1000个人的信息,每个人的信息包括:
姓名、性别、年龄、电话、住址

实现功能:
1. 添加联系人信息
2. 删除指定联系人信息
3. 查找指定联系人信息
4. 修改指定联系人信息
5. 显示所有联系人信息
6. 清空所有联系人
7. 以名字排序所有联系人

程序说明:
分模块实现
Phonelist.h 头文件——存放函数声明
fun.c ——函数实现
test.c——主函数
!Phonelist.h!
;
int Age;
char Sex[3];  //男/女
char Tele[13];
char Address[20];
//struct PHONE *next;
}PHONE,*Phone;

void ADD(PHONE *p);//添加

int DEL(Phone p, char*);//删除
void SEEK(Phone p, char *);//查找
void REVISE(Phone p, char *);//修改
void SHOW(Phone p);//显示
void FREE_ALL(Phone p);//清空
void SORT(Phone p, const size_t );//用快排排序必须将结构体第一个成员设为 Name,才可以实现
void menu();
#endif  //__ARROPT_H__fun.c ——函数实现
//fun.c

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"Phonelist.h"

#define MAX 1000  //通讯录最大存储人数

//*****************添加**************
void ADD(Phone p)
{
printf("请输入要录入联系人的姓名\n");
scanf_s("%s", p->Name, 10);//用scanf_s 函数实现字符串的输入
printf("请输入要录入联系人的性别(男/女)\n");
scanf_s("%s", p->Sex,3);
printf("请输入要录入联系人的年龄\n");
scanf_s("%d", &p->Age);
printf("请输入要录入联系人的电话\n");
scanf_s("%s",p->Tele, 13);
printf("请输入要录入联系人的住址\n");
scanf_s("%s", p->Address, 20);
}
//****************删除**************************
int DEL(Phone p,char *name)
{
int i = 0;
int tmp = 0;
Phone j = p;
while (i++ < MAX)
{
if (strcmp(j->Name, name) == 0)
{
j->Age = 0;
tmp = 1;
break;
}
j++;
}
if (tmp == 1)
{
printf("%s信息删除成功!\n", name);
return 1;
}
else
{
printf("%s信息删除失败,无此人!\n", name);
return 0;
}
}

//*********查找*************
void show_one(Phone j)
{
printf("Name: %s  ]test.c——主函数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"Phonelist.h"
#define MAX 1000

PHONE PEO[MAX] = {0};
int main()
{
int choose = 1;
int i = 0;
int ret = 0;
while (choose)
{
menu();
scanf_s("%d", &choose);
char name[10];
if (choose >= 0 && choose < 8)
{
switch (choose)
{
i = 0;
case 1:
if (PEO[i].Age == 0 && i < MAX)//设:若Age信息为"0"则对应信息为空
ADD(&PEO[i++]);
break;
case 2:
printf("请输入要删除学生的名字\n");
scanf_s("%s", name, 10);
ret = DEL(PEO, name);
if (ret == 1)
i--;
break;
case 3:
printf("请输入要查找学生的名字\n");
scanf_s("%s", name, 10);
SEEK(PEO, name);
break;
case 4:
printf("请输入要修改学生的名字\n");
scanf_s("%s", name, 10);
REVISE(PEO, name);
break;
case 5:
SHOW(PEO);
break;
case 6:
FREE_ALL(PEO);
break;
case 7:
SORT(PEO, i - 1);
printf("排序结果: \n");
SHOW(PEO);
break;
default:
break;
}
}
}
system("pause");
return 0;
}
650) this.width=650;" title="1.png" style="float:none;" alt="wKiom1ZZz1HiQ9IKAAA6208brTU289.png" src="http://s4.51cto.com/wyfs02/M00/76/B4/wKiom1ZZz1HiQ9IKAAA6208brTU289.png" />
650) this.width=650;" title="2.png" style="float:none;" alt="wKiom1ZZz1HSoxTdAAAzy28bd9c963.png" src="http://s1.51cto.com/wyfs02/M01/76/B4/wKiom1ZZz1HSoxTdAAAzy28bd9c963.png" />
650) this.width=650;" title="3.png" style="float:none;" alt="wKioL1ZZz7TD8KRoAAApWYm3ZPI510.png" src="http://s4.51cto.com/wyfs02/M00/76/B3/wKioL1ZZz7TD8KRoAAApWYm3ZPI510.png" />
650) this.width=650;" title="4.png" style="float:none;" alt="wKiom1ZZz1LRSg8OAAAqKkvyl1s226.png" src="http://s4.51cto.com/wyfs02/M02/76/B4/wKiom1ZZz1LRSg8OAAAqKkvyl1s226.png" />
650) this.width=650;" title="5.png" style="float:none;" alt="wKioL1ZZz7SyVxegAAAVmiIAXQo740.png" src="http://s4.51cto.com/wyfs02/M01/76/B3/wKioL1ZZz7SyVxegAAAVmiIAXQo740.png" />
650) this.width=650;" title="6.png" style="float:none;" alt="wKiom1ZZz1ORfTdHAAAwPgfxn5E138.png" src="http://s1.51cto.com/wyfs02/M00/76/B4/wKiom1ZZz1ORfTdHAAAwPgfxn5E138.png" />
650) this.width=650;" title="7.png" style="float:none;" alt="wKioL1ZZz7XgxWsxAAAUWNtgeT0598.png" src="http://s4.51cto.com/wyfs02/M02/76/B3/wKioL1ZZz7XgxWsxAAAUWNtgeT0598.png" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: