📄 txl3.c
字号:
/*同学通讯录*/
#include <stdio.h>
#include <string.h>
struct friends/*定义数据结构*/
{
char name[20];/* 联系地址*/
char tel[12];
char e_mail[50];/*电子邮件*/
char address[40];/* 联系地址*/
}frd[40]; /*定义结构体数组*/
int r_cnt=0;
int add_cnt=0 ;
int add();
void cha_zhao();
void list();
void modify();
int del ();
void exit_asd ();
void save();
void list();
void load();
int find(struct friends frd[],char tel[]);
main()
{
load();
clrscr();
for(;;)
{
switch(menu_book())
{
case 1 : add() ; break;
case 2 : cha_zhao() ; break;
case 3 : modify() ; break;
case 4 : del() ; break;
case 5 : exit_asd(); break;
case 6 : list () ; break;
}
}
}
int menu_book()
{
int c;
printf("*******************MENU******************\n");
printf("* *\n");
printf("* *\n");
printf("* 1.add *\n");
printf("* *\n");
printf("* 2.cha_zhao *\n");
printf("* *\n");
printf("* 3.modify *\n");
printf("* *\n");
printf("* 4.delete *\n");
printf("* *\n");
printf("* 5.exit *\n");
printf("* *\n");
printf("* 6.list *\n");
printf("* *\n");
printf("* *\n");
printf("*****************************************\n");
do
{printf("\n\n enter you choice(0-6):");
scanf("%d",&c); }
while(c<0||c>6);
return c;
}
void load()/*加载*/
{
FILE *fp;
int i=0;
r_cnt=0;
if((fp=fopen("FF.txt","rb"))!=NULL)
{
while(!feof(fp))
{
fread(&frd[i],sizeof(struct friends),1,fp);
r_cnt++;
printf("%s %s %s %s\n",frd[i].name,frd[i].tel,frd[i].e_mail,frd[i].address);
i++;
}
}
else
puts("open error!");
fclose(fp);
}
void save()/*保存*/
{
FILE *fp;
int i;
if((fp=fopen("FF.txt","a+"))==NULL)
{
puts("open file error!");
exit(0);
}
for(i=0;i<add_cnt;i++)
{
if(fwrite(&frd[i],sizeof(struct friends ),1,fp)==0)
puts("write error!");
}
fclose(fp);
}
void cha_zhao()/*查找*/
{ int i;
char zhi[20];
printf("please input tel") ;
printf("enter name or tel to find:\n");
scanf("%s",zhi);
for(i=0;i<r_cnt;i++)
{
if(strlen(frd[i].name )==0||strlen(frd[i].tel)==0)
printf("UNLL");
if(strcmp(frd[i].name,zhi )==0 ||strcmp(frd[i].tel,zhi)==0)
{
printf("%s %s %s\n", frd[i].name,frd[i].address,frd[i].tel);
作者: C语言通讯录 2006-6-30 19:45 回复此发言
--------------------------------------------------------------------------------
2 C语言通讯录源程序
break;
}
printf("no message");
}
getch();
}
void list()/*浏览*/
{
int i;
for(i=0;i<r_cnt;i++)
printf("%s %s %s %s\n",frd[i].name,frd[i].tel,frd[i].e_mail,frd[i].address);
getch();
}
int find( struct friends frd[],char tel[12])/*为删除而定的查找*/
{
int i,p;
for(i=0;i<r_cnt;i++)
{
if(strcmp(frd[i].tel,tel)==0)
{
p=i;
break;
}
else
p=-1;
break;
}
return p;
}
void modify()/*修改*/
{
int p;
char name[20];
char e_mail[50];
char address[40];
char tel[12];
printf("please input tel:\n");
scanf("%s",tel);
p=find(frd,tel);
if(p>-1)
{
printf("tel don't modify!\n");
printf("please new :name,e_mail,address:\n");
scanf("%s%s%s",frd[p].name,frd[p].e_mail,frd[p].address);
}
getch();
}
void exit_asd()
{
int num;
save(frd);
printf("exit? ,contine__1 , exit__0\n");
scanf("%d",&num);
if(num==0)
{
exit(0);
}
getch();
}
int add()/*增加*/
{
int i=0;
char ch[20];
while(1)
{
if(strcmp(ch,"#")==0)
break;
printf("input name:\n");
scanf("%s",frd[i].name);
printf("input tel:\n");
scanf("%s",frd[i].tel);
printf("input e_mail:\n");
scanf("%s",frd[i].e_mail);
printf("inout address:\n");
scanf("%s",frd[i].address);
printf("if you want to stop,please enter '#' or enter other keys to contine:");
scanf("%s",ch);
i++;
}
clrscr();
add_cnt=i;
printf("%d\n",add_cnt);
printf("name\t\ttel\t\te_mail\t\t\taddress\n");
printf("********************************************************************\n");
for(i=0;i<add_cnt;i++)
printf("%s\t\t%s\t\t%s\t\t%s",frd[i].name,frd[i].tel,frd[i].e_mail,frd[i].address);
printf("\n\nplease press any key tothe menu:\n");
getch();
return add_cnt;
}
int del()/*删除*/
{
char s[20];
int ch=0;
int i,j;
printf("delete tel?\n");
scanf("%s",s);
i=find(frd,s);
if(i>r_cnt-1)
printf("no found!\n");
else
{
printf("\n\n*******************delete******************************************\n");
printf("name tel e_mail address\n");
printf("------------------------------------------------\n");
printf("%s %s %s %s\n",frd[i].name,frd[i].tel,frd[i].e_mail,frd[i].address);
printf("************************************************************************\n\n");
printf("Are you sure delete it(1/0)?\n");
scanf("%d",&ch);
if(ch==1)
{
for(j=i+1;j<r_cnt;j++)
{
strcpy(frd[j-1].name,frd[j].name);
strcpy(frd[j-1].tel,frd[j].tel);
strcpy(frd[j-1].e_mail,frd[j].e_mail);
strcpy(frd[j-1].address,frd[j].address);
}
r_cnt--;
}
}
return r_cnt;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -