通讯录系统jdWord格式.docx

上传人:b****8 文档编号:22747291 上传时间:2023-02-05 格式:DOCX 页数:21 大小:483.65KB
下载 相关 举报
通讯录系统jdWord格式.docx_第1页
第1页 / 共21页
通讯录系统jdWord格式.docx_第2页
第2页 / 共21页
通讯录系统jdWord格式.docx_第3页
第3页 / 共21页
通讯录系统jdWord格式.docx_第4页
第4页 / 共21页
通讯录系统jdWord格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

通讯录系统jdWord格式.docx

《通讯录系统jdWord格式.docx》由会员分享,可在线阅读,更多相关《通讯录系统jdWord格式.docx(21页珍藏版)》请在冰豆网上搜索。

通讯录系统jdWord格式.docx

三:

概要设计

四:

详细设计

结构函数代码:

structinformation

{charID[30];

/*编号*/

charname[30];

/*姓名*/

intage;

/*年龄*/

charsex[3];

/*性别*/

charaddress[30];

/*地址*/

chartel[20];

/*电话*/

charmail[30];

/*电子邮箱*/

}person[N];

主函数

intmain()/*主调函数*/

{while(k)

menu();

system("

pause"

);

return0;

}

工作流程图

1:

添加通讯录信息

 

显示通讯录记录信息

删除通讯录信息

查询通讯录信息

修改通讯录信息

源程序代码

#include<

stdio.h>

stdlib.h>

/*标准库函数*/

string.h>

#defineN500/*最大通讯录的容量,*/

{

charID[30];

charadd[30];

chartel[30];

inth=1,n,m;

voidreadfile();

/*函数声明*/

voidseek();

voidmodify();

voidinsert();

voiddel();

voiddisplay();

voidsave();

voidmenu();

{while(h)

voidreadfile()/*建立通讯录信息*/

char*p="

person.dat"

;

FILE*fp;

inti=0;

if((fp=fopen("

"

r"

))==NULL)

{printf("

Openfile%serror!

pressanykeytoexit!

"

p);

exit(0);

}

while(fscanf(fp,"

%s%s%d%s%s%s%s\n"

person[i].ID,person[i].name,&

person[i].age,

person[i].sex,person[i].add,person[i].tel,person[i].mail)==7)

{

i++;

fclose(fp);

n=i;

printf("

录入完毕!

\n"

voidseek()/*查找通讯录信息*/

{inti,item,flag;

chars1[30];

printf("

------------------\n"

1.按编号查询\n"

2.按姓名查询\n"

3.退出本菜单\n"

while

(1)

{printf("

请选择子菜单编号:

scanf("

%d"

&

item);

flag=0;

switch(item)

{

case1:

请输入要查询该人的编号:

%s"

s1);

for(i=0;

i<

n;

i++)

if(strcmp(person[i].ID,s1)==0)

{flag=1;

该人编号|姓名|年龄|性别|地址|电话|E-mail|分别为:

%s%s%d%s%s%s%s\n"

person[i].ID,person[i].name,person[i].age,

person[i].sex,person[i].add,person[i].tel,person[i].mail);

if(flag==0)

该编号不存在!

break;

case2:

请输入要查询该人的姓名:

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

该人编号|姓名|年龄|性别|地址|电话|E-mail分别为:

%s%s%d%s%s%s%s\n"

该姓名不存在!

case3:

return;

default:

请在1-3之间选择\n"

voidmodify()/*修改通讯录信息*/

{inti,item,num;

charsex1[3],s1[30],s2[30];

请输入要修改的该人的编号:

num=i;

1.修改姓名\n"

2.修改年龄\n"

3.修改性别\n"

4.修改地址\n"

5.修改电话号码\n"

6.修改E-mail地址\n"

7.退出本菜单\n"

请输入新的姓名:

s2);

strcpy(person[num].name,s2);

请输入新的年龄:

person[num].age);

break;

请输入新的性别:

sex1);

strcpy(person[num].sex,sex1);

case4:

请输入新的地址:

strcpy(person[num].add,s2);

case5:

请输入新的电话号码:

strcpy(person[num].tel,s2);

case6:

请输入新的E-mail地址:

strcpy(person[num].mail,s2);

case7:

请在1-7之间选择\n"

voidinsert()/*增加通讯录信息*/

{inti=n,j,flag;

请输入待增加的人数:

m);

do

while(flag)

{flag=0;

请输入第%d个人的编号:

i+1);

person[i].ID);

for(j=0;

j<

i;

j++)

if(strcmp(person[i].ID,person[j].ID)==0)

已有该编号,请检查后重新录入!

flag=1;

/*如有重复立即退出该层循环,提高判断速度*/

请输入第%d个人的姓名:

person[i].name);

请输入第%d个人的年龄:

person[i].age);

请输入第%d个人的性别:

scanf("

person[i].sex);

请输入第%d个人的地址:

person[i].add);

请输入第%d个人的电话:

person[i].tel);

请输入第%d个人的E-mail:

person[i].mail);

if(flag==0)

}while(i<

n+m);

n+=m;

\n\n"

voiddel()/*删除通讯录信息*/

{inti,j,flag=0;

请输入要删除该人的编号:

for(j=i;

n-1;

j++)

person[j]=person[j+1];

if(flag==1)

n--;

删除成功,显示结果请选择菜单6\n"

voiddisplay()/*显示通讯录信息*/

{inti;

所有人的信息为:

%s,%s,%d,%s,%s,%s,%s\n"

voidsave()/*保存通讯录信息*/

{inti,flag=0;

fp=fopen("

w"

{fprintf(fp,"

%s%s%d%s%s%s%s\n"

已保存成功至person.dat!

请查看!

voidmenu()/*界面*/

{system("

cls"

intnum;

\n\n\t\t\t通讯录系统\n\n"

*****系统功能菜单*****\n"

----------------------\n"

1.读入信息\n"

2.查询信息\n"

3.修改信息\n"

4.增加信息\n"

5.按编号查询信息\n"

6.显示当前信息\n"

7.保存当前该人信息\n"

8.退出系统\n"

请选择菜单编号:

num);

switch(num)

readfile();

seek();

modify();

insert();

del();

display();

save();

case8:

h=0;

请在1-8之间选择\n"

}

程序调试

主界面

2:

添加界面

查询界面

显示界面

5:

删除界面

删除前的界面

删除后的界面

6:

修改界面

修改的界面:

修改后的界面:

7:

保存界面

Person.dat截图:

问题思考:

当我进行删除,添加,显示等功能,以显示为例,当我输入信息后,执行显示功能时,自己会自动消失,还没来得及我来看显示的内容,因此上网查找,还是差了一条语句,system(“pause”),语句,加上去了之后果然运行不会自动消失了,感悟颇深!

当我进行每一项操作时,发现都会保留上次的操作内容,这样看起来很杂乱,不干净,之后找同学帮忙,原来在函数之前加上语句system(“cls”),就可以解决这问题,这样看着舒服多了。

六:

课程设计小结

通过本次课程设计,让我找到了c语言学习的好多漏洞和不足之处,期间开头的编辑很难,主要靠自己的深一步的看教材,上网查找,才有点编该系统的思路,这样才慢慢的建立起来整个系统的框架内容。

这次学习之后,发现c语言程序设计奥妙,窍门真的好多,自己需要进一步的加深基础的学习和巩固。

这样才能为更高层次的语言学习打下坚实的基础。

总之,通过这次程序设计,收获真的蛮大,相信为以后的操作也留下了经验和回忆吧!

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

当前位置:首页 > 求职职场 > 简历

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

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