资源简介
使用C++编写的电话簿管理程序,程序功能:(1)将电话簿数据和相应的函数封装在类中,采用双链表结构,改写程序使之结构化。
(2)增加了记录修改功能,能选择修改用户的姓名、电话、QQ号码。
(3)增加了录入时间的显示及存储。
(4)增加了缺省的查询方式,即查询时只输入姓名的首字母,所有符合这一条件的电话资料均在屏幕上显示。
(5)汉化菜单和帮助。
(6)增加显示功能(链表提供逐屏显示选择而且由用户确定每屏显示的数目)。
(7)增加按性别输出记录的功能,由用户选择性别进行显示 。
(8)将按lastname搜索改为按fullname搜索。
(9)解决了同名同姓问题。
代码片段和文件信息
/********************************************************************************************************************************************************
张鹏 学号:0706580140
最终更改于:2008/10/31/1:30
*******************************************************************************************************************************/
/*--------------------------------第5题 电话簿管理-----------------------------*/
#include
#include
#include
#include
#include
#include
#include
class friend_node //定义类friend_node
{
private: //私有成员
char last_name[20];
char first_name[15];
char phone_num[15];
char QQ_num[15]; //增加的QQ号码记录功能
char Time[30]; //增加的记录系统时间的功能
char sex; //增加的记录性别的功能
public: //公有成员
void handle_choice(char choice); //函数原型说明
void add_record();
void insert_node(friend_node *new_rec_ptr);
friend_node *position_insertion_point(char lastname[20]);
void make_node_new_head(friend_node *new_rec_ptr);
void add_node_to_end(friend_node *new_rec_ptr);
void move_current_to_end();
void display_list();
void display_somelist(); //增加的部分显示的函数
void display(); //增加的输入的函数
void delete_record();
void delete_allrecord(); //增加的删除所有记录的函数
void delete_head_of_list();
void delete_end_of_list(friend_node *previous_ptr);
void delete_from_middle_of_list(friend_node *previous_ptr);
int verify_delete();
void delete_node(friend_node *previous_ptr);
void delete_list();
void search_by_fullname(); //修改的根据姓名查找的函数
void write_list_to_file();
void load_list_from_file();
void help_me();
void replace(); //更改记录的函数
void display_by_sex(); //增加的按性别输出记录的函数
void Default_search(); //按首字母查询记录的函数
void gettime(friend_node*point); //获得系统当前时间的函数
friend_node *prev*next; //表示双链表结构的*prev*next指针
}a;
//friend_node类的变量a
char pause;
char fullname[36]; //全局变量,将姓和名联合到一个数组中
friend_node *head_ptr; //全局变量,链头指针
friend_node *current_ptr; //全局变量,用于指明当前链表中的位置
/**********************************************************************************************************/
int main() //主函数
{
cout << “----------------------------------------------------------------------------“;
cout << “ 欢迎使用电话簿管理2.0版\n“;
cout << “----------------------------------------------------------------------------\n“;
cout << “此版本进行了如下改进: \n\n“;
cout << “ 对菜单和帮助进行了汉化 \n“;
cout << “ 增加按首字母智能查找功能\n“;
cout << “ 增加修改记录功能\n“;
cout << “ 增加分页显示记录功能\n“;
cout << “ 增加记录数据更改时系统时间的功
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 69632 2008-11-02 21:57 电话簿管理\Debug\vc60.pdb
文件 237658 2008-11-02 21:57 电话簿管理\Debug\电话簿管理.exe
文件 84728 2008-11-02 21:57 电话簿管理\Debug\电话簿管理.obj
文件 672768 2008-11-02 21:57 电话簿管理\Debug\电话簿管理.pdb
文件 332 2008-11-02 21:56 电话簿管理\FRIENDS.txt
文件 41146 2008-11-02 21:58 电话簿管理\电话簿管理.cpp
文件 3451 2008-11-02 21:51 电话簿管理\电话簿管理.dsp
文件 545 2008-11-02 21:58 电话簿管理\电话簿管理.dsw
文件 41984 2008-11-02 21:58 电话簿管理\电话簿管理.ncb
文件 48640 2008-11-02 21:58 电话簿管理\电话簿管理.opt
文件 1202 2008-11-02 21:57 电话簿管理\电话簿管理.plg
文件 120320 2008-11-02 21:48 电话簿管理\课程设计报告.doc
目录 0 2010-12-28 02:35 电话簿管理\Debug
目录 0 2010-12-29 03:57 电话簿管理
----------- --------- ---------- ----- ----
1322406 14
相关资源
- C++选课系统
- 原创c++二叉树抽象数据类型实现
- C++基础入门编写游戏代码及角色扮演
- 杂志订阅系统C++
- C++实验报告
- 多项式类的C++实现乘法、加法、代入
- aes算法实现C++)
- C++ 数字图像处理源代码
- c++面向对象课程设计报告_(学生成绩
- c++primer_第五版_中文版(完整).rar
- c++实现的哈夫曼编码和解码源代码
- 基于VC++的带通滤波器的设计与实现
- C++高斯投影正反算
- VC++查看鼠标在图像选点坐标程序
- SM2_SM3_SM4_C语言实现+SM3_C++实现+国家密
- C++下的socket异步通信源代码
- SDK入门(用C和C++来调用WindowsAPI)
- vigenere密码加密解密算法实现软件Vc
- C++仿qq程序源代码及程序
- VC++6.0完美运行在win7和win10系统上
-
xm
l解析 CMarkup类 c++ - C++ 操作注册表
- 用c++模拟直线插补和圆弧插补二.cpp
- 用c++模拟直线插补和圆弧插补一.cpp
- 用C++模拟直线插补图形
- 银行借贷系统c++ 编程
- 《C++ Primer Plus第6版中文版》源代码和
- 一个老师给的高斯投影正、反算c++源
- 物业管理系统c++ 课程设计源码
- WindowsCE或WM上C++加载显示GIF动画的程序
评论
共有 条评论