commit
95d75d017c
@ -0,0 +1,257 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include<string.h>
|
||||
typedef struct
|
||||
{
|
||||
char name[10];
|
||||
char jiguan[20];
|
||||
long long num1;
|
||||
long long num2;
|
||||
char email[20];
|
||||
}person;
|
||||
void xinjian(FILE *p);
|
||||
void liulan(FILE *p);
|
||||
void chaxun(FILE *p);
|
||||
void xiugai(FILE *p);
|
||||
int shanchu(FILE *p);
|
||||
int count=0;
|
||||
FILE *p;
|
||||
person lxr;
|
||||
void main()
|
||||
{
|
||||
char next='Y';
|
||||
char ch;
|
||||
int b;
|
||||
while(next=='Y')
|
||||
{
|
||||
printf("---------欢迎使用讯通讯录---------\n");
|
||||
printf("功能目录:\n");
|
||||
printf("1:新建联系人\n");
|
||||
printf("2:查看联系人\n");
|
||||
printf("3:查找联系人\n");
|
||||
printf("4:修改联系人信息\n");
|
||||
printf("5:删除联系人\n");
|
||||
printf("6:退出通讯录\n");
|
||||
int c;
|
||||
printf("请输入序号:");
|
||||
scanf("%d",&c);
|
||||
switch(c)
|
||||
{
|
||||
case 1:xinjian(p);
|
||||
break;
|
||||
case 2:liulan(p);
|
||||
break;
|
||||
case 3:chaxun(p);
|
||||
break;
|
||||
case 4:xiugai(p);
|
||||
break;
|
||||
case 5:b=shanchu(p);
|
||||
break;
|
||||
case 6:printf("感谢您的使用");
|
||||
break;
|
||||
default:printf("请输入正确的序号:\n");
|
||||
break;
|
||||
}
|
||||
if(c==6)
|
||||
next='N';
|
||||
else
|
||||
{
|
||||
printf("继续使用系统功能:Y\n退出:其他字母\n");
|
||||
if(c==5)
|
||||
scanf("%c",&next);
|
||||
else
|
||||
scanf("%c%c",&ch,&next);
|
||||
}
|
||||
}
|
||||
}
|
||||
void xinjian(FILE *p)
|
||||
{
|
||||
char next='Y';
|
||||
p=fopen("txl.sto","rb+");
|
||||
if(p==NULL)
|
||||
p=fopen("txl.sto","wb+");
|
||||
fseek(p,0,SEEK_END);
|
||||
while(next=='Y')
|
||||
{
|
||||
printf("姓名:\n");
|
||||
scanf("%s",lxr.name);
|
||||
printf("籍贯:\n");
|
||||
scanf("%s",lxr.jiguan);
|
||||
printf("电话号码1:\n");
|
||||
scanf("%lld",&lxr.num1);
|
||||
printf("电话号码2:\n");
|
||||
scanf("%lld",&lxr.num2);
|
||||
printf("邮箱:\n");
|
||||
scanf("%s",lxr.email);
|
||||
fwrite(&lxr,sizeof(lxr),1,p);
|
||||
fflush(stdin);
|
||||
printf("是否继续进行建立新联系人;\n是:Y\n否:其他字母\n");
|
||||
next=getchar();
|
||||
count=count+1;
|
||||
}
|
||||
fclose(p);
|
||||
|
||||
|
||||
}
|
||||
void liulan(FILE *p)
|
||||
{ int i=0;
|
||||
p=fopen("txl.sto","rb+");
|
||||
if(p==NULL)
|
||||
{
|
||||
printf("通讯录为空,请建立新联系人!\n");
|
||||
fclose(p);
|
||||
}
|
||||
else
|
||||
{
|
||||
rewind(p);
|
||||
printf("\n\nItem list-------------------------------------1\n");
|
||||
printf("姓名 籍贯 电话号码1 电话号码2 邮箱\n");
|
||||
fread(&lxr,sizeof(lxr),1,p);
|
||||
while(!feof(p))
|
||||
{
|
||||
printf("%s %s %lld %lld %s\n",lxr.name,lxr.jiguan,lxr.num1,lxr.num2,lxr.email);
|
||||
fread(&lxr,sizeof(lxr),1,p);
|
||||
}
|
||||
fclose(p);
|
||||
}
|
||||
|
||||
}
|
||||
void chaxun(FILE *p)
|
||||
{
|
||||
int i=0;
|
||||
p=fopen("txl.sto","rb+");
|
||||
if(p==NULL)
|
||||
{
|
||||
printf("通讯录为空,请建立新联系人!\n");
|
||||
fclose(p);
|
||||
}
|
||||
else
|
||||
{
|
||||
char mingzi[20];
|
||||
printf("请输入要查询的用户名:\n");
|
||||
scanf("%s",mingzi);
|
||||
fread(&lxr,sizeof(lxr),1,p);
|
||||
while(!feof(p))
|
||||
{
|
||||
if(strcmp(mingzi,lxr.name)==0)
|
||||
{
|
||||
printf("姓名: 籍贯: 电话号码1: 电话号码2: 邮箱:\n");
|
||||
printf("%s %s %lld %lld %s\n",lxr.name,lxr.jiguan,lxr.num1,lxr.num2,lxr.email);
|
||||
i=i+1;
|
||||
}
|
||||
|
||||
fread(&lxr,sizeof(lxr),1,p);
|
||||
}
|
||||
if(i==count&&(strcmp(mingzi,lxr.name)!=0))
|
||||
printf("无该联系人\n");
|
||||
fclose(p);
|
||||
}
|
||||
}
|
||||
void xiugai(FILE *p)
|
||||
{
|
||||
rewind(p);
|
||||
p=fopen("txl.sto","rb+");
|
||||
if(p==NULL)
|
||||
{
|
||||
printf("通讯录为空,请建立新联系人!\n");
|
||||
fclose(p);
|
||||
}
|
||||
else
|
||||
{
|
||||
char mingzi[20];
|
||||
printf("请输入要修改的有用户名:\n");
|
||||
scanf("%s",mingzi);
|
||||
while(!feof(p))
|
||||
{
|
||||
fread(&lxr,sizeof(lxr),1,p);
|
||||
if(strcmp(mingzi,lxr.name)==0)
|
||||
{
|
||||
char next='Y';
|
||||
printf("1.姓名:%s\n",lxr.name);
|
||||
printf("2.籍贯:%s\n",lxr.jiguan);
|
||||
printf("3.电话号码1:%lld\n",lxr.num1);
|
||||
printf("4.电话号码2:%lld\n",lxr.num2);
|
||||
printf("5.邮箱:%s\n",lxr.email);
|
||||
printf("6.取消\n");
|
||||
while(next=='Y')
|
||||
{
|
||||
int c;
|
||||
printf("请输入序号:");
|
||||
scanf("%d",&c);
|
||||
switch(c)
|
||||
{
|
||||
case 1:printf("请修改姓名:");
|
||||
scanf("%s",lxr.name);
|
||||
break;
|
||||
case 2:printf("请修改籍贯:");
|
||||
scanf("%s",lxr.jiguan);
|
||||
break;
|
||||
case 3:printf("请修改电话号码1:");
|
||||
scanf("%s",lxr.num1);
|
||||
break;
|
||||
case 4:printf("请修改电话号码2:");
|
||||
scanf("%s",lxr.num2);
|
||||
break;
|
||||
case 5:printf("请修改邮箱:");
|
||||
scanf("%s",lxr.email);
|
||||
break;
|
||||
default:printf("输入错误");
|
||||
break;
|
||||
}
|
||||
printf("继续修改:Y\n停止修改:其他字母\n");
|
||||
getchar();
|
||||
next=getchar();
|
||||
}
|
||||
fseek(p,-sizeof(lxr),SEEK_CUR);
|
||||
fwrite(&lxr,sizeof(lxr),1,p);
|
||||
printf("修改成功!\n");
|
||||
fclose(p);
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
printf("没有该联系人\n");
|
||||
fclose(p);
|
||||
return;
|
||||
}
|
||||
}
|
||||
int shanchu(FILE *p)
|
||||
{
|
||||
p=fopen("txl.sto","rb+");
|
||||
if(p==NULL)
|
||||
{
|
||||
printf("通讯录为空,请建立新联系人!\n");
|
||||
fclose(p);
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
person b;
|
||||
person blank={};
|
||||
char name[20];
|
||||
int c=0;
|
||||
rewind(p);
|
||||
printf("请输入您要删除的联系人名称:");
|
||||
scanf("%s",name);
|
||||
fflush(stdin);
|
||||
while(!feof(p))
|
||||
{
|
||||
fread(&b,sizeof(b),1,p);
|
||||
if(strcmp(name,b.name)==0)
|
||||
{
|
||||
fseek(p,-sizeof(b),SEEK_CUR);
|
||||
fwrite(&blank,sizeof(blank),1,p);
|
||||
printf("删除成功!\n");
|
||||
fclose(p);
|
||||
c=c+1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
if(c==count&&(strcmp(name,b.name)!=0))
|
||||
printf("无该联系人!\n");
|
||||
fclose(p);
|
||||
return 0;
|
||||
}
|
||||
}
|
Loading…
Reference in new issue