小弟急需一个电子通讯录的Tubo C的源代码,哪位大虾能帮小弟一把,把源代码发到小弟的信箱fengyao820722@yahoo.com.cn 只需要append ,Search ,delete ,read, save and exit 和quit这几个功能就可以了,小弟跪谢!
这是一个有关通讯录的C程序,小弟写到一半,发现有些问题解决不了,希望有人能指点下
,帮助使这个程序能够拥有主菜单里的那些功能,急需,谢谢帮忙了
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void review();
void add();
void search();
void del();
void save();
struct node
{
long snumber;
char name[20];
int num;
}
fri[100];
int count=0;
int main()
{
char line[100];
int menu;
system(“cls”);
while(1)
{
printf(“\n\n\n\n\n\t\t\t\tMAIN MENU\n\n”);
printf(“1\t\tappend\n\n”);
printf(“2\t\tSearch\n\n”);
printf(“3\t\tdelete\n\n”);
printf(“4\t\tread\n\n”);
printf(“5\t\tsave and exit\t\n\n”);
printf(“6\t\tquit\n\n”);
printf("\n\n\nPlease choose:");
gets(line);
if (sscanf(line,"%d",&menu) != 1)
{
printf("incorrect entry \n");
continue;
}
if (menu < 1 || menu > 6)
{
printf("incorrect selection");
continue;
}
if (menu == 1) add();
else if (menu == 2) search();
else if (menu == 3) del();
else if (menu == 4) review();
else if (menu == 5) save();
if (menu == 6) break;
}
return 0;
}
void review()
{
int i;
system(“cls”);
printf(“\n\n\n\n\t\t\tAll Of friend’s Information\n\n\n\n”);
printf(" name number\n\n");
for(i=1;i<=100;i++)
if(fri[i].snumber!=0)
printf(“%s%ld\n”,fri[i].name,fri[i].snumber);
}
void add()
{
char s[20];
long x;
system(“cls”);
printf(“\n\n\n\nAdd a friend information\n\n\n”);
printf(“please input his name:”);
scanf(“%s”,s);
if(s)
{
strcpy(fri[count].name,s);
printf(“\nplease input his/her telephone numbers:”);
scanf(“%ld”,&x);
fri[count].snumber=x;
printf(“\n\n\tCreate OK\n”);
}
}
void search()
{
int i=0;
char s[20];
int flag=0;
while(1)
{
system(“cls”);
printf(“\nPlease input name you want to search:”);
scanf(“%s”,s);
for(i=1;i<=100;i++)
{
if(strcmp(fri[i].name,s)==0)
{
printf(“name and his/her numbers\n\n”);
printf(“%s%ld”,fri[i].name,fri[i].snumber);
break;
}
else
printf(“Can not look up the name\n”);
}
}
}
void del()
{
int i,flag=1;
char s[20];
while(1)
{
system(“cls”);
printf(“\n\n\n\t\t\t\tTHE NAME OF DELETION\n\n”);
printf(“\nplease input the name deletion:”);
scanf(“%s”,s);
for(i=1;i<=count&&flag==1;i++)
{
if(strcmp(fri[i].name,s)==0)
printf(“name number\n\n”);
printf(“%10s%ld”,fri[i].name,fri[i].snumber);
printf(“\n\n The information”);
flag–;
for(i=fri[i].num;i<=100;i++)
{
fri[i].num=i;
strcpy(fri[i].name,fri[i+1].name);
fri[i].snumber=fri[i+1].snumber;
}
}
if(flag==1)
{
printf(“\n\nERROR:please select it again\n\n”);break;
}
flag=1;
printf(“DEL OK\n\n\n”);break;
}
}
void save()
{
FILE *fp;
int i;
if((fp=fopen(“friends_List”,“wb”))==NULL)
{
printf(“cannot open file\n”);
return;
}
for(i=0;i<100;i++)
if (fwrite(&fri[i],sizeof(struct node),1,fp)!=1)
printf(“file write error\n”);
fclose(fp);
}