实验二 数组、指针与c++标准库

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了实验二 数组、指针与c++标准库脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

task5

Info.hpp代码如下

#include<iostream>
#include<string>
using namespace std;
class Info{
	public:
	    Info(string nickname1,string contact1,string city1,int n1);
		void print();
		
	private:
	   string nickname,contact,city;
	   int n; 
};

Info::Info(string nickname1,string contact1,string city1,int n1)
{
	nickname=nickname1;
	contact=contact1;
	city=city1;
	n=n1;
}
void Info::print()
{
	cout<<"昵称:"<<nickname<<endl;
	cout<<"联系方式:"<<contact<<endl;
	cout<<"所在城市:"<<city<<endl;
	cout<<"预定人数:"<<n<<endl; 
}

  

task5.cpp 代码如下

#include<iostream>
#include"Info.hpp"
#include<vector>
using namespace std;
int main(){
	const int capacity=100;
	cout<<"录入信息:"<<endl;
	cout<<endl; 
	cout<<"称呼/昵称,联系方式(邮箱/手机号),所在城市,预定参加人数"<<endl;
	vector<Info>audience_info_list;
	string s1,s2,s3;
	int m,n1,n2=0;
	int i=0;
	while(cin>>s1&&cin>>s2&&cin>>s3&&cin>>m)
	{
		n1=capacity-m-n2;
		if(n1<0)
		{
			cout<<"对不起,只剩"<<capacity-n2<<"个座位。"<<endl;
			cout<<"1.输入u,更新(update)预定信息"<<endl;
			cout<<"2.输入q,退出预定"<<endl;
			char p;
			cout<<"你的选择:";
			cin>>p;
			if(p=='u')
			{
				continue;   //执行下次输入的循环 
			} 
			if(p=='q')
			{
				break;
			}
		}
		audience_info_list.push_back(Info(s1,s2,s3,m));  
		//先判断加上本次预约人数后会不会超出总人数,若不超出再将预约信息存储到数组末尾 
		n2=n2+m;  //计算此时预约人数 
		i++;    //存储有几组预约信息 
	} 
	cout<<endl;
	cout<<"截止目前,一共有"<<n2<<"位听众预定参加,预定听众信息如下:"<<endl;
	for(int j=0;j<i;j++)
	{
		audience_info_list[j].print();   //将数组输出 
	 } 
	return 0;
}

  

运行结果如下

实验二 数组、指针与c++标准库

 

 

实验二 数组、指针与c++标准库

 

 

task6

TextCoder.hpp代码如下

#include<iostream>
#include<string>
using namespace std;
class TextCoder{
	public:
		TextCoder(string text1);
		string encoder();
		string decoder();
		
	private:
		string text;
};

TextCoder::TextCoder(string text1)
{
	text=text1;
}
string TextCoder::decoder()   //解密函数 
{
	for(int i=0;i<text.size();i++)
	{
		if((text[i]>='f'&&text[i]<='z')||(text[i]>='F'&&text[i]<='Z'))
		  text[i]=text[i]-5;
		else 
		{
			if((text[i]>='a'&&text[i]<='e')||(text[i]>='A'&&text[i]<='E'))
		    	text[i]=text[i]+21;
		}
	}
	return text;
}
string TextCoder::encoder()   //加密函数 
{
	for(int i=0;i<text.size();i++)
	{
		if((text[i]>='a'&&text[i]<='u')||(text[i]>='A'&&text[i]<='U'))
		  text[i]=text[i]+5;
		else {
			if((text[i]>='v'&&text[i]<='z')||(text[i]>='V'&&text[i]<='Z'))
			  text[i]=text[i]-21;
		}
	}
	return text;
}

  

task6.cpp代码如下

#include"textcoder.hpp"
#include<iostream>
#include<string>
int main(){
	using namespace std;
	string text,encoded_text,decoded_text;
	cout<<"输入英文文本:";
	while(getline(cin,text))
	{
		encoded_text=TextCoder(text).encoder();   //这里使用的是临时无名对象
		cout<<"加密后英文文本:"<<encoded_text<<endl;
		
		decoded_text=TextCoder(encoded_text).decoder();    //这里使用的是临时无名对象
		
		cout<<"解密后英文文本:"<<decoded_text<<endl;
		cout<<"n输入英文文本:"; 
	}
	
	
}

  

运行结果如下

实验二 数组、指针与c++标准库

 

脚本宝典总结

以上是脚本宝典为你收集整理的实验二 数组、指针与c++标准库全部内容,希望文章能够帮你解决实验二 数组、指针与c++标准库所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: