通讯录管理系统实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通讯录管理系统实验报告
021240505——胡越编写目的:
学生通讯录管理系统,可以实现对学生管理的功能。通过操作软件可以管理维护用户的信息,具体操作会包括增加、修改、删除、查询用户信息等。并能实现对其进行文件的打开读写与加载。
其软件功能包括:
1.添加用户
2.查找用户
3.修改用户
4.册除用户
5.显示所有用户
6.分类显示用户
需求说明:
该系统信息包括对用户的手机号,及用户姓名。
通过对文件的加载实现的用户的录入、查找、修改、删除、显示、及分类显示。
分类显示是对其手机号码的归属地的实现。以及对字符串处理函数的合理应用。
所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能够尽可能的兼容用户使用过程中的异常情况。
对其用户进行修改,实在总体的情况下的修改,并且不改变其他变量以及用户的信息。
总体设计:
1.系统功能可按其各个功能进行模块划分,具体如下
1》主菜单,显示该系统的主要功能的提示,运行结果如下。
2》添加用户,实现对用户的信息的加载保存,其功能运行结果如下。
3》查找用户,是实现在文件中对其进行查找与显示,其功能运行如下。
4》删除用户,是实现在文件中的删除操作,其功能运行如下。
5》修改用户,是实现在文件中的修改信息,并且不改变其他的信息,其功能运行如下。
6》分类显示,是实现在文件中对其用户进行判断,并加以显示,其功能运行如下。
数据结构
2.本系统中主要的数据结构就是用户的信息,包含用户姓名、手机号,在处理过程中各项可以作为一个用户的不同属性来进行处理
3. 程序流程
系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:
4.程序各个模块的逻辑表示:
①信息输入模块:
打开文件;
输入用户信息;
If{
判断信息的有效性;通讯录系统
添加用户查
找
用
户
修
改
用
户
删
除
用
户
显
示
所
有
用
户
分
类
显
示
用
户
姓名
用
户
手
机
号
对手
机号
信息
的判
定有
效性
查
找
方
式
按
姓
名
查
找
按
手
机
号
查
找
修
改
姓
名
修
改
手
机
号
删
除
的
选
择
全
部
个
别
显
示
用
户
的
选
择
移
动
用
户
联
通
用
户
电
信
用
户
输入成功,保存数据;
关闭文件;
②查找用户模块;
打开文件;
While{
输入查找的方式;
查找函数_1{
按姓名查找;
查找信息;
}
查找函数_2{
按手机号查找;
查找信息;
}
查找完毕,提醒是否继续;}
关闭文件;
③修改用户模块;
打开文件;
查找要修改的用户;
If{
修改姓名;
保存;
}
Else if{
修改手机号;
保存;
}
Else{
修改用户不存在;
}
关闭文件;
④显示所有用户模块;
打开文件;
显示所有;
关闭文件;
⑤分类显示用户;
打开文件;
输入要显示用户的归属;
分类显示函数_1{
显示所有移动用户;
查找用户;
显示;
}
分类显示函数_2{
显示所有联通用户;
查找用户;
显示;
}
分类显示函数_3{
显示所有电信用户;
查找用户;
显示;
}
数据结构:
struct phone_node
{
char name[10];/*姓名*/
char phone[12];/*手机号*/
char flag;/*标记有效性*/
};
struct phone_node phone_list[MAX_LIST];//全局结构数组
char cmd[128];//全局数组
5.个人设计总结:
在这次历时一周的C语言课程设计实验课时,自己对C语言的应用方面有了充分认识,了解到C语言作为计算机基础语言对我们的重要性,在这次实习中,我在这方面很上心,虽然自己已经学了将近一年了,但通过这次的学习认识到C 语言没有我学的那么简单,自己所学的对于自己以后的工作以及简单的项目开发没有很大用处,那不是自己学的没有用,而是自己学的太少。
通过这次的学习认识到自己的不足:
1.结构体的应用,结构体的选择,以及在库函数中的函数功能的调用理解的很差;
2.在编代码过程中,没有对全局的一个构想,怎样对各个函数功能的实现没有做到充分的应用;
3.在函数调试时对每个错误的正确处理不到位,以及对错误的查找,同时在对函数连接错误的改正不能正确的找到根本所在。
通过这次学习的收获:
1.对简单县项目的开发有了一个全新的理解,全新的认识;
2.了解了文件的读与写,怎样用文件进行编程;
3.在对函数应用、结构体的选择有了提高
后期学习方向:加强自己对项目开发的应用,对结构体以及库函数的理解,提高自己对小项目开发的能力!
6.通讯录系统代码:
#include