/*
编写一个简易的电话号码软件,要求如下:
1)可以存储人名和电话(提示用二维字符数组,第一维数组存放姓名,第二维存放电话)
2)可以输入(增加)、根据姓名为条件查找、修改和删除电话。
编写一个简易的电话号码软件,要求如下:
1)可以存储人名和电话(提示用二维字符数组,第一维数组存放姓名,第二维存放电话)
2)可以输入(增加)、根据姓名为条件查找、修改和删除电话。
*/
#include <stdio.h>
#include <windows.h>
#pragma warning (disable:4996)
#define ROW 128//最多可存储128人的电话,要扩充人数可直接修改此值
#define COL1 9//姓名所占字节
#define COL2 12/号码所占字节
void menu();//菜单
void add(char tel[][COL1 + COL2], int *personNum);//增加电话
void change(char tel[][COL1 + COL2], int *personNum);//修改电话
void del(char tel[][COL1 + COL2], int *personNum);//删除电话
void lookup(char tel[][COL1 + COL2], int *personNum);//查找电话
int main()
{
char tel[ROW][COL1 + COL2] = { 0 };
int n=0; //选项
int personNum = 0;//人数
while (1)
{
menu();
scanf("%d", &n);
switch (n)
{
case 1:
add(tel, &personNum);
system("cls");//清除屏幕
break;
case 2:
del(tel, &personNum);
system("cls");
break;
case 3:
change(tel, &personNum);
system("cls");
break;
case 4:
lookup(tel, &personNum);
break;
case 5:
exit(0);
break;
default:
printf("输入错误,请重新输入\n");
break;
}
}
system("pause");
return 0;
}
void menu()
{//菜单
printf("请输入您操作选项:\n");
printf(" 1、增加 \n");
printf(" 2、删除 \n");
printf(" 3、修改 \n");
printf(" 4、查找 \n");
printf(" 5、退出 \n");
}
void add(char tel[][COL1 + COL2], int *personNum)
{//增加电话
printf("请输入要增加的人的姓名:");
scanf("%s", tel[*personNum]);
printf("请输入要增加的人的电话:");
scanf("%s", tel[*personNum] + COL1);
(*personNum)++;
}
void change(char tel[][COL1 + COL2], int *personNum)
{//修改电话
char name[8] = { 0 };
printf("请输入要修改的人的姓名:");
scanf("%s", name);
for (int i = 0; i <= *personNum; i++)
{
if (strcmp(tel[i], name) == 0)
{
printf("请输入要修改的人的电话:");
scanf("%s", tel[i] + COL1);
return;
}
}
printf("未找到这个人");
}
void del(char tel[][COL1 + COL2], int *personNum)
{//删除电话
char name[8] = { 0 };
printf("请输入要修改的人的姓名:");
scanf("%s", name);
for (int i = 0; i <= *personNum; i++)
{
if (strcmp(tel[i], name) == 0)
{
for (int j = i; j <= *personNum; j++)
{
for (int k = 0; k < COL1 + COL2; k++)
{
tel[j][k] = tel[j + 1][k];
}
}
(*personNum)--;
return;
}
}
printf("未找到这个人");
}
void lookup(char tel[][COL1 + COL2], int *personNum)
{//查找电话
char name[8] = { 0 };
printf("请输入要查找的人的姓名:");
scanf("%s", name);
for (int i = 0; i <= *personNum; i++)
{
if (strcmp(tel[i], name) == 0)
{
printf("要查找的人的的电话是:");
for (int j = COL1; j < COL1 + COL2; j++)
{
printf("%c", tel[i][j]);
}
printf("\n");
return;
}
}
printf("未找到这个人");
}
运行截图: