Experimento C ++ --- estructura organizativa de la universidad

La estructura organizativa de la universidad

Descripción

Una universidad se compone de varias facultades y departamentos, cada uno de los cuales tiene su propio nombre y liderazgo. Defina la clase Organización, que tiene dos atributos de cadena, que son el nombre de una organización y el nombre de su líder; tiene un método show para mostrar la información de la organización.

Esta categoría tiene 2 subcategorías: Universidad y Departamento. El formato de visualización del método de presentación de College es:

Decano de $ is &

El formato de visualización del método show del Departamento es:

Director de $ is &

En el formato anterior, $ representa el nombre de la universidad o departamento, y & es el nombre del líder correspondiente .

Aporte

Ingrese varias líneas.

La primera fila N representa el número de instituciones afiliadas a una universidad.

Luego hay N grupos de entradas. Cada grupo de entrada tiene 3 líneas: la primera línea es 0 o 1,0, lo que significa que se trata de una universidad, y 1 significa que es un departamento.

La segunda línea es el nombre de la Universidad o Departamento.

La tercera línea es el nombre del líder correspondiente. Vea el ejemplo de
Salida
.
Entrada de muestra

4
0
College of Information
Tom Zhang
1
Department of Software
Jack Li
0
College of Math
Mary Wang
1
Department of Computer
Fu Qi

Salida de muestra

Dean of College of Information is Tom Zhang
Director of Department of Software is Jack Li
Dean of College of Math is Mary Wang
Director of Department of Computer is Fu Qi

Título dado código

int main()
{
    
    
    vector<Orgnization*> university;
    vector<Orgnization*>::iterator itr;
    int n, i, t;
    string str1, str2;
    cin >> n;
    for (i = 0; i < n; i++)
    {
    
    
        cin >> t;
        cin.ignore();
        getline(cin, str1);
        getline(cin, str2);
        if (t == 0)
            university.push_back(new College(str1, str2));
        else
            university.push_back(new Department(str1, str2));
    }
    for (itr = university.begin(); itr != university.end(); itr++)
        (*itr)->show();
    return 0;
}

código:

#include<iostream>
#include<string>
#include<vector>
using namespace std;


class Orgnization{
    
    
protected:
	string name;
	string leader;
public:
	virtual void show()=0;
};

class College:public Orgnization{
    
    
public:
	College(string N,string L){
    
    
		name=N;
		leader=L;
	}
	
	void show(){
    
    
		cout<<"Dean of "<<name<<" is "<<leader<<endl;
	}
};

class Department:public Orgnization{
    
    
public:
	Department(string N,string L){
    
    
		name=N;
		leader=L;
	}
	
	void show(){
    
    
		cout<<"Director of "<<name<<" is "<<leader<<endl;
	}
};


int main()
{
    
    
    vector<Orgnization*> university;
    vector<Orgnization*>::iterator itr;
    int n, i, t;
    string str1, str2;
    cin >> n;
    for (i = 0; i < n; i++)
    {
    
    
        cin >> t;
        cin.ignore();
        getline(cin, str1);
        getline(cin, str2);
        if (t == 0)
            university.push_back(new College(str1, str2));
        else
            university.push_back(new Department(str1, str2));
    }
    for (itr = university.begin(); itr != university.end(); itr++)
        (*itr)->show();
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/timelessx_x/article/details/115217883
Recomendado
Clasificación