69,368
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 500
struct tele
{
char client_name[30];
char client_address[50];
char client_telephone[15];
};
struct tele telephone[N];
int cur=0;
void input(struct tele *s);
int amend(struct tele *s);
int delete_client(struct tele *s);
int demand_client(struct tele *s);
void collect_client(struct tele *s);
void sort(struct tele *s);
int main()
{
char choice;
do
{
system("cls");
printf("**************************\n");
printf("1:添加用户信息\t\t**\n2:修改用户信息\t\t**\n3:删除用户信息\t\t**\n4:用户信息查询\t\t**\n5:用户信息汇总\t\t**\n6:排序\t\t\t**\n7:退出\t\t\t**\n");
printf("**************************\n:");
fflush(stdin);
choice=getchar();
switch(choice)
{
case '1':input(telephone);break;
case '2':amend(telephone);break;
case '3':delete_client(telephone);break;
case '4':demand_client(telephone);break;
case '5':collect_client(telephone);break;
case '6':sort(telephone);break;
case '7':exit(0);
}
getch();
}while(1);
return 0;
}
void input(struct tele *s)
{
if(cur==N-1)
{
printf("容量已满无法存储");
return;
}
else
{
printf("请输入订户的名字、地址和电话号码:");
fflush(stdin);
scanf("%s%s%s",s[cur].client_name,s[cur].client_address,s[cur].client_telephone);
cur++;
}
return ;
}
int amend(struct tele *s)
{
int i=0;
char str[30];
printf("请输入需要修改订户的姓名:");
fflush(stdin);
gets(str);
while(strcmp(s[i].client_name,str)!=0&&i<=cur)
i++;
if(i>cur)
{
printf("订户不存在");
return 0;
}
printf("订户的名字 地址 电话号码\n");
printf("%s %s %s\n",s[i].client_name,s[i].client_address,s[i].client_telephone);
printf("请重新输入订户的名字、地址和电话号码:");
fflush(stdin);
scanf("%%s%s%s",s[i].client_name,s[i].client_address,s[i].client_telephone);
return 1;
}
int delete_client(struct tele *s)
{
int j,i=0;
char str[30];
printf("请输入要删除订户的姓名:");
fflush(stdin);
gets(str);
while(strcmp(s[i].client_name,str)!=0&&i<=cur)
i++;
if(i>cur)
{
printf("订户不存在,无法删除");
return 0;
}
for(j=i+1;j<=cur;j++)
s[j-1]=s[j];
cur--;
return 1;
}
int demand_client(struct tele *s)
{
int men,i=0;
char str[30];
printf("**1:按姓名查找输\n**2:按电话号码查找\n:");
fflush(stdin);
scanf("%d",&men);
switch(men)
{
case 1:
printf("请输入订户姓名:");
fflush(stdin);
scanf("%s",str);
while(strcmp(s[i].client_name,str)!=0&&i<=cur)
i++;
if(i>cur)
{
printf("订户不存在");
return 0;
}
printf("订户的名字\t地址\t电话号码\n");
printf("%s %s %s\n",s[i].client_name,s[i].client_address,s[i].client_telephone);
break;
case 2:
printf("请输入订户电话号码:");
fflush(stdin);
scanf("%s",str);
while(strcmp(s[i].client_telephone,str)!=0&&i<=cur)
i++;
if(i>cur)
{
printf("订户不存在");
return 0;
}
printf("订户的名字\t地址\t电话号码\n");
printf("%s %s %s\n",s[i].client_name,s[i].client_address,s[i].client_telephone);
break;
default:break;
}
return 1;
}
void collect_client(struct tele *s)
{
int i;
printf("订户的名字\t地址\t电话号码\n");
for(i=0;i<=cur;i++)
{
printf("%s %s %s\n",s[i].client_name,s[i].client_address,s[i].client_telephone);
}
}
void sort(struct tele *s)
{
struct tele a;
int i,j;
for(i=0;i<cur;i++)
for(j=i+1;j<=cur;j++)
if(strcmp(s[i].client_name,s[j].client_name)>0)
{
a=s[i];
s[i]=s[j];
s[j]=a;
}
}