#include <stdio.h>
#include <stdlib.h>
#include<string.h>
struct phone
{ char name[20];
char sex[5];
char number[20];
char remark[100];
}person[200];
int first()
{
system("cls") ;
system("color 0E");
int number;
printf("\t\t\t\t\t欢迎您的使用!!!\n");
printf("\t\t\t\t若输入1则表示您想要增加联系人\n\n");
printf("\t\t\t\t若输入2则表示您想要删除联系人\n\n");
printf("\t\t\t\t若输入3则表示您想要修改联系人\n\n");
printf("\t\t\t\t若输入4则表示您想要查询联系人\n\n");
printf("\t\t\t\t若输入5则表示您想要按联系人的姓名对电话簿进行排序\n\n");
printf("\t\t\t\t若输入0则表示您想要结束此次使用\n\n");
printf("请输入您想对电话簿进行的操作:");
scanf("%d",&number);
if(number>=0&&number<=5)
return number;
else
{
printf("此功能无法实现,如果您想继续使用,请输入0-5的数字......\n");
scanf("%d",&number);
return number;
}
}
int add(struct phone *person, int n)
{
system("cls");
printf("请输入您想要添加联系人的姓名:");
scanf("%s",&person[n].name);
printf("请输入您想添加的联系人的电话号码:");
scanf("%s",&person[n].number);
printf("请输入您想要添加的联系人的性别:");
scanf("%s",&person[n].sex);
printf("请输入您想要为此联系人的备注(若没有则填写无):");
scanf("%s",&person[n].remark);
printf("已完成添加功能!\n");
system("pause");
return n+1;
}
int del(struct phone *person,int n)
{
char mingzi[20];
int i,j,h;
system("cls");
printf("请输入您想删除的联系人姓名:");
scanf("%s",&mingzi);
for(i=0;i<n;i++)
{
if(strcmp(mingzi,person[i].name)==0)
{
break;
}
}
h=i;
if(i!=n)
{
for(j=i+1;j<n;j++)
{
person[h]=person[j];
h++;
}
printf("已完成删除功能.\n");return n-1;
}
else
{
printf("未找到要删除的联系人!");
return n;
}
system("pause");
}
void search(struct phone *person,int n)
{
char mingzi[20];
int flag=0;
int i;
system("cls");
printf("请输入您像要查询的联系人姓名:");
scanf("%s",&mingzi);
for(i=0;i<n;i++)
{
if(strcmp(mingzi,person[i].name)==0)
{
flag=1;
printf("您查找联系人的电话号码是:");
printf("%s\t",person[i].number);
printf("您查找联系人的备注是:");
printf("%s\n",person[i].remark);
}
}
if(flag==0)
printf("未找到您想要查找的联系人的电话号码!");
system("pause");
}
void change(struct phone *person,int n)
{
char mingzi[20];
int i;
char haoma [20],shifou[10],beizhu[20];
printf("请输入您想要修改的联系人的姓名:");
scanf("%s",&mingzi);
printf("请输入您想修改联系人的新的电话号码:");
scanf("%s",&haoma);
printf("请输入您想修改联系人的新的备注:");
scanf("%s",&beizhu);
for(i=0;i<n;i++)
{
if(strcmp(mingzi,person[i].name)==0)
break;
}
if(i!=n)
{
printf("是否确定修改(是/否)?");
scanf("%s",&shifou);
if(strcmp(shifou,"是")==0)
{
strcpy(person[i].number,haoma);
strcpy(person[i].remark,beizhu);
printf("已完成修改功能.\n");
}
else
printf("修改失败!");
}
else
printf("未找到您想修改的联系人!");
system("pause");
}
void sort(struct phone *person,int n)
{
int i,j;
struct phone t;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(person[i].name,person[j].name)==1)
{
t=person[i];
person[i]=person[j];
person[j]=t;
}
}
}
printf("%-15s%-15s%-15s%-15s\n","姓名","性别","电话号码","备注");
for(i=0;i<n;i++)
printf("%-15s%-15s%-15s%-15s\n",person[i].name,person[i].sex,person[i].number,person[i].remark);
printf("\n已完成排序功能\n");
system("pause");
}
int main()
{
int number=1;
int n=0;
while(number!=0)
{
number=first();
switch(number)
{
case 1:
n=add(person,n);
//函数名 实现增加
break;
case 2:
n=del(person,n);
//函数名 实现删除
break;
case 3:
change(person,n);
//函数名 实现修改
break;
case 4:
search(person,n);
//函数名 实现查找
break;
case 5:
sort(person,n);
//函数名 实现排序
break;
case 0:
printf("已结束,谢谢您的使用!!!\n");
}
}
return 0;
}
C语言设置电话薄
于 2022-02-25 08:17:49 首次发布