C语言通讯录管理系统.docx
- 文档编号:27665778
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:25
- 大小:43.56KB
C语言通讯录管理系统.docx
《C语言通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《C语言通讯录管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
C语言通讯录管理系统
求一个C语言通讯录管理系统的代码,要正确的!
悬赏分:
50|解决时间:
2010-7-1409:
19|提问者:
守望者的眼眸
要求用以下框架,谢谢!
发到我邮箱
75034583@
谢谢!
#include
#include
#include
voidmain()
{charc;
inti;
voidinput();
voiddel();
voidfind();
voidarrange();
do
{
system("cls");
for(i=0;i<80;i++)
printf("*");
printf("\t1:
添加一个学生信息\n");
printf("\t2:
删除一个学生信息\n");
printf("\t3:
查找一个学生信息\n");
printf("\t4:
学生信息排序\n");
printf("\t5:
退出\n");
printf("\t请选择输入选项[1\\2\\3\\4\\5]:
\n");
do
{
c=getchar();
}while(c!
='1'&&c!
='2'&&c!
='3'&&c!
='4'&&c!
='5');
getchar();
switch(c)
{case'1':
input();break;
case'2':
del();break;
case'3':
find();break;
case'4':
arrange();break;
case'5':
exit(0);
}
printf("按任意键返回主菜单:
\n");
getch();
system("cls");
}while
(1);
}
voidarrange()
{
}
voidfind()
{
}
voiddel()
{
}
voidinput()
{
}
最佳答案
#include
#include
#include
#include
typedefstructbody
{
charname[20];
charphonenumber[20];
charaddress[50];
charmail[50];
chargroup[10];
}CARD;
voidinput(CARD*cp);
intsearch(CARD*cp,intn);
voidmenu(void);
voidlist(CARD*cp,intn);
intdel(CARD*cp,intn);
voidsave(CARD*cp,intn);
voidsort(CARD*cp,intn);
voidreload(CARD*cp,FILE*fp);
intn=0;
FILE*fp;
voidmain()
{
inti,m,a;
i=0;
CARDcontact[100],*cp;
cp=contact;
if((fp=fopen("contact_list.bin","a+"))==NULL)
{
printf("erroronopenfile\n");
getch();
exit
(1);
}
while(!
feof(fp))
{
if(fread(cp+n,sizeof(CARD),1,fp)==1)
n++;
}
fclose(fp);
printf("\t\topenfilesuccess");
printf("\n\n\n\t\tNow%dcontactsonfile",n);
printf("\n\t\tpessanykeytocontinue");
getch();
while
(1)
{
menu();
printf("\t%dcontactsonfile",n);
printf("\n\t\tchoosethenumber:
");
scanf("%d",&m);
switch((int)m)
{
case1:
system("cls");
printf("%dcontacts",n);
list(cp,n);
printf("\n\n\t\tpressanykeytocontinue");
getch();
break;
case2:
cp=contact;
for(i=n;i<100;i++)
{
input(cp+i);
state2:
printf("\n\n\t1.continue\n\t2.done\n");
fflush(stdin);
scanf("%d",&a);
switch((int)a)
{
case1:
break;
case2:
n=i;
gotostate1;
default:
printf("error:
wrongkeypressed\n");
gotostate2;
}
}
state1:
n=n+1;
break;
case3:
system("cls");
search(contact,n);
getch();
break;
case4:
system("cls");
cp=contact;
n=del(cp,n);
break;
case5:
sort(cp,n);
break;
case6:
save(cp,n);
break;
case7:
reload(cp,fp);
break;
case8:
gotostate;
}
}
state:
system("cls");
printf("\n\n\n\t\t\t\tBye\n");
getch();
}
voidinput(CARD*cp)
{
intx;
system("cls");
printf("name:
");
fflush(stdin);
gets(cp->name);
printf("\nphonenumber:
");
gets(cp->phonenumber);
printf("\naddress:
");
gets(cp->address);
printf("\ne-mail:
");
gets(cp->mail);
printf("\ngroup:
chooseanumber\n1.family\n2.colleague\n3.friend\n");
scanf("%d",&x);
switch((int)x)
{
case1:
strcpy(cp->group,"family");break;
case2:
strcpy(cp->group,"colleague");break;
case3:
strcpy(cp->group,"friend");break;
default:
printf("\nerror:
wrongkeypressed");break;
}
}
intsearch(CARD*cp,intn)
{
ints,i;
charnamefor[20],phonenumberfor[20];
printf("\n\nsearchon:
\n1.name2.phonenumber\n");
fflush(stdin);
scanf("%d",&s);
if(s==1)
{
printf("pleaseenterthename:
\n");
fflush(stdin);
gets(namefor);
for(i=0;i<=n;i++)
{
if(strcmp((cp+i)->name,namefor)==0)
{
printf("\n\n\nSearchresult:
\n\n");
printf("%s\t",(cp+i)->name);
printf("%s\t",(cp+i)->phonenumber);
printf("%s\t",(cp+i)->address);
printf("%s\t",(cp+i)->mail);
printf("%s\t",(cp+i)->group);
return(i);
}
}
}
elseif(s==2)
{
printf("pleaseenterthephonenumber:
\n");
gets(phonenumberfor);
for(i=0;i<=n;i++)
{
if(strcmp((cp+i)->phonenumber,phonenumberfor)==0)
{
printf("Searchresult:
\n");
printf("%s\t",(cp+i)->name);
printf("%s\t",(cp+i)->phonenumber);
printf("%s\t",(cp+i)->address);
printf("%s\t",(cp+i)->mail);
printf("%s\t",(cp+i)->group);
return(i);
}
}
}
printf("\nNosuchfileexist,pressanykeytocontinue\n\t");
getch();
return-1;
}
voidmenu()
{
system("cls");
printf("\n\nWelcometothecontactsystem\n");
printf("\n\n-----------copyright-----DongChao---------------------\n\n\n\n");
printf("\n\nPleasechoosethenumber\n\n\n\n");
printf("\t1.list2.input3.search4.delete\n\t5.sort6.save7.reload\n\n");
printf("\t8.exit\n\n\n\n\t");
}
intdel(CARD*cp,intn)
{
intd,i,a;
printf("\n\n\tDeletecontact:
");
d=search(cp,n);
if(d!
=-1)
{
printf("\n\nAreyousuretodeletethiscontact?
\n\t1.Yes2.No\n");
scanf("%d",&a);
if(a==1)
{
for(i=d;i<=n;i++)
{
strcpy((cp+i)->name,(cp+i+1)->name);
strcpy((cp+i)->phonenumber,(cp+i+1)->phonenumber);
strcpy((cp+i)->address,(cp+i+1)->address);
strcpy((cp+i)->mail,(cp+i+1)->mail);
strcpy((cp+i)->group,(cp+i+1)->group);
}
n=n-1;
return(n);
}
elseif(a==2)
{
printf("\n\tpressanykeytocontinue");
getch();
}
}
if(d==-1)
{
printf("Nosuchfileexist,pressanykeytocontinue\n\t");
getch();
}
}
voidlist(CARD*cp,intn)
{
inti;
printf("\nnamephonenumber\taddress\t\te-mail\tgroup\n");
i=0;
while(i { printf("\n%10s",(cp+i)->name); printf("%10s",(cp+i)->phonenumber); printf("%15s",(cp+i)->address); printf("%18s",(cp+i)->mail); printf("%10s\n",(cp+i)->group); i++; } } voidsave(CARD*cp,intn) { FILE*fp; inti=0; if((fp=fopen("contact_list.bin","w"))==NULL) { printf("erroronopenfile\n"); getch(); exit (1); } for(i=0;i { if(fwrite(cp+i,sizeof(CARD),1,fp)==1) { continue; } else { break; } } if(i>0) { system("cls"); printf("\n\tSavecomplete,pressanykeytocontinue"); getch(); } else { system("cls"); printf("\n\tnocontactissaved"); getch(); } fclose(fp); } voidsort(CARD*cp,intn) { inti,j; CARDcontactsort[100],*sp; sp=contactsort; j=0; system("cls"); printf("\n\n\tsortthecontactsof\n\n\t\t1.family2.colleague3.friend\n\t\t"); states: printf("pleasechoose: "); scanf("%d",&i); switch((int)i) { case1: for(i=0;i { if(strcmp((cp+i)->group,"family")==0) { strcpy((sp+j)->name,(cp+i)->name); strcpy((sp+j)->phonenumber,(cp+i)->phonenumber); strcpy((sp+j)->address,(cp+i)->address); strcpy((sp+j)->mail,(cp+i)->mail); strcpy((sp+j)->group,(cp+i)->group); j++; } } list(sp,j); if(j==0) { printf("\t\tNofileoffamily"); } printf(",pressanykeytocontinue"); getch(); break; case2: for(i=0;i { if(strcmp((cp+i)->group,"colleague")==0) { strcpy((sp+j)->name,(cp+i)->name); strcpy((sp+j)->phonenumber,(cp+i)->phonenumber); strcpy((sp+j)->address,(cp+i)->address); strcpy((sp+j)->mail,(cp+i)->mail); strcpy((sp+j)->group,(cp+i)->group); j++; } } list(sp,j); if(j==0) { printf("\t\tNofileofcolleague"); } printf(",pressanykeytocontinue"); getch(); break; case3: for(i=0;i { if(strcmp((cp+i)->group,"friend")==0) { strcpy((sp+j)->name,(cp+i)->name); strcpy((sp+j)->phonenumber,(cp+i)->phonenumber); strcpy((sp+j)->address,(cp+i)->address); strcpy((sp+j)->mail,(cp+i)->mail); strcpy((sp+j)->group,(cp+i)->group); j++; } } list(sp,j); if(j==0) { printf("\n\n\t\tNofileoffriend"); } printf(",pressanykeytocontinue"); getch(); break; default: printf("\nerror: wrongkeypressed,pressanykeytocontinue"); getch(); gotostates; } } voidreload(CARD*cp,FILE*fp) { inti=0; system("cls"); fp=fopen("contact_list.bin","r"); while(! feof(fp)) { if(fread(cp+i,sizeof(CARD),1,fp)==1); i++; } printf("\n\n\n\t\t\t%dcontactsonfile,pressanykeytocontinue\n\t\t",i-1); getch(); fclose(fp); } 对我有帮助 2 回答时间: 2010-7-107: 26|我来评论 向TA求助 回答者: 小斯never|三级采纳率: 81% 擅长领域: 暂未定制 参加的活动: 暂时没有参加的活动 相关内容 ∙2007-7-30用c语言编写一个通讯录,并对他进行增加,查询,删除,修改,显示记录等... ∙2007-7-31特求有关于用C语言编一个通讯录管理系统的程序设计3 ∙2009-7-15用c语言或c++做一个通讯录管理系统10 ∙2009-1-18用C语言设计一个《学生通讯录管理系统》4 ∙2009-5-11求用C语言编写一个学生通讯录管理系统34 更多相关问题>> 查看同主题问题: 通讯录管理系统管理系统代码 等待您来回答 ∙0回答20编程: 输入英文字母,编码译码,不区分大小写,输入几个字母,用哈夫... ∙1回答C++编程如何保留小数点后6位求高手精解.....这里提前表示感谢了! ! ! ∙1回答20我也需要用C++的编译器,Win732位,以前用的VC++6.0,VS2010没用过,... ∙0回答求信息学题目——节能汽车的测试数据 ∙1回答C语言问题 ∙1回答5/*一牧场主,有大批羊要卖,惧怕受骗。 幸亏有以往客户交易记录可查。 ... ∙0回答实现微波通信需要哪些设备 ∙1回答15errorC2296: '<<': illegal,leftoperandhastype'structn*(__... 更多等待您来回答的问题>> 其他回答共1条 #include #include #include #include usingnamespacestd; #definemaxlen15 structpersons {intnum;/*定义结构体数组用于缓存数据*/ charname[20]; chare_addr[20]; chartel_no[15]; charsim_no; chararch; }persons[maxlen]; typedefstructlnode {/*通讯录结构中结点的定义*/ intnum; charname[20]; chare_addr[20]; chartel_no[15]; charsim_no; chararch; structlnode*next; }listnode,*linklist; linklisthead=NULL,r=NULL;/*定义头指针和尾指针*/ listnode*s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7,*p8,*p9; inti; charname1[10],ch; chartel_no1[15]; chararch1; charsim_no1; chare_addr1[20]; chars1[20]; FILE*fp;/*定义文件指针*/ voidcreat()/*将文件的信息读入结构体数组在转存入链表中*/ {intj; longk; fp=fopen("数据文件.txt","rt");/*打开文件*/ if(fp! =NULL) {for(i=0;i<=maxlen;i++) {j=fgetc(fp); if(j==EOF) return; k=i; fseek(fp,k*sizeof(structpersons),0);/*读取一个人的信息*/ fread(&persons[i],sizeof(structpersons),1,fp); s=(linklist)malloc(sizeof(listnode));/*装存入链表中*/ s->num=persons[i].num; strcpy(s->name,persons[i].name);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 通讯录 管理 系统