c语言程序设计通讯录管理系统.docx

上传人:b****4 文档编号:6155072 上传时间:2023-05-09 格式:DOCX 页数:25 大小:78.09KB
下载 相关 举报
c语言程序设计通讯录管理系统.docx_第1页
第1页 / 共25页
c语言程序设计通讯录管理系统.docx_第2页
第2页 / 共25页
c语言程序设计通讯录管理系统.docx_第3页
第3页 / 共25页
c语言程序设计通讯录管理系统.docx_第4页
第4页 / 共25页
c语言程序设计通讯录管理系统.docx_第5页
第5页 / 共25页
c语言程序设计通讯录管理系统.docx_第6页
第6页 / 共25页
c语言程序设计通讯录管理系统.docx_第7页
第7页 / 共25页
c语言程序设计通讯录管理系统.docx_第8页
第8页 / 共25页
c语言程序设计通讯录管理系统.docx_第9页
第9页 / 共25页
c语言程序设计通讯录管理系统.docx_第10页
第10页 / 共25页
c语言程序设计通讯录管理系统.docx_第11页
第11页 / 共25页
c语言程序设计通讯录管理系统.docx_第12页
第12页 / 共25页
c语言程序设计通讯录管理系统.docx_第13页
第13页 / 共25页
c语言程序设计通讯录管理系统.docx_第14页
第14页 / 共25页
c语言程序设计通讯录管理系统.docx_第15页
第15页 / 共25页
c语言程序设计通讯录管理系统.docx_第16页
第16页 / 共25页
c语言程序设计通讯录管理系统.docx_第17页
第17页 / 共25页
c语言程序设计通讯录管理系统.docx_第18页
第18页 / 共25页
c语言程序设计通讯录管理系统.docx_第19页
第19页 / 共25页
c语言程序设计通讯录管理系统.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言程序设计通讯录管理系统.docx

《c语言程序设计通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《c语言程序设计通讯录管理系统.docx(25页珍藏版)》请在冰点文库上搜索。

c语言程序设计通讯录管理系统.docx

c语言程序设计通讯录管理系统

1.需求分析

根据题目要求,通讯录保存在文件中,要提供文件的输入和输出功能;还有就是要提供通讯录添加(个人信息包括姓名、学号、年龄、住址、电子邮件等)、删除、显示、修改等基本功能。

2.概要设计

系统总体设计是信息的输入、信息的编辑和退出。

系统功能模块如下:

1.添加通讯录;

2.输出通讯录;

3.查找通讯录;

4.修改通讯录;

5.删除通讯录;

6.退出通讯录;

3.详细设计

1.通讯录里无信息,所以要添加信息。

用键盘逐个输入通讯录里联系人的信息。

2.输出通讯录用于让使用者观看通讯录里所有的信息。

3.查找通讯录是让使用者可以通过电话或姓名来查找通讯录里的联系人。

4.修改通讯录是让使用者通过姓名查找到通讯录里的联系人,然后其作出修改。

5.删除通讯录是用来按照联系人的姓名或电话来单独删除通讯录中一些不想要的联系人。

还可以集体删除通讯录中的联系人。

6.退出通讯录系统。

4.主要源程序代码

#include

#include

#include

#include

structrecord

{

charname[20];

charage[20];

charphone[20];

charadress[40];

charnumber[30];

chare_mail[20];

}contact[500];

intNO=0;

FILE*fp;

voidmainmenu();

voidnewrecord();

voidbrowsemenu();

voidsearchmenu();

voidsearchname();

voidsearchphone();

voidmodifymenu();

voiddeletemenu();

voiddeleteall();

voiddeletesingle();

voiddeletename();

voiddeletephone();

intloadfile();

voidsavefile();

voidmain()

{printf("\n\t\t:

)欢迎使用通讯录管理系统beta");

printf("\n\t\t文件导入中……请稍后……\n\n\n\n\n");

system("cls");

loadfile();

while

(1)

{

mainmenu();

}

}

voidmainmenu()

{

charchoice;

system("cls");

printf("\n\t\t********************主菜单********************");

printf("\n\t\t******************1-新建菜单******************");

printf("\n\t\t******************2-浏览菜单******************");

printf("\n\t\t******************3-查找菜单******************");

printf("\n\t\t******************4-修改菜单******************");

printf("\n\t\t******************5-删除菜单******************");

printf("\n\t\t******************6-退出******************");

printf("\n\t\t************************************************");

printf("\n\t\t请选择:

");

choice=getch();

switch(choice)

{

case'1':

newrecord();break;

case'2':

browsemenu();break;

case'3':

searchmenu();;break;

case'4':

modifymenu();break;

case'5':

deletemenu();break;

case'6':

exit(0);

default:

mainmenu();

}

}

voidnewrecord()

{

printf("\n\t\t****************请输入联系人信息****************\n");

printf("\n\t\t输入姓名:

");

scanf("%s",&contact[NO].name);

printf("\n\t\t输入年龄:

");

scanf("%s",&contact[NO].age);

printf("\n\t\t输入电话号码:

");

scanf("%s",&contact[NO].phone);

printf("\n\t\t输入家庭住址:

");

scanf("%s",&contact[NO].adress);

printf("\n\t\t输入学号:

");

scanf("%s",&contact[NO].number);

printf("\n\t\t输入电子邮件:

");

scanf("%s",&contact[NO].e_mail);

NO++;

savefile();

printf("\n\t\t是否继续添加?

(y/n):

");

if(getch()=='y')

newrecord();

return;

}

voidbrowsemenu()

{

inti;

system("cls");

if(NO!

=0)

{

printf("\n\t\t***************以下为通讯录所有信息************");

for(i=0;i

{

printf("\n\t\t姓名:

%s",contact[i].name);

printf("\n\t\t年龄:

%s",contact[i].age);

printf("\n\t\t联系电话:

%s",contact[i].phone);

printf("\n\t\t家庭住址:

%s",contact[i].adress);

printf("\n\t\t学号:

%s",contact[i].number);

printf("\n\t\t电子邮件:

%s",contact[i].e_mail);

printf("\t\t");

if(i+1

{

printf("\n\t\t__________________________");

system("pause");

}

}

printf("\n\t\t************************************************");

}

else

printf("\n\t\t通讯录中无任何纪录");

printf("\n\t\t按任意键返回主菜单:

");

getch();

return;

}

voidsearchmenu()

{

charchoice;

system("cls");

printf("\n\t\t*******************查找菜单*******************");

printf("\n\t\t*****************1-按姓名查找*****************");

printf("\n\t\t*****************2-按电话查找*****************");

printf("\n\t\t*****************3-返回主菜单*****************");

printf("\n\t\t************************************************");

printf("\n\t\t请选择:

");

choice=getch();

switch(choice)

{

case'1':

searchname();break;

case'2':

searchphone();break;

case'3':

mainmenu();break;

}

}

voidsearchname()

{

intmark=0;

inti;

inta=0;

charname[20];

printf("\n\t\t*****************按姓名查找*******************");

printf("\n\t\t请输入姓名:

");

scanf("%s",name);

for(i=a;i

{

if(strcmp(contact[i].name,name)==0)

{

printf("\n\t\t************以下是您查找的联系人信息**********");

printf("\n\t\t姓名:

%s",contact[i].name);

printf("\n\t\t年龄:

%s",contact[i].age);

printf("\n\t\t联系电话:

%s",contact[i].phone);

printf("\n\t\t家庭住址:

%s",contact[i].adress);

printf("\n\t\t学号:

%s",contact[i].number);

printf("\n\t\t电子邮件:

%s",contact[i].e_mail);

printf("\n\t\t************************************************");

printf("\n\t\t按任意键返回主菜单:

");

mark++;

getch();

return;

return;

}

}

if(mark==0)

{printf("\n\t\t没有该姓名的联系人纪录");

printf("\n\t\t按任意键返回主菜单");

getch();

return;

}

}

voidsearchphone()

{

intmark=0;

inti;

inta=0;

charphone[10];

printf("\n\t\t******************按电话查找******************");

printf("\n\t\t请输入电话:

");

scanf("%s",phone);

for(i=0;i

{

if(strcmp(contact[i].phone,phone)==0)

{

printf("\n\t\t*************以下是您查找的联系人信息*********");

printf("\n\t\t姓名:

%s",contact[i].name);

printf("\n\t\t年龄:

%s",contact[i].age);

printf("\n\t\t联系电话:

%s",contact[i].phone);

printf("\n\t\t家庭住址:

%s",contact[i].adress);

printf("\n\t\t学号:

%s",contact[i].number);

printf("\n\t\t电子邮件:

%s",contact[i].e_mail);

printf("\n\t\t************************************************");

printf("\n\t\t按任意键返回主菜单:

");

mark++;

getch();

return;

}

}

if(mark==0)

{

printf("\n\t\t没有该联系人信息");

printf("\n\t\t按任意键返回主菜单");

getch();

return;

}

}

voidmodifymenu()

{intmark=0;

inti,k;

inta=0;

intt=0;

charchoice;

charname[20];

structrecordmodify;

system("cls");

printf("\n\t\t请输入您要修改的姓名:

");

scanf("%s",name);

for(i=a;i

{

if(strcmp(contact[i].name,name)==0)

{k=i;mark=1;

modify=contact[i];

printf("\n\t\t**********以下是您将修改的联系人信息**********");

printf("\n\t\t姓名:

%s",contact[i].name);

printf("\n\t\t年龄:

%s",contact[i].age);

printf("\n\t\t联系电话:

%s",contact[i].phone);

printf("\n\t\t家庭住址:

%s",contact[i].adress);

printf("\n\t\t学号:

%s",contact[i].number);

printf("\n\t\t电子邮件:

%s",contact[i].e_mail);

printf("\n\t\t是否继续?

y/n");

if(getch()=='n')

modifymenu();

else

{printf("\n\t\t选择您要修改的选项:

");

printf("\n\t\t\t

(1).姓名");

printf("\n\t\t\t

(2).年龄");

printf("\n\t\t\t(3).联系电话");

printf("\n\t\t\t(4).家庭住址");

printf("\n\t\t\t(5).学号");

printf("\n\t\t\t(6).电子邮件");

printf("\n\t\t\t(7).返回");

printf("\n\t\t请选择:

");

choice=getch();

switch(choice)

{case'1':

printf("姓名:

");scanf("%s",contact[i].name);break;

case'2':

printf("年龄:

");scanf("%s",contact[i].age);break;

case'3':

printf("联系电话:

");scanf("%s",contact[i].phone);break;

case'4':

printf("家庭住址:

");scanf("%s",contact[i].adress);break;

case'5':

printf("学号:

");scanf("%s",contact[i].number);break;

case'6':

printf("电子邮件:

");scanf("%s",contact[i].e_mail);break;

case'7':

mainmenu();break;

default:

modifymenu();

}

printf("\n\t\t您的修改结果为:

");

printf("\n\t\t姓名:

%s",contact[i].name);

printf("\n\t\t年龄:

%s",contact[i].age);

printf("\n\t\t联系电话:

%s",contact[i].phone);

printf("\n\t\t家庭住址:

%s",contact[i].adress);

printf("\n\t\t学号:

%s",contact[i].number);

printf("\n\t\t电子邮件:

%s",contact[i].e_mail);

printf("\n\t\t确认修改?

y/n");

if(getch()=='n')

{contact[i]=modify;

printf("\n\t\t修改未保存!

");

}

elseprintf("\n\t\t修改成功!

");

savefile();mark=0;

printf("\n\t\t是否继续修改?

(y/n)");

if(getch()=='y')

modifymenu();

}

}

}

if(mark==0)

{

printf("\n\t\t没有该联系人的纪录");

printf("\n\t\t是否继续修改?

(y/n)");

if(getch()=='y')

modifymenu();

}

return;

}

voiddeletemenu()

{

charchoice;

if(NO==0)

{

printf("\n\t\t对不起,文件中无任何纪录");

printf("\n\t\t按任意键返回主菜单");

getch();

return;

}

system("cls");

printf("\n\t\t*******************删除菜单*******************");

printf("\n\t\t******************1-删除所有******************");

printf("\n\t\t******************2-删除单个******************");

printf("\n\t\t*****************3-返回主菜单*****************");

printf("\n\t\t************************************************");

printf("\n\t\t请选择:

");

choice=getch();

switch(choice)

{

case'1':

deleteall();break;

case'2':

deletesingle();break;

case'3':

mainmenu();break;

default:

mainmenu();

}

}

voiddeleteall()

{

printf("\n\t\t确认删除?

(y/n)");

if(getch()=='y')

{

if((fp=fopen("contact","w"))==0)

{

printf("\n\t\t不能打开文件,删除失败");

loadfile();

}

NO=0;

printf("\n\t\t纪录已删除,按任意键返回主菜单");

getch();

fclose(fp);

return;

}

else

return;

}

voiddeletesingle()

{

charchoice;

printf("\n\t\t\t1-按姓名删除");

printf("\n\t\t\t2-按号码删除");

printf("\n\t\t\t3-返回删除菜单");

printf("\n\t\t请选择:

");

choice=getch();

switch(choice)

{

case'1':

deletename();break;

case'2':

deletephone();break;

case'3':

deletemenu();break;

}

}

voiddeletename()

{

inti,j;

intmark=0;

charname[20];

printf("\n\t\t请输入要删除联系人姓名:

");

scanf("%s",name);

if(NO==0)

{

printf("\n\t\t对不起,文件中无任何纪录");

printf("\n\t\t按任意键返回主菜单");

getch();

return;

}

for(i=0;i

{

if(strcmp(contact[i].name,name)==0)

{

printf("\n\t\t以下是您要删除的联系人纪录:

");

printf("\n\t\t姓名:

%s",contact[i].name);

printf("\n\t\t年龄:

%s",contact[i].age);

printf("\n\t\t联系电话:

%s",contact[i].phone);

printf("\n\t\t家庭住址:

%s",contact[i].adress);

printf("\n\t\t学号:

%s",contact[i].number);

printf("\n\t\t电子邮件:

%s",contact[i].e_mail);

printf("\n\t\t是否删除?

(y/n)");

if(getch()=='y')

{

for(j=i;j

contact[j]=contact[j+1];

NO--;

mark++;

printf("\n\t\t删除成功");

savefile();

printf("\n\t\t是否继续删除?

(y/n)");

if(getch()=='y')

deletename();

return;

}

else

return;

}

continue;

}

if(mark==0)

{

printf("\n\t\t没有该联系人的纪录");

printf("\n\t\t是否继续删除?

(y/n)");

if(getch()=='y')

deletename();

return;

}

}

voiddeletephone()

{

inti,j;

intmark=0;

charphone[20];

printf("\n\t\t请输入要删除联系电话:

");

scanf("%s",phone);

if(NO==0)

{

printf("\n\t\t对不起,文件中无任何纪录");

printf("\n\t\t按任意键返回主菜单");

getch();

return;

}

for(i=0;i

{

if(strcmp(contact[i].phone,phone)==0)

{

printf("\n\t\t以下是您要删除的联系人纪录:

")

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2