通讯录管理系统课程设计报告Word文档下载推荐.docx

上传人:b****6 文档编号:21051941 上传时间:2023-01-27 格式:DOCX 页数:14 大小:61.45KB
下载 相关 举报
通讯录管理系统课程设计报告Word文档下载推荐.docx_第1页
第1页 / 共14页
通讯录管理系统课程设计报告Word文档下载推荐.docx_第2页
第2页 / 共14页
通讯录管理系统课程设计报告Word文档下载推荐.docx_第3页
第3页 / 共14页
通讯录管理系统课程设计报告Word文档下载推荐.docx_第4页
第4页 / 共14页
通讯录管理系统课程设计报告Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

通讯录管理系统课程设计报告Word文档下载推荐.docx

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

通讯录管理系统课程设计报告Word文档下载推荐.docx

}per[10];

intmenu()//主菜单选择函数

2.函数说明

(1)主函数

main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。

(2)其他各功能函数包括

函数名

功能

intInput(structdateper[10],intn)

输入记录

voidQuery_a_record(structdateper[10],intn)

信息查询

voidDisplay(structdateper[10],intn)

信息展示

voidwriteToFile(structdateper[10],intn)

记录保存为文件

intDelete_a_record(structdateper[10],intn)

信息删除

intmenu_select();

voidChange(structdateper[10],intn)

voidWritetoText(structdateper[10],intn)

主菜单函数

修改信息

信息增加

四、程序清单

1、头文件

2、主函数

voidmain()//主函数

{

intn=0,i;

while

(1)

{switch(menu())

{case1:

{printf("

\n\t通讯信息录入\n"

);

//信息录入

n=Input(per,n);

}

break;

case2:

printf("

\n\t\t\t通讯录记录表\n"

//显示记录

Display(per,n);

case3:

\n\t保存功能\n"

WritetoText(per,n);

//保存数据

\t"

system("

pause"

//操作完成后进行暂停

case4:

\n\t从通讯录中删除记录\n"

n=Delete_a_record(per,n);

//删除记录

case5:

\n\t修改通讯录中的记录\n"

Change(per,n);

//修改数据

case6:

\n\t添加记录到通讯录\n"

//添加记录

n=Input(per,n);

case7:

\n\t在通讯录中查找记录\n"

Query_a_record(per,n);

//查找记录

//从程序里调用”pause”命令

case0:

\n\t\t谢谢使用,再见!

\n"

//结束程序

\n\t\t"

exit(0);

}

五、总程序和分工执行结果

charphone[12];

charemail[20];

charQQ[20];

}per[10];

intmenu()//主菜单选择函数

{intc;

//定义一个整型变量

do{

cls"

//清屏

printf("

\t*******通讯录*******\n"

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

\t1、通讯信息录入\n"

\t2、通讯信息显示\n"

\t3、通讯信息保存\n"

\t4、通讯信息删除\n"

\t5、通讯信息修改\n"

\t6、通讯信息增加\n"

\t7、通讯信息查询\n"

\t0.退出\n"

\t请您选择(0-7):

"

scanf("

%d"

&

c);

}while(c>

7&

&

c<

0);

return(c);

}

{inti=0;

charsign,x[10];

while(sign!

='

n'

sign!

N'

{printf("

\t姓名:

scanf("

%s"

per[n+i].name);

\t电话号码:

per[n+i].phone);

\t电子邮箱:

per[n+i].email);

\tQQ:

per[n+i].QQ);

gets(x);

\n\t是否继续添加?

(Y/N)"

fflush(stdin);

//清空缓存

%c"

sign);

i++;

return(n+i);

}

{FILE*fp=NULL;

inti=0;

fp=fopen("

"

wb"

if(fp==NULL)

{printf("

打开文件出错!

}

for(i=0;

i<

10;

i++)

fwrite(&

per[i],sizeof(per),1,fp);

//把字节为1的信息写入文件

fclose(fp);

}

voidDisplay(structdateper[10],intn)

{inti;

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

//格式/

姓名电话号码QQ电子邮箱\n"

for(i=1;

n+1;

i++)

{

%-15s%-14s%-14s%-14s\n"

per[i-1].name,per[i-1].phone,per[i-1].QQ,per[i-1].email);

if(i>

1&

i%10==0)

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

printf("

system("

system("

{chars[20];

inti=0,j;

\t请输入想删除记录中的名字:

s);

while(strcmp(per[i].name,s)!

=0&

n)i++;

if(i==n)

{printf("

\t通讯录中没有此人!

return(n);

for(j=i;

j<

n-1;

j++)

{strcpy(per[j].phone,per[j+1].phone);

strcpy(per[j].name,per[j+1].name);

strcpy(per[j].QQ,per[j+1].QQ);

strcpy(per[j].email,per[j+1].email);

\t\t\t已经成功删除!

return(n-1);

voidQuery_a_record(structdateper[10],intn)

{intm;

\t\n请选择查询方式:

\t┌──────┐\n"

\t│1------姓名│\n"

\t│2------电话│\n"

\t│3------返回│\n"

\t└──────┘\n"

请选择:

m);

while(m!

=1&

m!

=2&

=3&

=4)

输入错误,请重新选择:

if(m==1)

{chars[20];

inti=0;

\t请输入想查询的姓名:

\t%s"

while(strcmp(per[i].name,s)!

if(i==n)

{

return;

\t此人QQ:

%s\n"

per[i].QQ);

per[i].phone);

per[i].email);

};

if(m==2)

\t请输入想查询的电话:

while(strcmp(per[i].phone,s)!

\t此人姓名:

per[i].name);

{chars[20];

\t请输入想修改的记录中的名字:

return;

姓名:

电话号码:

QQ:

电子邮箱:

\n修改成功!

{inti=0;

FILE*fp;

//定义文件指针

charfilename[20];

//定义文件名

\t保存到文件\n"

//输入文件名

if((fp=fopen("

w"

))==NULL)

\t无法打开文件\n"

fprintf(fp,"

***************************************通讯录********************************\n"

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

while(i<

n)

{fprintf(fp,"

%-10s\t%-3s\t%-20s\t%-20s\n"

per[i].name,per[i].phone,per[i].QQ,per[i].email);

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

********************************共有%d条记录***************************\n"

n);

//关闭文件

保存成功!

voidmain()//主函数

{intn=0,i;

//信息录入

//保存数据

//操作完成后进行暂停

//删除记录

//修改数据

//添加记录

//查找记录

//结束程序

图1通讯录主菜单结果

图2信息录入

图3通讯信息显示

图4通讯信息保存

五、调试与测试

所谓程序调试是对程序的查错和排错。

对此程序我们进行了以步骤:

人工检查,即静态检查。

此过程我们对于写好的程序进行了排查,并且进行了注释。

上机调试。

通过上机调试发现的错误为动态检查,这时发现了许多错误和警告,我们根据提示逐一改正。

运行程序。

这一步骤我们逐一检查每个菜单是否运行正常与正确,在这个过程中我们出现了许多格式不正确,我们细心的进行修改。

总之,在我们对程序进行了细心的调试和测试之后,我们的程序正常运行了,但是其中还是有很多不足的地方。

比如我们的修改成绩这一向就是不完善的,要是程序里出现了不同班但学号相同时这个问题就没有解决,在以后我们会进行改善。

六、结语

心得体会:

通过这一周的课程设计,我对一些专业知识和程序设计有了更深的了解,同时也尝试着,去应用自己的所掌握的知识。

本次高级程序课程设计主要是对本学年学习的C程序知识,同时加上基础知识,设计一些课题。

经过几天的奋战,我感受很深。

在设计的过程中不可避免的遇到了很多的问题.尤其是在调试过程中,会因为某些原因出不来结果,也会因为个别错误而导致运行不出来,在这个过程中,遇到问题是不可避免的,但是在遇到困难是我们不退缩。

在老师和同学的帮助与指导下,我们顺利的完成了本次课程设计,并调试出结果。

在调试结果出来时,我更是无比的兴奋,无比的自豪。

总之,通过这次高级程序课程设计,我对自己的知识有了更好的掌握和应用,在以后的学习和生活中受用终身。

在以后的学习中我们更多的要投身于实践中,多动手,多动脑,才能更好的把学习学好。

七、参考文献

[1]袁志祥主编数据结构(C语言版)例题详解与课程设计指导第二版中国科技大学出版社

[2]刘甫迎刘光会王蓉主编程序设计教程(第二版)北京电子工业出版社2008

[3]郭胜主编程序设计清华大学出版社2002

[4]施燕妹陈培陈发吉主编C#语言程序设计教程中国水利水电出版社2001

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

当前位置:首页 > 经管营销 > 经济市场

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

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