| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 796 人关注过本帖
标题:[分享]存储电话号码的程序(小部分功能)
只看楼主 加入收藏
wangxiang
Rank: 2
等 级:新手上路
威 望:5
帖 子:376
专家分:0
注 册:2006-3-28
收藏
 问题点数:0 回复次数:4 
[分享]存储电话号码的程序(小部分功能)
如题这只是个小部分的功能,不想再写了,就发上来,让大家指点一下
#include <map>
#include <utility>
#include <iostream>
#include <iomanip>
class Tel
{
std::multimap<std::string,double> map_tel;
public:
void add();
void print();
void find(const std::string & name);
void change(const std::string & name);
};
void Tel::add()
{
//给电话本添加电话号码
std::cout<<"do you want to add num,please press 'y' or 'n' :";
char ch;
std::cin>>ch;
while(ch == 'y')
{
std::cout<<"please input the number_name and own telphone number :";
std::string num_name;
double number;
std::cin>>num_name>>number;
map_tel.insert(std::make_pair(std::string(num_name),number));
std::cout<<"please input home number :";
std::cin>>number;
map_tel.insert(std::make_pair(std::string(num_name),number));
std::cout<<"do you want to add,please press 'y' or 'n' :";
std::cin>>ch;
}
}
void Tel::print()
{
//输出电话本
std::multimap<std::string,double>::const_iterator iter = map_tel.begin();
while(iter != map_tel.end())
{
std::cout<<iter->first<<'\t'<<std::setprecision(11)<<iter->second<<std::endl;
iter++;
}
}
void Tel::find(const std::string & name)
{
//从电话本中查找指定名字的电话号码
typedef std::multimap<std::string,double>::iterator map_it;
std::pair<map_it,map_it> pos = map_tel.equal_range(name);
if(pos.first == pos.second)//电话本里面无此人
{
std::cout<<"no this name\n";
return ;
}
while(pos.first != pos.second)
{
std::cout<<std::setprecision(11)<<pos.first->second<<std::endl;
++pos.first;
}
}
void Tel::change(const std::string &name)
{
//更改指定名字的电话号码
typedef std::multimap<std::string,double>::iterator map_it;
std::pair<map_it,map_it> pos = map_tel.equal_range(name);
double number;
if(pos.first == pos.second)//电话本里面无此人
{
std::cout<<"no this name\n";
return ;
}
for(int i = 0;pos.first != pos.second;++pos.first,++i)
{
if(i == 0)
{

std::cout<<"please input the new own telphone number :";
std::cin>>number;
pos.first->second = number;
}
else
{
std::cout<<"please input the new home number :";
std::cin>>number;
pos.first->second = number;
}
}
}
int main()
{
Tel tel_book;
tel_book.add();
tel_book.print();
std::string name;
std::cout<<"please input the one who you want change :";
std::cin>>name;
tel_book.change(name);
tel_book.print();
std::cout<<"please input you want find :";
std::cin>>name;
tel_book.find(name);
system("pause");
return 0;
}



英语太难了,有些句子没写好
程序运行时:先输入名字,手机号,家庭电话号码
如下:
wang 13555888855 3986668

[此贴子已经被作者于2006-6-2 13:03:23编辑过]

搜索更多相关主题的帖子: std 小部分 void 电话号码 
2006-06-02 12:59
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
支持一下
我一见长代码就看不下去

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-06-02 13:12
stylev
Rank: 1
等 级:新手上路
威 望:1
帖 子:136
专家分:0
注 册:2006-5-30
收藏
得分:0 
还需完善.
密码开启,这可是私人信息哦.....

用自己写的程序,让别人去说吧.!

E-mail/MSN: stylev@
2006-06-02 13:37
我的唯一
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-5-28
收藏
得分:0 
我也是学习C++的,不知为什么就是学不好的,也不知什么东西学好!

[此贴子已经被作者于2006-6-2 19:21:16编辑过]


2006-06-02 19:19
wangxiang
Rank: 2
等 级:新手上路
威 望:5
帖 子:376
专家分:0
注 册:2006-3-28
收藏
得分:0 

学编程不要着急
慢慢来,功夫就是在不知不觉中提升的


2006-06-02 23:03
快速回复:[分享]存储电话号码的程序(小部分功能)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014086 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved