2024年1月13日发(作者:)
#include
#include
#include
#include
#define N 100
void input();//添加新用户
void amend();//修改用户信息
void delete_client();//删除用户信息
void search_client();//用户信息查询
void collect_telephone();//所有用户信息
void save_client(struct telephone message);//保存
void search_name();//按用户名查询
void search_telephone();//按电话号码查询
void goodbye();//退出提示
struct telephone
{
char client_name[20];
char client_address[30];
char client_telephone[15];
};
void main()
{
char choice[10]="";
int len=0;
while (choice[0]!='7')
{
system("cls");
printf(" ◢◤〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓◥◣");
printf("n ◢◤〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓◥◣");
printf("n █===┏┯┓┏┯┓┏┯┓┏┯┓┏┯┓┏┯┓┏┯┓┏┯┓┏┯┓┏┯┓===█");
printf("n █===┠欢┨┠迎┨┠使┨┠用┨┠电┨┠话┨┠管┨┠理┨┠系┨┠统┨===█");
printf("n █===┗┷┛┗┷┛┗┷┛┗┷┛┗┷┛┗┷┛┗┷┛┗┷┛┗┷┛┗┷┛===█");
printf("n ◥◣〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓◢◤");
printf("n ◥◣〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓◢◤n");
printf(" ★≈★≈★≈★≈★≈★≈★≈★≈★≈★≈★≈★≈★≈★≈★≈★
≈★≈★≈★≈★");
printf("n 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓n");
printf(" ┃ | | |
┃n");
printf(" ┃ 1、 | 用户信息查询 | 2、 | 所有用户信息
┃n");
printf(" ┃ | | |
┃n");
printf(" ┃=========|════════════|========|════════════┃n");
printf(" ┃ | | |
┃n");
printf(" ┃ 3、 | 删除用户信息 | 4、 | 添加用户
┃n");
printf(" ┃ | | |
┃n");
printf(" ┃=========|════════════|========|════════════┃n");
printf(" ┃ | | |
┃n");
printf(" ┃ 5、 | 修改用户信息 | 6、 | 退出系统
┃n");
printf(" ┃ | | |
┃n");
printf(" 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓n");
printf("n 请选择(1-6):");
scanf("%s",choice);
len=strlen(choice);
if (len>1)
{
printf("n 请输入1-6之间的整数n");
printf("n 按回车键返回主菜单n");
getchar();
getchar();
continue;
}
switch (choice[0])
{
case '1':search_client();break;
case '2':collect_telephone();break;
case '3':delete_client();break;
case '4':input();break;
case '5':amend();break;
case '6':goodbye();break;
default:break;
}
}
}
//添加新用户
void input()
{
struct telephone message;
char reply='y';
char save='y';
while (reply=='y')
{
system("cls");
printf("n 用户姓名:");
scanf("%s",_name);
printf("n 家庭住址:");
scanf("%s",_address);
printf("n 电话号码:");
scanf("%s",_telephone);
printf("n 要保存吗?(y/n):");
scanf(" %c",&save);
if (save=='y')
{
save_client(message);
}
printf("n 是否继续?(y/n):");
scanf(" %c",&reply);
}
printf("n 按回车键返回主菜单n");
getchar();
getchar();
}
//保存
void save_client(struct telephone message)
{
FILE *fp;
fp=fopen("","a+");
if (fp!=NULL)
{
fwrite(&message,sizeof(struct telephone),1,fp);
}
else
{
printf("n 打开文件时出现错误,按回车键返回n");
getchar();
return;
}
fclose(fp);
}
//修改用户信息
void amend()
{
struct telephone message;
FILE *fp;
char amend_name[20];
char reply='y';
char found='y';
char save='y';
int size=sizeof(struct telephone);
while (reply=='y')
{
found='n';
fp=fopen("","r+w");
if (fp!=NULL)
{
system("cls");
printf("n 请输入你要修改的姓名:");
scanf("%s",amend_name);
while ((fread(&message,size,1,fp))==1)
{
if ((strcmp(amend_name,_name))==0)
{
found='y';
break;
}
}
if (found=='y')
{
printf("n 修改用户信息n");
printf("n 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
printf("n ┃ 用户姓名 ┃ %-16s┃",_name);
printf("n ┃━━━━━━━━┃━━━━━━━━━━━━┃");
printf("n ┃ 家庭地址 ┃ %-16s┃",_address);
printf("n ┃━━━━━━━━┃━━━━━━━━━━━━┃");
printf("n ┃ 电话号码 ┃ %-16s┃",_telephone);
printf("n 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓n");
printf("n 修改用户信息:n");
printf("n 用户姓名:");
scanf("%s",_name);
printf("n 家庭住址:");
scanf("%s",_address);
printf("n 电话号码:");
scanf("%s",_telephone);
printf("n 是否保存?(y/n):");
scanf(" %c",&save);
if(save=='y')
{
fseek(fp,-size,1);
fwrite(&message,sizeof(struct telephone),1,fp);
}
}
else
{
printf("n 无此信息!n");
}
}
else
{
printf("n 打开文件时出现错误,按回车键返回n");
getchar();
return;
}
fclose(fp);
printf("n 是否继续?(y/n):");
scanf(" %c",&reply);
}
printf("n 按回车键返回主菜单n");
getchar();
getchar();
}
//删除用户信息
void delete_client()
{
struct telephone message[N];
struct telephone temp_str;
struct telephone delete_str;
int i=0,j=0;
char reply='y';
char found='y';
char confirm='y';
char delete_name[20];
FILE *fp;
while (reply=='y')
{
system("cls");
fp=fopen("","r");
if (fp!=NULL)
{
i=0;
found='n';
printf("n 请输入你要删除的姓名:");
scanf("%s",delete_name);
while ((fread(&temp_str,sizeof(struct telephone),1,fp))==1)
{
if((strcmp(delete_name,temp__name))==0)
{
found='y';
delete_str=temp_str;
}
else
{
message[i]=temp_str;
i++;
}
}
}
else
{
printf("n 无此信息,按回车键返回n");
getchar();
return;
}
fclose(fp);
if (found=='y')
{
printf("n 用户信息");
printf("n 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
printf("n ┃ 用户姓名 ┃ %-16s┃",delete__name);
printf("n ┃━━━━━━━━┃━━━━━━━━━━━━┃");
printf("n ┃ 家庭地址 ┃ %-16s┃",delete__address);
printf("n ┃━━━━━━━━┃━━━━━━━━━━━━┃");
printf("n ┃ 电话号码 ┃ %-16s┃",delete__telephone);
printf("n 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓n");
}
else
{
printf("n 无此信息,按回车键返回n");
getchar();
break;
}
printf("n 确定要删除?(y/n):");
scanf(" %c",&confirm);
if (confirm=='y')
{
fp=fopen("","w");
if (fp!=NULL)
{
for(j=0;j
{
fwrite(&message[j],sizeof(struct telephone),1,fp);
}
printf("n 记录已删除n");
}
else
{
printf("n 打开文件时出现错误,按回车键返回n");
getchar();
return;
}
fclose(fp);
}
printf("n 是否继续?(y/n):");
scanf(" %c",&reply);
}
getchar();
}
//用户信息查询
void search_client()
{
int choice=1;
while (choice!=3)
{
system("cls");
printf("n
printf("n
");
printf("n
┃");
printf("n
┃");
printf("n
┃");
printf("n
┃");
printf("n
┃");
printf("n
n");
printf("n
scanf("%d%*c",&choice);
if (choice>3)
{
printf("n
(1-3)n");
printf("n
getchar();
continue;
}
if (choice==1)
{
search_name();
电话查询菜单n");
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓┃ 1 ┃ 按用户姓名查询
┃ 2 ┃ 按电话号码查询
┃ 3 ┃ 返回主菜单
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓请选择(1-3):");
请输入1-3之间的整数
按回车键返回");
┃━━━━━━━━┃━━━━━━━━━━━━┃━━━━━━━━┃━━━━━━━━━━━━
}
else if (choice==2)
{
search_telephone();
}
}
}
//按用户名查询
void search_name()
{
struct telephone message;
FILE *fp;
char amend_name[20];
char reply='y';
char found='y';
while (reply=='y')
{
found='n';
fp=fopen("","r+w");
if (fp!=NULL)
{
system("cls");
printf("n 请输入你要查的姓名:");
scanf("%s",amend_name);
while ((fread(&message,sizeof(struct telephone),1,fp))==1)
{
if ((strcmp(amend_name,_name))==0)
{
found='y';
break;
}
}
if (found=='y')
{
printf("n 用户信息n");
printf("n 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
printf("n ┃ 用户姓名 ┃ %-16s┃",_name);
printf("n ┃━━━━━━━━┃━━━━━━━━━━━━┃");
printf("n ┃ 家庭地址 ┃ %-16s┃",_address);
printf("n ┃━━━━━━━━┃━━━━━━━━━━━━┃");
printf("n ┃ 电话号码 ┃ %-16s┃",_telephone);
printf("n 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓n");
}
else
{
printf("n 无此信息n");
}
}
else
{
printf("n 打开文件时出现错误,按回车键返回n");
getchar();
return;
}
fclose(fp);
printf("n 是否继续?(y/n):");
scanf(" %c",&reply);
}
printf("n 按回车键返回主菜单n");
getchar();
getchar();
}
//按电话号码查询
void search_telephone()
{
struct telephone message;
FILE *fp;
char telephone[20];
char reply='y';
char found='y';
while (reply=='y')
{
found='n';
fp=fopen("","r+w");
if (fp!=NULL)
{
system("cls");
printf("n 请输入你要查的电话号码:");
scanf("%s",telephone);
while ((fread(&message,sizeof(struct telephone),1,fp))==1)
{
if ((strcmp(telephone,_telephone))==0)
{
found='y';
break;
}
}
if (found=='y')
{
printf("n
printf("n
〓〓〓〓〓");
printf("n
",_name);
printf("n
━━━━┃");
printf("n
",_address);
printf("n
━━━━┃");
printf("n
",_telephone);
printf("n
〓〓〓〓〓n");
}
else
{
printf("n
}
}
else
{
printf("n
键返回n");
getchar();
return;
}
fclose(fp);
printf("n
scanf(" %c",&reply);
}
printf("n
用户信息n");
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 用户姓名 ┃ %-16s┃ 家庭地址 ┃ %-16s┃ 电话号码 ┃ %-16s┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓无此电话号码信息n");
打开文件时出现错误,按回车是否继续?(y/n):");
按回车键返回主菜单n");
┃┃━━━━━━━━┃━━━━━━━━┃┃━━━━━━━━┃━━━━━━━━┃
getchar();
getchar();
}
//显示所有用户信息函数
void collect_telephone()
{
struct telephone message;
FILE *fp;
fp=fopen("","r");
if (fp!=NULL)
{
system("cls");
printf("n 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓");
printf("n ┃ 用户姓名 ┃ 家庭地址 ┃ 电话号码
┃");
printf("n 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓n");
while ((fread(&message,sizeof(struct telephone),1,fp))==1)
{
printf(" ┃%-16s┃%-16s┃%-16s┃",_name,_address,_telephone);
printf("n ┃━━━━━━━━┃━━━━━━━━┃━━━━━━━━┃n");
}
}
else
{
printf("n 打开文件时出现错误,按回车键返回n");
getchar();
return;
}
fclose(fp);
printf("n 按回车键返回主菜单n");
getch();
}
//退出函数
void goodbye()
{
char c;
printf(" 真的退出?(y/n):");
getchar();
c=getchar();
if(c=='y'||c=='Y')
{
system("cls");
exit(0);
}
else
if(c=='n'||c=='N')
{
printf("n
getch();
}
}
按回车键返回n");
发布者:admin,转转请注明出处:http://www.yc00.com/web/1705106199a1393595.html
评论列表(0条)