完整word版C语言课程设计通讯录Word格式.docx

上传人:b****3 文档编号:15758397 上传时间:2022-11-15 格式:DOCX 页数:24 大小:198.17KB
下载 相关 举报
完整word版C语言课程设计通讯录Word格式.docx_第1页
第1页 / 共24页
完整word版C语言课程设计通讯录Word格式.docx_第2页
第2页 / 共24页
完整word版C语言课程设计通讯录Word格式.docx_第3页
第3页 / 共24页
完整word版C语言课程设计通讯录Word格式.docx_第4页
第4页 / 共24页
完整word版C语言课程设计通讯录Word格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

完整word版C语言课程设计通讯录Word格式.docx

《完整word版C语言课程设计通讯录Word格式.docx》由会员分享,可在线阅读,更多相关《完整word版C语言课程设计通讯录Word格式.docx(24页珍藏版)》请在冰豆网上搜索。

完整word版C语言课程设计通讯录Word格式.docx

④修改功能:

输入要修改的姓名,先对该姓名进行查询,如果查询成功,则可以根据提示对该通讯录每项信息进行修改,如果查询不成功,则显示相应的提示信息。

⑤删除功能:

输入要删除的姓名,先对该姓名进行查询,如果查询成功,则删除该通讯录的所有信息,如果查询不成功,则显示相应的提示信息。

⑥增加功能:

输入要添加的姓名,先对该姓名进行查询,如果查询成功,则提示输入的姓名已存在的信息,并要求能够重新输入,如果查询不成功,则输入该通讯录的其他信息,从而完成一个通讯录信息的录入。

⑦查询功能:

能够分别按输入的姓名和电话号码查询通讯录的信息,如果查询成功,则按一定的格式显示查询结果,如果查询不成功,则显示相应的提示信息。

⑧分类浏览功能:

输入要浏览的类别(同事、朋友、同学、家人),按一定的格显示属于该类别的所有通讯录的信息。

内容提要

个人通讯录管理系统,该系统主要实现了对个人通讯录批量录入、浏览、修改、删除、添加、查询、加密和解密功能。

编程软件采用MicrodoftVisualC++6.0。

所使用的知识点有函数,数组,指针等。

 

一、课程的意义与项目简介

简介

本系统采用C语言建立通讯录,输入姓名、电话号码、住址等信息,然后对通讯录进行显示、查找、添加、修改及删除。

并且通过文本方式对用户所录入的信息进行保存,能够对录入的个人信息进行保存和读取。

并且在原要求的基础上,新增了登陆密码,利用system系统函数增加系统时钟,文件的加密和解密功能。

意义

掌握利用C语言进行程序设计的能力。

理解和运用结构化程序设计的思想和方法。

初步掌握开发一个小型实用系统的基本方法。

学会调试一个较长程序的基本方法。

学会利用流程图表示算法。

根据题目要求,运用所学知识,完成设计和实现工作。

二、需求分析

随着计算机的普及,人们的生活摆脱了传统式的记事本、电话簿,越来越多的靠计算机来帮助人们记住这些事情,极其简便。

这就需要有一个实用的个人通讯录管理系统,用户可以方便的通过自己电脑的通讯录管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。

目标:

本软件的目的是为了实现手机通讯录的管理功能,给用户呈现出简单,美观的界面,是用户能够更加容易与快捷的实现自己想要完成的操作。

三、功能分析

1.系统以菜单方式工作:

2.通讯录管理:

增加删除联系人,修改联系人数据。

   

3.通讯录查询:

可以实现按姓名和电话号码分别查询。

4.浏览功能:

5.文件加密解密:

并且在保存时可以对文件进行加密处理,通过计算秘钥长度,读取文件的每一个字节,异或后写入另一个文件来实现文件的加密功能。

异或的特点是原始值经过两次异或某一个数后会变成原来的值,所以有时利用这个特性来进行加密,加密端把数据与一个密钥进行异或操作,生成密文。

接收方收到密文后利用加密方提供的密钥进行再次异

6.或操作就能得到明文。

7.用户管理:

密码修改,增加删除用户。

8.安全性:

系统设置访问用户需要输入密码,才能进入主菜单,保证信息安全。

四、设计流程及描述

建立13个子函数,分别用来添加、浏览、删除、查询、修改、保存,读取加密,解密通讯录信息,完成通讯录的功能。

主函数采用密码,保护了通讯录数据,可以调用13个子函数,分别完成添加记录、显示记录、删除记录、查询记录、修改记录、保存记录、读取记录、加密文件、解密文件等功能。

在主函数中可以以1、2、3、4、5、6、7、8、9、0数字键分别可以执行某个功能模块。

创建文件

用fopen()建立一个文本文件,然后向其中输入数据(例如,向文件中输入“姓名”,“地址”,“号码”等),并对文件进行命名。

添加联系人

通过键盘输入通讯录人员的姓名、电话号码、地址信息便可实现将信息添加到通讯录文件内,添加完毕后,系统会自动询问你是否继续添加,如你想继续添加,再通过键盘输入通讯录人员的姓名、电话号码、地址信息即可实现继续添加。

显示和查询联系人

通过前面第一个模块打得录入我们便可以执行第二个模块,通过第二个模块我们可以进行对联系人进行显示和查找。

我通过调用Display()函数来进行显示所有的联系人,Display()函数可以实现逐个显示联系人。

对于查找联系人我则采用了chick()函数来进行查找联系人,我提供了两种查找方法:

①按照姓名查找;

②按照电话号码查找。

删除联系人

我调用delete()函数来实现删除功能。

五、软件的流程图

由于程序流程图较为复杂,我采用了分块画出程序流程图

添加联系人系统流程图

显示和查询系统流程图

删除联系人系统流程图

修改联系人系统流程图

六、系统测试及使用说明

主页面

通过键入程序中的密码来实现登陆通讯录系统。

在主函数中设置了密码,而且当密码输入错误三次时,系统会自动退出。

添加联系人功能

在主菜单下键入“1”,实现开始添加联系人。

浏览联系人功能

在主菜单页面,通过键入“2”实现浏览所保存的联系人信息。

删除联系人功能

在主菜单页面,键入“3”,通过输入要删除的联系人名字来实现删除联系人。

查询联系人功能

在主菜单页面,键入“4”,再键入所用查询类型的代号,实现查询联系人。

修改联系人功能

在主菜单页面,键入“5”,通过键入联系人姓名来修改所有信息。

保存联系人功能

在主菜单页面,键入“6”,输入文件名称来实现保存联系人。

文件加密功能

在主菜单页面,键入“8”,输入要加密文件的完整名称(后缀也需要),

输入加密密码,再输入加密后文件,程序通过计算秘钥长度,读取文件的每一个字节,异或后写入另一个文件来实现文件的加密功能。

文件解密功能

在主菜单页面,键入“9”,输入需要解密文件的完整名称,再输入加密密码,输入解密后的文件名,实现解密。

程序结束功能

测试过程中遇到的问题

在最初设计时,定义固定电话、移动手机时使用longtel;

longmob;

在测试的时候发现当输入11位电话号码的数值总是负值,经检查发现问题long型可以表示的整型数字范围为-2,147,483,648~2,147,483,647,即-2^32~2^32-1,而输入的值超出这个范围,经修改chartel[15];

charmob[15];

能正常显示。

七、结论

本程序基本达到了任务书上的要求。

并且在系统中增加了密码登陆功能、系统时间显示功能、文件加密解密功能。

程序特点:

主菜单界面美观,操作简单。

困难:

由于刚开始学习C语言对一些知识理解的还不透彻,还不能应用自如,特别在有些地方编程时需要用到一些课本上没接触过的函数,很难编出我们需要的正确程序,而且不能将各种不同的程序相互联系在一起。

编译连接时,时常出现重定义、初始化失败等问题。

解决途径:

查阅指导书关于C库函数的使用,同学间的交流,网上查询,以及所学的关于函数知识和编程,参照以上的资料,依依解决问题,最终,在多次程序调试中,完成了此次课程设计。

不足之处:

在主菜单下,当输入选择数字时如果不是0-9,程序就会按输入数字的首位进行运行。

设想:

在运行窗口进行登陆密码的修改,美化登录界面,添加BGM和音效。

八、心得体会

在这次实训中,我对对C语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。

通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。

这次的实训,使我对C语言的学习产生浓厚的兴趣。

通过实践,我也发现我的好多不足之处。

首先,对C语言的知识掌握不够,对文件的调用、打开和保存方式比较陌生,通过老师讲解,我基本上掌握了文件的知识;

其次,对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉。

还有对C语言中经常出现的错误也不了解,通过实践,使我在程序修改方面有了一个较大的提高。

通过C语言课程设计的学习,我认识到学好计算机知识需要我们不断的实践操作,只有重视实践操作,才能学到最有用的知识。

不仅仅是学习C语言,学习其他知识,都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己学到有用的知识。

九、附录

头文件

#include<

stdio.h>

stdlib.h>

conio.h>

string.h>

intunpasswd();

/*函数声明*/

intpasswd();

voidencrypt(char*in_filename,char*pwd,char*out_file);

staticintn=0;

/*定义静态全局变量,存储已经读入记录的条数。

*/

typedefstruct

{

charname[10];

/*姓名*/

charunit[20];

/*工作单位*/

chartel[15];

/*固定电话*/

charmob[15];

/*移动手机*/

chartyp[10];

/*类别*/

charadds[20];

/*住址*/

charemail[20];

/*邮箱*/

}Student;

StudentT[100];

主函数

intmain()

{

intflag1;

charperson[20];

charch[7];

inti,n;

printf("

\t\t******个人通讯录管理系统!

*******\n\n"

);

\t\t\t用户登录\n\n"

printf("

\t\t\t请输入密码:

"

for(i=0;

i<

3;

i++)

for(n=0;

n<

6;

n++)

{

ch[n]=getch();

printf("

*"

}

printf("

\n"

ch[n]='

\0'

;

if(0==strcmp(ch,"

123456"

))

pri

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

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

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

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