📄 py3.cpp
字号:
//py2.txt为字母表;name.txt为输入名单;outName.txt为输出名单。
#include<string>
#include<iostream>
#include<fstream>
using namespace std;
const char * inName="name.txt";
const char * outName="outName.txt";
const char * outDu="outDu.txt";
const char * inFile="py2.txt";
const char * outDu2="outDu2.txt";
const char * outResult="result.txt";
const char * domain="";
//const char * outCh="ch.txt";
//const char * outPy="py.txt";
string strCh[30000];//汉字表
string strPy[30000];//对应拼音表
string strName[3000];// 处理的结果
string strDu[3000];//将name.txt中的名字,保存在这个数组之中。
string strA[3000];//保存部门信息
string strB[3000];//保存职位信息
string getPy(string sCh)//获得一个汉字的拼音
{
for(int i=0;i<27902;i++)
{
if(strCh[i] == sCh)
return strPy[i];
}
}
string funPy(string sCh)//获得名字的拼音,姓全拼,名字取首字母
{
string result;
string tmpStr;
string tmpStr2;
int len = sCh.length();
for(int i=0; i<len; i+=2)
{
tmpStr = sCh.substr(i,2);
tmpStr = getPy(tmpStr);
result = result + tmpStr;
}
return result;
}
string funSzm(string sCh) //获得名字的首字母
{
string result;
string tmpStr;
string tmpStr2;
int len = sCh.length();
for(int i=0; i<len; i+=2)
{
tmpStr = sCh.substr(i,2);
tmpStr = getPy(tmpStr);
result = result + tmpStr[0];
}
return result;
}
string funQp(string sCh) //获得名字的全拼
{
string result;
string tmpStr;
string tmpStr2;
int len = sCh.length();
for(int i=0; i<len; i+=2)
{
if(i==0)
{
tmpStr = sCh.substr(0,2);
result = result + getPy(tmpStr);
}
else
{
tmpStr = sCh.substr(i,2);
tmpStr = getPy(tmpStr);
result = result + tmpStr;
}
}
return result;
}
int main()
{
ifstream input_file;
ifstream in_name;
ofstream out_name;
ofstream out_r;
ifstream in_a;
ifstream in_b;
in_a.open("a.txt");
in_b.open("b.txt");
//ofstream output_ch;
//ofstream output_py;
ofstream out_du;
out_r.open(outResult);
out_du.open(outDu);
in_name.open(inName); // 输入的文件名
out_name.open(outName);
ofstream out_du2;
out_du2.open(outDu2);
//output_ch.open(outCh);
//output_py.open(outPy);
input_file.open(inFile);
string tmpStr;
int i=0;
//建立两个表strCh 和 strPy用来保存汉字和拼音,一一对应
while(!input_file.eof())
{
input_file>>tmpStr;
strCh[i]=tmpStr.substr(0,2);
strPy[i]=tmpStr.substr(2,tmpStr.length()-2);
//output_ch<<strCh[i]<<endl;
//output_py<<strPy[i]<<endl;
i++;
}
i=0;
//将结果导出到文件outName.txt中
while(!in_name.eof())
{
in_name>>tmpStr;
strDu[i] = tmpStr;
strName[i] = funSzm(tmpStr);
out_name<<tmpStr<<" "<<strName[i]<<domain<<endl;
i++;
}
i=0;
while(!in_a.eof())
{
in_a>>tmpStr;
strA[i] = tmpStr;
i++;
}
i=0;
//对姓名处理后,如果有重复的,在outDu.txt中显示出来
bool b[3000] = {0};
int len=i,j;
bool bTp;
int k;
for( i=0; i<len; i++)
{
if(!b[i])
{
k=1;
bTp = true;
for(j=i+1; j<len; j++)
{
if(strName[i] == strName[j])
{
if(bTp == true)
{
out_r<<strA[i]<<" "<<strDu[i]<<" "<<strName[i]<<k<<endl;
bTp = false;
k++;
}
b[j] = true;
out_r<<strA[j]<<" "<<strDu[j]<<" "<<strName[j]<<k<<endl;
k++;
}
}
if( bTp == true)
out_r<<strA[i]<<" "<<strDu[i]<<" "<<strName[i]<<endl;
}
}
out_du.close();
out_du2.close();
in_name.close();
out_name.close();
system("pause");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -