⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 py3.cpp

📁 能够取到汉字的拼音的小程序。 在vc6.0运行正常
💻 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 + -