Quote:
引用第25楼依然随意于2007-07-01 14:47发表的:
上面那位兄弟给的代码很全面,但毕竟还用了泛型设计,我看蝈蝈很厉害的样子,不如给个
完全由自己设计的代码看看,(不要用除iostream外的其他头文件dll或lib),相信老大这么强应该很快搞定,等待!!!!!!
最近两天都没过来,vector又不是什么特殊类库,题目要求里面没说不可以用阿,
没有问题的。为表歉意,顺便将第一道写了下。也是用vector,实在想换得话,vector就是一个数组。。
#include <fstream>
#include <string>
#include <vector>
#include <iostream>
using namespace std;
class person
{
public:
string m_com;
string m_dep;
string m_ID;
string m_Name;
string m_tel;
};
vector <person> vec;
void Init()
{
string com,dep,ID,Name,tel,all;
person tmp;
int len;
fstream in("c:\\1.txt");
while(in>>all)
{
len=all.length ();
com=all.substr(0,2);
dep=all.substr(2,2);
ID=all.substr (4,3);
Name=all.substr (7,len-18);
tel=all.substr(len-11);
tmp.m_com=com;
tmp.m_dep=dep;
tmp.m_ID=ID;
tmp.m_Name=Name;
tmp.m_tel=tel;
vec.push_back(tmp);
}
}
int main()
{
Init();
int flag=1;
int type,i;
int len=vec.size();
string key;
while(flag)
{
cout<<"请输入查询方式:1.公司 2部gate 3联系人 4退出"<<endl;
cin>>type;
if(type!=4)
{
cout<<"输入查询关键字:"<<endl;
cin>>key;
}
switch(type)
{
case 1:
for(i=0;i<len;i++)
if(vec[i].m_com==key)
cout<<"姓名:"<<vec[i].m_Name<<" "<<"联系电话:"<<vec[i].m_tel<<endl;
break;
case 2:
for(i=0;i<len;i++)
if(vec[i].m_dep==key)
cout<<"姓名:"<<vec[i].m_Name<<" "<<"联系电话:"<<vec[i].m_tel<<endl;
break;
case 3:
for(i=0;i<len;i++)
if(vec[i].m_ID==key)
cout<<"姓名:"<<vec[i].m_Name<<" "<<"联系电话:"<<vec[i].m_tel<<endl;
break;
case 4:
flag=0;
break;
default:;
}
}
return 0;
}