某学校实现进出校园的车辆管理,试用类的形式记录车辆的进出(类名为CampusAutos)。有车进来时用new的方法构建一个新的对象,记录它的牌照(8个字符的字符串,licensetag),离开校园时即析构。在main()中设一循环,每次可以输入车辆进入及牌照号或某牌照号的车辆出去(校园内限N辆,暂设为5),同时报告校园内现有多少辆汽车及它们的牌照号。(用对象指针数组)
注意:程序中要实现数组溢出保护(车位已满)、牌照输入错误(超8个字符)和查询失败报告(无此牌照)。
谢谢!!!
要求有点别扭~
随便写了一个,没完全按照你的要求,当参考吧,不对的地方再改改~
#include <iostream>
#include<string>
using namespace std;
class CampusAutos
{
private:
string licens;
static const int max;
static int num;
public:
CampusAutos()
{
licens = "0";
}
static void find(CampusAutos car[],string s)
{
int i;
for(i=0;i<max;i++)
{
if(car[i].licens != s)
continue;
if(car[i].licens ==s)
{
num--;
car[i].licens = "0";
break;
}
cout<<"input erro,find no number "<<endl; exit(0);
}
}
void inrecord(CampusAutos car[],string licens)
{
if (licens.length() > 8)
{
cout<<"input erro"<<endl;
exit(0);
}
else
this->licens = licens;
if(num>=max)
{ cout<<"full"<<endl; show( car);exit(0);}
else
num++;
}
static void show( CampusAutos car[])
{
int i;
cout<<"车辆的数目是:"<<num<<endl;
cout<<"在库车辆分别是:"<<endl;
for(i=0;i<max;i++)
if(car[i].licens != "0")
cout<<car[i].licens<<"\t";
}
};
const int CampusAutos::max = 5;
int CampusAutos::num = 0;
int main()
{
int i,select;
CampusAutos *car = new CampusAutos [500];
cout<<"please input the number that your want to do:"<<endl;
cout<<"***********************************"<<endl;
cout<<" ***0:退出系统***"<<endl;
cout<<" ***1:车辆进入***"<<endl;
cout<<" ***2:车辆驶出***"<<endl;
cout<<"***********************************"<<endl;
while(cin>>select)
{
switch(select)
{
case 0:
cout<<"!!!"<<endl;
return 0;
case 1:
cout<<"输入车牌号,输入0表示驶入车辆输入结束"<<endl;
for(i=0; ;i++)
{
string licens;
cin>>licens;
if(licens =="0")
break;
else
{
car[i].inrecord(car,licens);
}
}
break;
case 2:
cout<<"输入驶出的车辆车牌号"<<endl;
string str;
cin>>str;
CampusAutos::find(car,str);
break;
}
CampusAutos::show(car);
cout<<"\n请输入你要选择的功能键(0---2)"<<endl;
}
}
一个C++的题目!急救啊!!会我或者发我邮箱 645267152@qq.com在线等答案...
include <iostream> using namespace std;class IntChecker { public:IntChecker( );void Check( int i );void Show( );private:int negativeCount;int positiveCount;int zeroCount;};IntChecker::IntChecker( ): negativeCount( 0 ), positiveCount( 0 ), zeroCount( 0 ){ } void IntChecker...
跪求C++练习题 谢谢!!!
1、C++对C语言作了很多改进,下列描述中( D )使得C语言发生了质变,从面向过程变成了面向对象。A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型;D、引进了类和对象的概念;2、下列描述中,( )是错误的。A、内联函数主要解决程序的运行效率问题;B...
c++经典面试题及答案
struct成员默认访问权限为public,而class成员默认访问权限为private 2. 析构函数和虚函数的用法和作用 析构函数是在对象生存期结束时自动调用的函数,用来释放在构造函数分配的内存。虚函数是指被关键字virtual说明的函数,作用是使用C++语言的多态特性 3. 全局变量和局部变量有什么区别?是怎么实现的?操作...
面向对象程序设计C++复习题
类的每个对象都有自己的静态数据成员 C. 类的不同对象有不同的静态数据成员值 D. 静态数据成员不能通过类的对象调用 7.在VC++语言类体系中,不能被派生类继承的有( B ) A. 转换函数 B. 构造函数 C. 虚函数 D. 静态成员函数 8.下面关于句柄正确的说法是( A ) A. 句柄是一个标识Windows资源和设备等...
C++类 的问题
1.类就是对一个事物抽象出来的结果。封装,指两方面含义,一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便于外界联系,接受外界信息。2.类是面向对象程序设计的核心,它实际是...
C++编程序题:(一)定义一个圆类XY,计算圆的面积和周长(). 要求:1.该...
\/\/类定义结束 int main() \/\/主函数{double t; \/\/双精度变量 XY O; \/\/XY类对象 printf("请输入半径:"); \/\/提示输入半径 scanf("%lf",&t); \/\/从键盘接受半径大小 O.Set(t); \/\/以t的值设置对象O的半径 t=O.Grith(); ...
在C++编程里面,什么叫做面向对象、类、封装、继承、消息、多态性?请具...
对象就是 生活中的具体的东西(如电视机,飞机,...哎,世界是物质的啊),类就是(东西)的设计图纸或模板,就是画了个图还没开始生产,定义对象是就开始生产对象(东西)了。封装就是找个东西把代码包起来,不让人看到,这是类该干的活啊,如果想看到的话,请开个偷窥孔,public这家伙不地道啊...
C++期末练习题~~~
第 9 ,10 题 其他题答案统一,且有正确的解释 9 B 类成员默认访问属性为 private,构造函数的可以为private成员,类定义中 成员变量是不可以被初始化的 10 c 构造函数是可以被重载的
C++上的一些运算符顺序的问题:我是C++初学者,对运算符顺序不是很了解...
1.必要性逻辑:C++是一门几乎理论上完美的语言,创造它的人是理论和实践的顶级牛人,那么,所有运算符的逻辑顺序必须是往最合理的那个方向去思考:怎样才最符合严谨的语法和使用?比如你提到的*(p+2)**(w+3), 你会发现,这种语法初看奇怪,实际上必须是左右都是【指针解引用】后再相乘。否则没有...
C和C++中面向过程和面向对象的程序设计怎么形象的理解?
面向对象的是以类\/对象为单位,典型的是类 面向对象是对面向过程的发展,它通过类把相关的数据和操作捆绑在一起的 简单的说一下吧 如果你要做个航空系统的网站,如乘客这里,用面向对象的思想,你把所有乘客的属性,方法等全部写出来,不管项目是否需要这些功能。而面向过程是你想到哪里属性方法就写哪些...