C语言大作业_电话号码管理系统设计

C语言大作业_电话号码管理系统设计


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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信