手机通信录管理系统课程设计报告Word格式文档下载.docx

上传人:b****8 文档编号:22391117 上传时间:2023-02-03 格式:DOCX 页数:30 大小:231.17KB
下载 相关 举报
手机通信录管理系统课程设计报告Word格式文档下载.docx_第1页
第1页 / 共30页
手机通信录管理系统课程设计报告Word格式文档下载.docx_第2页
第2页 / 共30页
手机通信录管理系统课程设计报告Word格式文档下载.docx_第3页
第3页 / 共30页
手机通信录管理系统课程设计报告Word格式文档下载.docx_第4页
第4页 / 共30页
手机通信录管理系统课程设计报告Word格式文档下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

手机通信录管理系统课程设计报告Word格式文档下载.docx

《手机通信录管理系统课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《手机通信录管理系统课程设计报告Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。

手机通信录管理系统课程设计报告Word格式文档下载.docx

voidyonghuming();

//声明部分

voidmima();

voidmain();

voidmenu();

//定义一个结构

typedefstruct

{

charname[10];

chartel[15];

chartype[10];

charemail[20];

}ComMtd;

//菜单

voidmenu()//主菜单

system("

cls"

);

//清屏

printf("

欢迎使用手机通讯录\n"

\n"

=======================\n"

1.号码添加\n"

2.号码查询\n"

3.号码修改\n"

4.号码删除\n"

0.退出\n"

好好学习,天天向上队\n"

请选择相应的功能:

"

}

//号码添加

voidinput()

{

FILE*fp;

//定义指向FILE类型文件的指针变量

ComMtdry,s;

//定义两个ComMtd结构体的变量

if((fp=fopen("

ComMtd.dat"

"

ab+"

))==NULL)//ab+代表为读写打开一个二进制的文件出错

{

printf("

can'

topenfile!

exit(0);

}

\n录入格式姓名号码类别邮箱。

当输入姓名为#结束录入\n"

while

(1)

{

请输入姓名:

scanf("

%s"

ry.name);

if(strcmp(ry.name,"

#"

)==0)break;

//如果输入#则退出添加

请输入电话号码:

ry.tel);

请输入类别(A办公类B个人类C商务类):

scanf("

ry.type);

请输入邮箱地址:

ry.email);

fseek(fp,0,0);

//指针定位到文件开始位置

fread(&

s,sizeof(ComMtd),1,fp);

while(!

feof(fp))

if(strcmp(s.tel,ry.tel)==0)

{

号码已经存在,不能记录.\n"

break;

}//遇到有相同的号码

}

if(feof(fp))//读到自后也没有相同的号码

fwrite(&

ry,sizeof(ComMtd),1,fp);

//将信息写入文件

fclose(fp);

//关闭文件

getchar();

//接受一个输入

voidsearch()//查询

ComMtdry;

FILE*fp;

chartype[10];

system("

\n输入要查人员的类别:

"

scanf("

type);

//要查询的类别

if((fp=fopen("

rb"

))==NULL)

fread(&

if(!

人员的信息如下:

说明:

(A办公类B个人类C商务类)"

\n%10s%15s%10s%20s\n"

姓名"

号码"

类别"

邮箱"

while(!

if(strcmp(ry.type,type)==0)//若为该类别则输出

{

printf("

%10s%15s%10s%20s\n"

ry.name,ry.tel,ry.type,ry.email);

fread(&

}

else

查找失败!

!

fclose(fp);

getch();

//修改:

输入人员的姓名,查找该人员,若找到则修改该人员的信息,并显示修改前后的结果;

voidmodify()

ComMtdry;

rb+"

exit(0);

if(!

修改前全部人员的信息如下:

printf("

\n输入要修改人员的姓名:

name);

if(strcmp(ry.name,name)==0)

修改前人员的信息如下:

\n请输入该人的号码:

\n类别:

//新信息输入

\n邮箱:

break;

//修改完毕退出

\n修改后的人的信息如下:

fseek(fp,sizeof(ComMtd),1);

//指针向前一位定位

else

\n此人不存在,修改失败!

getch();

//删除:

输入人员姓名,若该人员存在,则删除,并显示删除后余下的人员的信息

voiddel()

{ComMtdry[N];

inti,len,k=-1;

\n输入要删除的人员姓名:

i=0;

ry[i],sizeof(ComMtd),1,fp);

if(feof(fp))break;

if(strcmp(ry[i].name,name)==0)k=i;

i++;

//以下是删除后重新写文件

len=i;

if(k>

=0)

if((fp=fopen("

wb+"

exit(0);

for(i=0;

i<

len;

i++)

if(i==k)continue;

删除成功!

elseprintf("

删除失败!

voidchoice()

charch;

while

(1)

menu();

//显示菜单

ch=getch();

//选择菜单

if(ch=='

0'

exit(0);

switch(ch)//判断功能项

case'

1'

:

input();

2'

search();

3'

modify();

4'

del();

}

\n欢迎使用!

//主函数

voidmain()

yonghuming();

voidyonghuming()

inti,flag;

charperson[20];

\t\t**********登录**********\n"

\t\t请输入用户名:

=3;

i++)

charname[20]="

hch"

;

gets(person);

flag=strcmp(person,name);

if(flag==0)

mima();

else

\t\t用户名错误!

\n\n\n\t\t请重新输入:

voidmima()

charp[20],i=0;

\t\t请输入密码:

while(p[i]=getch())

if(p[i]==13)break;

if(p[i]!

='

\b'

*"

\b\b"

i--;

p[i]='

\0'

if(strcmp(p,Y)==0)

验证通过\n\n\n"

choice();

\n\t\t密码错误\n"

3、详细设计(各模块程序设计组成框图、流程图)

总流程图

1.添加:

添加通讯录记录

2.删除:

删除通讯录记录

3.查找:

查找通讯录记录

4.修改:

修改通讯录记录

4、程序运行结果(截图)

1主界面

2号码添加

3查找

4修改

5删除

6退出

5、源程序代码(代码中注明每段代码的完成人)

//陈若阳

#defineN15

//最大容量为15

typedefstruct//定义一个结构

chartel[15];

voidmenu()//目录

//胡月

//定义文件指针

//定义两个ren结构体的量

))==NULL)

{printf("

{printf("

{if(strcmp(s.tel,ry.tel)==0)

//要查询的类别

))==NULL){printf("

while(!

//何晓妮

{ComMtdry;

fw

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1