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

📄 数据结构试验3.cpp

📁 实现语言翻译
💻 CPP
字号:
// 数据结构试验3.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <string>
#include"quence.h"
#include "beelzebublang.h"

using   namespace std;
int _tmain(int argc, _TCHAR* argv[])
{   
	string beelzebublang="";
	cout<<"请输入魔王语言串:"<<endl;
    cin>>beelzebublang;
	sqstack chstack;
	sqstack translang;
	sqqueue chqueue;
	initstack(chstack);
	initstack(translang);
	initqueue(chqueue);
	for(int i=0;i<beelzebublang.size();i++)
      push(chstack,beelzebublang[i]);
	selemtype e,reversefirstelem;
	while( !stackempty(chstack))
	{
		pop(chstack,e);
		switch(e)
		{
		case 'B':{
			        push(chstack,'t');
					push(chstack,'A');
					push(chstack,'d');
					push(chstack,'A');
					break;
				 }
		case 'A':{
			        push(chstack,'s');
					push(chstack,'a');
					push(chstack,'e');
					break;
				 }
		case ')':{
			        pop(chstack,e);
					while(e!='(')
					{
						reversefirstelem=e;
						enqueue(chqueue,e);
						pop(chstack,e);
					}
                    push(chstack,reversefirstelem);
					while(!queueempty(chqueue))
					{
						dequeue(chqueue,e);
						push(chstack,e);
						push(chstack,reversefirstelem);
					}//while
					pop(chstack,e);
					break;
				 }//case
		default:{
			      push(translang,e);
				  break;
				 }
		}//switch
	 
	}
	cout<<"对应的魔王语言是:"<<endl;
	 while( !stackempty(translang))
	 {
		 pop(translang,e);
		 cout<<e;
		 enqueue(chqueue,e);
     } 
	 cout<<endl<<"对应的中文是:"<<endl;
	 while(!queueempty(chqueue))
	 {
		dequeue(chqueue,e);
		  
		 if(e=='a')  cout<< "爱" ;
		 else if(e=='b')cout<< "太";
		 else if(e== 'c') cout<< '电';   
		 else  if(e=='d')cout<<"和";
		 else  if(e=='e')cout<<"你";
		 else if(e=='f')cout<<"阳";
		 else if(e=='g')cout<<"跑";
		 else if(e=='h')cout<<"步";
		 else if(e=='i')cout<<"她";
		 else if(e=='j')cout<<"国";
		 else if(e=='k')cout<<"家";
		 else if(e=='l')cout<<"中";
		 else if(e=='m')cout<<"球";
		 else if(e=='n')cout<<"哭";
		 else if(e=='o')cout<<"笑";
		 else  if(e=='p')cout<<"马";
		 else  if(e=='q')cout<<"读";
		else  if(e=='r')cout<<"书";
		else  if(e=='s')cout<<"我";
		else  if(e=='t')cout<<"看";
		else if(e=='u')cout<<"影";
	    else if(e=='v')cout<<"足";
		else  if(e=='w')cout<<"长";
		else  if(e=='x')cout<<"直";
		else  if(e=='y')cout<<"天";
		else  if(e=='z')cout<<"蓝";
		else  cout<<e;
	  }//while
	 
     destroystack(chstack);
     destroystack(translang);
     destroyqueue(chqueue);
       	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -