prog7.cpp

来自「C++语言程序设计题典」· C++ 代码 · 共 86 行

CPP
86
字号
#include <iostream.h>
#include <stdio.h>
enum boolean {False,True};
class base    //抽象类
{
protected:
	char title[80];
public:
	void gettitle()	
    {
		cout << "书名:"; cin >> title; 
	}
	void printtitle() 
    {
		cout << "书名:" << title << ":"; 
	}
	virtual boolean isgood()=0;
};
class Book : public base
{
	int numsold;
public:
	void getsold()
	{
		cout << "每月销售书量:";cin >> numsold;
	}
	boolean isgood() 
    { 
		return (numsold>500) ? True:False; 
	}
};
class Journal:public base
{
	int numsold;
public:
	void getsold()
	{
		cout << "每月销售杂志量:";cin >> numsold;
	}
	boolean isgood() 
    { 
		return (numsold>2500) ? True:False; 
	}
};
void main()
{
	base *p[50];  //定义基类的指针数组
	Book *pbook;
	Journal *pjour;
	char ch;
	int count=0;
	do    //循环输入图书或杂志的销售记录
	{
		cout << "输入书(b)或杂志(j):";
		cin>> ch;
		if (ch=='b')
		{
			pbook=new Book;
			pbook->gettitle();
			pbook->getsold();
			p[count++]=pbook;
		}
		else if (ch=='j')
		{
			pjour=new Journal;
			pjour->gettitle();
			pjour->getsold();
			p[count++]=pjour;
		}
		else
			cout << "输入错误" << endl;
		cout << "输入另一项吗(y/n)?"; 
		cin >> ch;
	} while (ch=='y');
	cout << "\n输出结果:" << endl;
	for (int i=0;i<count;i++)  //循环查找,显示销售良好的图书或杂志
	{
		if (p[i]->isgood()==True)
		{
			cout << "   ";
			p[i]->printtitle();
			cout << "销售良好" << endl;
		}
	}
}

⌨️ 快捷键说明

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