📄 新建 文本文档.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Telephone_list
{
char name[50];
int TelephoneNum ;
char address[50];
int live ;
}
tel[99],tel_imp ;
void save()
{
int c ;
FILE*fp ;
fp=fopen("tel.txt","wb+");
for(c=0;c<99;c++)if(tel[c].live==1)
fwrite(&tel[c],sizeof(struct Telephone_list),1,fp);
fclose(fp);
}
void modify(int f)
{
int mod_select,mod_TelephoneNum;char mod_name[50],mod_address[50];
printf("1.修改姓名。\n");
printf("2.修改话。\n");
printf("3.修改地址。\n");
printf("0.返回。\n");
scanf("%d",&mod_select);
switch(mod_select)
{
case 1:
printf("输入新名字。\n");
scanf("%s",tel[f].name);
printf("修改成功\n");
break;
case 2:
printf("输入新号码。\n");
scanf("%d",&tel[f].TelephoneNum);
printf("修改成功\n");
break;
case 3:
printf("输入新地址。\n");
scanf("%s",tel[f].address);
printf("修改成功\n");
break;
default:
printf("返回\n");break;
}
}
void load()
{
int c ;
FILE*fp ;
fp=fopen("tel.txt","a+");
for(c=0;c<99;c++)
fread(&tel[c],sizeof(struct Telephone_list),1,fp);
fclose(fp);
}
void import()
{
int a,b=0,c,d ;
while(d!=0)
{
printf("插入电话信息\n");
printf("请输入电话主人的名字:\n");
scanf("%s",tel_imp.name);
for(a=0;a<=99;a++)
{
if(strcmp(tel[a].name,tel_imp.name)==0)
{
printf("姓名重复,是否继续添加,按1继续 其他退出\n");
scanf("%d",&b);
break ;
}
}
if(b==1)
{
printf("电话号码:\n");
scanf("%d",&(tel_imp.TelephoneNum));
printf("住址:\n");
scanf("%s",tel_imp.address);
for(c=0;c<=99;c++)
{
if(tel[c].live!=1)
{
tel[c]=tel_imp ;
tel[c].live=1 ;
break ;
}
}
}
if(a==100)
{
printf("电话号码:\n");
scanf("%d",&(tel_imp.TelephoneNum));
printf("住址:\n");
scanf("%s",tel_imp.address);
for(c=0;c<=99;c++)
{
if(tel[c].live!=1)
{
tel[c]=tel_imp ;
tel[c].live=1 ;
break ;
}
}
}
printf("退出输入请按0\n");
scanf("%d",&d);
}
save();
}
void search()
{
int search_Num,search_select,a,ab,b,c;
char search_Name[50];
printf("1按照电话号码查询\n2按照姓名查询。\n");
scanf("%d",&search_select);
switch(search_select)
{
case 1 :
printf("请输入号码。\n");
scanf("%d",&search_Num);
for(ab=0;ab<=99;ab++)
{
if(tel[ab].TelephoneNum==search_Num)
printf("名字是:%s电话号:%d住址是:%s\n",tel[ab].name,tel[ab].TelephoneNum,tel[ab].address);
}
break ;
case 2 :
printf("请输入名字。\n");
scanf("%s",search_Name);
for(ab=0;ab<=99;ab++)
{
if(strcmp(tel[ab].name,search_Name)==0)
printf("名字是:%s电话号:%d住址是:%s\n",tel[ab].name,tel[ab].TelephoneNum,tel[ab].address);
}
break ;
default :
printf("输入错误\n");
break ;
}
}
void alter()
{
int alter_TelephoneNum,a ;
char alter_Name[50];
char alter_address[50];
printf("1.查找姓名修改。\n");
printf("2.查找电话修改。\n");
printf("3.查找地址修改。\n");
printf("0.返回。\n");
scanf("%d",&a);
switch(a)
{
case 1 :
printf("1.输入姓名。\n");
scanf("%s",alter_Name);
for(a=0;a<=99;a++)
{
if(strcmp(tel[a].name,alter_Name)==0)
{
modify(a);
}
}
break ;
case 2 :
printf("1.输入电话。\n");
scanf("%s",alter_TelephoneNum);
for(a=0;a<=99;a++)
{
if(tel[a].TelephoneNum=alter_TelephoneNum==0)
{
modify(a);
}
}
break ;
case 3 :
printf("1.输入地址。\n");
scanf("%s",alter_address);
for(a=0;a<=99;a++)
{
if(strcmp(tel[a].address,alter_address)==0)
{
modify(a);
}
}
break ;
default :
printf("返回。\n");
break ;
}
save();
}
void del()
{
int a ;
char del_Name[50];
char decide ;
printf("请输入需要删除的电话号码的名字。\n");
scanf("%s",del_Name);
for(a=0;a<=99;a++)
if(strcmp(tel[a].name,del_Name)==0)
{
printf("现在删除的电话信息是");
printf("名字是:%s电话号:%d住址是:%s\n",tel[a].name,tel[a].TelephoneNum,tel[a].address);
printf("按y键确认删除\n");
scanf("%s",&decide);
if(decide=='y')
{
tel[a].live=0 ;
save();
}
else
{
printf("操作退出\n");
break ;
}
break ;
}
}
void showall()
{
int b=1 ;
while(b==1)
{
int c ;
for(c=0;c<=99;c++)
{
if(tel[c].live==1)printf("名字是:%s电话号:%d住址是:%s\n",tel[c].name,tel[c].TelephoneNum,tel[c].address);
}
printf("按任意键退出\n");
scanf("%s",&b);
}
}
void main()
{
int select ;
load();
while(select!=0)
{
printf("\t\t************************************************\n\n");
printf("\t\t************************************************\n\n");
printf("\t\t*************** 通讯录管理系统 ***************\n\n");
printf("\t\t**************** 功能选项 ****************\n\n");
printf("\t\t*************** 1 建立新的通讯录 ***************\n\n");
printf("\t\t*************** 2 通过电话号码或姓名查找 *******\n\n");
printf("\t\t*************** 3 修改联系人数据 ***************\n\n");
printf("\t\t*************** 4 删除记录 *********************\n\n");
printf("\t\t*************** 5 输出记录 *********************\n\n");
printf("\t\t*************** 0 退出此系统 *******************\n\n");
printf("\t\t************************************************\n\n");
printf("\t\t************************************************\n\n");
printf("选项(0-5):[ ]\b\b");
scanf("%d",&select);
switch(select)
{
case 1 :
{
import();
break ;
}
case 2 :
{
search();
break ;
}
case 3 :
{
alter();
break ;
}
case 4 :
{
del();
break ;
}
case 5 :
{
showall();
break ;
}
default :
printf("输入错误\n");
break ;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -