您现在的位置: 爱51代码网 >> 主页设计 >> 文章正文
linux shell 文件配置sh:color:+乱码

各位大神,我在运行文件时出现了乱码,而且设置了编码运行正常,但是关闭shell再运行就不可以了。还有就是出现了sh:color:+乱码
是用putty或securecrt之类的登录的不? 回车符格式不一样吧
//停车场模拟程序
//该程序需实现以下功能:
//(1) 模拟车辆进出
//(2) 模拟停车功能,该程序需要为进来的车辆安排一个车位
//(3) 计费功能,根据停车时间计算费用,在车辆离开时收取
#include<iostream>
#include<vector>
#include<time.h>
#include<string>
#include<stdlib.h>
using namespace std;
//定义车位数量
const int pNumber=10;
//定义当前时间
const time_t beginTime=time(NULL);
//定义停车的价格
const int price=5;
//申明Calendar函数
void Calendar(time_t t);
//申明一个全局临时变量来存储每辆车的费用
double amountMoney=0;
class Car
{
private:
//定义车辆进入和离开停车场的时间
string carID;
time_t enterTime;
time_t leaveTime;
int parkID;//停车位编号
double money;
public:
int getParkID()
{
return parkID;
}
string getID()
{
return carID;
}
Car(string str,int parkNumber)
{
this->carID=str;
this->enterTime=time(NULL);
this->parkID=parkNumber;
cout<<"进入停车场的时间:"<<endl;
Calendar(enterTime);
}
~Car()
{
}
double countMoney()
{
return this->money=price*(this->leaveTime-this->enterTime);
}
void Leave()
{
this->leaveTime=time(NULL);
cout<<"离开停车场的时间:"<<endl;
Calendar(leaveTime);
cout<<"共计在停车场停留 "<<this->leaveTime-this->enterTime<<"秒"<<endl;
amountMoney+=countMoney();
cout<<"总费用为 :"<<countMoney()<<" RMB"<<endl;
this->~Car();
}

};
class CarPark
{
private:
vector<bool> bvec;
vector<Car> cvec;
int parkNumber;//车位号
double amountMoney;
public:
CarPark()
{
//将停车位容器置为pNumber大小,并且以false表示空车位,true表示车位有车占用
this->bvec.resize(pNumber);
this->amountMoney=0;
for(size_t i=0;i<this->bvec.size();i++)
bvec[i]=false;
}
//判断停车场是否停满了车辆
bool isEmpty()
{
for(size_t i=0;i<this->bvec.size();i++)
{
if(bvec[i]==false)
{
this->parkNumber=i;
return true;
}
}
return false;
}
//存车
void enterCar()
{
if(this->isEmpty()==true)
{
string id;
cout<<"输入车牌号:"<<endl;
cin>>id;
//存车前应该检查输入的车牌号是否之前输入过
vector<Car>::iterator iter;
bool exist=false;
for(iter=this->cvec.begin();iter!=this->cvec.end();iter++)
{
if(iter->getID()==id)
{
cout<<"此车牌号的车已经在停车场内,车牌号输入错误!"<<endl;exist=true; break;
}
}
if(exist==false)
{
Car car(id,this->parkNumber);//通过id和parkNumber对car进行标识
cvec.push_back(car);
cout<<"请停在 "<<this->parkNumber<<" 号车位!"<<endl;
bvec[this->parkNumber]=true;//将此车位标识为true表示已有车停留
}
}
else
cout<<"停车场现在没有空的车位!"<<endl;
}
//取车
void leaveCar()
{
string id;
cout<<"输入车牌号:"<<endl;
cin>>id;
vector<Car>::iterator iter;
for(iter=this->cvec.begin();iter!=this->cvec.end();iter++)
{
if(iter->getID()==id)
{
int value;
value=iter->getParkID();
this->bvec[value]=false;//车辆离开将车位设为false标识为车位空闲
iter->Leave();
}
}

}
//查询空位
void findParking()
{
cout<<"空闲车位有:"<<endl;
for(size_t i=0;i<this->bvec.size();i++)
if(bvec[i]==false)
cout<<i<<" ";
cout<<endl;
}
};
void Menu()
{
system("color 2E");
for(int i=0;i<20;i++)
cout<<"*";
cout<<"停车场模拟程序";
for(int i=0;i<20;i++)
cout<<"*";
cout<<endl;
CarPark carPark;
do{
cout<<"1:存入车辆 2:取出车辆 3:查询空闲车位 4:查看收益 5:退出"<<endl;
char key;
cin>>key;
switch(key)
{
case '1':
carPark.enterCar();cout<<endl;break;
case '2':
carPark.leaveCar();cout<<endl;break;
case '3':
carPark.findParking();cout<<endl;break;
case '4':
cout<<amountMoney<<endl;break;
case '5':
exit(0);cout<<endl;break;
default:
cout<<"输入了错误的指示,请重新输入!"<<endl;
}
}while(true);
}
void Calendar(time_t t)
{
time(&t);
struct  tm* tminfo;
tminfo=localtime(&t);
cout <<("Date: %04d-%02d-%02d %02d时%02d分%02d秒\n", tminfo->tm_year + 1900,
tminfo->tm_mon + 1, tminfo->tm_mday,tminfo->tm_hour,tminfo->tm_min,tminfo->tm_sec);
}
int main()
{
Menu();
return 0;
}

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    linux shell 文件配置sh:color:
    shell script语法一定要加path吗
    SecureCRT如何访问虚拟机vmWare中
    C#如何读取WINDOWS的放大系数
    cximge的图如何存入数据库并提取
    DBGRID控件显示查询结果文本类型
    TChart控件如何把表中右边的系列
    fastreport提示没有找到fr_class
    linux下编译faac及faad2提示 rec
    accept无法获取客户端ip
    linux下编译faac及faad2提示 rec
    TClientDataSet如何避免多人更新
    如何用delphi代码修改XML节点
    vc++ pvoid *用delphi怎么表达
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    shell script语法一定要加pa
    Fedora17 内核版本和uname -
    kvm虚拟机网卡闪断
    kvm虚拟机网卡闪断
    #pragma pack(1) 取消默认对
    android进程与c++进程间如何
    SecureCRT如何访问虚拟机vmW
    安装Ubuntu 12.04.4_desktop
    shell script代码$只后为什么
    linux下编译faac及faad2提示
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |