⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 大作业1.cpp

📁 一个C++编写的大学体育课程选课小程序 用以学习C++基础语法
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include <iostream.h>
#include <string.h>
#include <assert.h>
#include <iomanip.h>
#include <fstream.h>




//虚基类
class physical_culture_chooser
{public:
	physical_culture_chooser()
	{
		setup("","","");
	}
	void setup(char*,char*,char*);
	virtual ~physical_culture_chooser() {delete[]institute;delete[]name;};
	char*getInstitute()const;
    char*getName()const;
	virtual void print()const;

	 char *institute,*name,*num;
};



void physical_culture_chooser::setup(char*str1,char*str2,char *n)
{
	institute=new char [strlen(str1)+1];
	assert(institute!=0);
	strcpy(institute,str1);

	name=new char [strlen(str2)+1];
	assert(name!=0);
	strcpy(name,str2);

	num=new char;
	num=n;
}

char*physical_culture_chooser::getInstitute()const
{
	return institute;
}

char*physical_culture_chooser::getName()const
{
	return name;
}

void physical_culture_chooser::print()const
{
	cout<<institute<<setw(15)<<name;
}





//子类1
class outdoors:virtual public physical_culture_chooser
{public:
	outdoors(){}
	outdoors(char *str1,char *str2,char *n)
	{		
		setup(str1,str2,n);
	};
	~outdoors(){}

	static int Total_number1() {return total_number1;};
 private:
	 static int total_number1;
};
int outdoors::total_number1=0;


 






//子类1-1
class Cross_country_Directional:virtual public outdoors
{public:
Cross_country_Directional(){}
    Cross_country_Directional(char*,char*,char*);
	~Cross_country_Directional(){}

    void print();

	static int outnumber1() {return number1;};
 private:
	 static int number1;
};
int Cross_country_Directional::number1=0;


Cross_country_Directional::Cross_country_Directional(char*str1,char*str2,char* n):outdoors(str1,str2,n)
{
	number1++;
}


void Cross_country_Directional::print()
{
	physical_culture_chooser::print();
	cout<<'\n'<<setw(15)<<"Cross_country_Directional\n";
	cout<<"the place of class:"<<setw(10)<<"playground\n";
}




//子类1-2
class radio_direction_finder:virtual public outdoors
{public:
    radio_direction_finder(char*,char*,char* );
	~radio_direction_finder(){}

    virtual void print()const;
	static int outnumber2() {return number2;};

 private:
	 static int number2;
};

int radio_direction_finder::number2=0;

radio_direction_finder::radio_direction_finder(char*str1,char*str2,char* n):outdoors(str1,str2,n)
{number2++;}

void radio_direction_finder::print()const
{
	physical_culture_chooser::print();
	cout<<setw(15)<<"radio_direction_finder\n";
	cout<<"the place of class:"<<setw(15)<<"playground\n";
}





//子类2
class body_builder:virtual public physical_culture_chooser
{public:
	body_builder(){}
    body_builder(char*,char*,char* );
	~body_builder(){}
	virtual void print()const;
	static int Total_number2() {return total_number2;};
 private:
	 static int total_number2;
};
int body_builder::total_number2=0;

body_builder::body_builder(char*str1,char*str2,char* n)
	{
		setup(str1,str2,n);
	};
 
void body_builder::print()const
{    
	cout<<"total number is:"<<total_number2<<endl;
}



//子类2-1
class sociality_dancing:  virtual public body_builder
{public:
    sociality_dancing(char*,char*,char* );
	~sociality_dancing(){}

    virtual void print()const;
	static int outnumber3() {return number3;};

 private:
	 static int number3;
};

int sociality_dancing::number3=0;

sociality_dancing::sociality_dancing(char*str1,char*str2,char* n):body_builder(str1,str2,n)
{number3++;}

void sociality_dancing::print()const
{
	physical_culture_chooser::print();
	cout<<setw(15)<<"sociality_dancing\n";
	cout<<"the place of class:"<<setw(15)<<"the first floor of A1\n";
}




//子类2-2
class physical_dancing:virtual public body_builder
{public:
    physical_dancing(char*,char*,char* );
	~physical_dancing(){}

    virtual void print()const;
	static int outnumber4() {return number4;};

 private:
	 static int number4;
};

int physical_dancing::number4=0;

physical_dancing::physical_dancing(char*str1,char*str2,char* n):body_builder(str1,str2,n)
{number4++;}

void physical_dancing::print()const
{
	physical_culture_chooser::print();
	cout<<setw(15)<<"physical_dancing\n";
	cout<<"the place of class:"<<setw(15)<<"the first floor of A1\n";
}




//子类2-3
class gym:virtual public body_builder
{public:
    gym(char*,char*,char* );
	~gym(){}

    virtual void print()const;
	static int outnumber5() {return number5;};

 private:
	 static int number5;
};

int gym::number5=0;

gym::gym(char*str1,char*str2,char* n):body_builder(str1,str2,n)
{number5++;}

void gym::print()const
{
	physical_culture_chooser::print();
	cout<<setw(15)<<"gym\n";
	cout<<"the place of class:"<<setw(15)<<"the first floor of A1\n";
}




//子类3
class ball:virtual public physical_culture_chooser
{public:
	ball(){}
    ball(char*,char*,char* );
	~ball(){}
	virtual void print()const;
	static int Total_number3() {return total_number3;};
 private:
	 static int total_number3;
};
int ball::total_number3=0;

ball::ball(char*str1,char*str2,char* n)
{
		setup(str1,str2,n);
};
 
void ball::print()const
{    
	cout<<"total number is:"<<total_number3<<endl;
}


//子类3-1
class table_tennis:virtual public ball
{public:
    table_tennis(char*,char*,char* );
	~table_tennis(){}

    virtual void print()const;
	static int outnumber6() {return number6;};

 private:
	 static int number6;
};

int table_tennis::number6=0;

table_tennis::table_tennis(char*str1,char*str2,char* n):ball(str1,str2,n)
{number6++;}

void table_tennis::print()const
{
	physical_culture_chooser::print();
	cout<<setw(15)<<"table_tennis\n";
	cout<<"the place of class:"<<setw(15)<<"the first floor of A1\n";
}





//子类3-2
class football:virtual public ball
{public:
    football(char*,char*,char* n);
	~football(){}

    virtual void print()const;
	static int outnumber7() {return number7;};

 private:
	 static int number7;
};

int football::number7=0;

football::football(char*str1,char*str2,char* n):ball(str1,str2,n)
{number7++;}

void football::print()const
{
	physical_culture_chooser::print();
	cout<<setw(15)<<"football\n";
	cout<<"the place of class:"<<setw(15)<<"playground";
}





//子类3-3
class basketball:virtual public ball
{public:
    basketball(char*,char*,char* );
	~basketball(){}

    virtual void print()const;
	static int outnumber8() {return number8;};

 private:
	 static int number8;
};

int basketball::number8=0;

basketball::basketball(char*str1,char*str2,char* n):ball(str1,str2,n)
{number8++;}

void basketball::print()const
{
	physical_culture_chooser::print();
	cout<<setw(15)<<"basketball\n";
	cout<<"the place of class:"<<setw(15)<<"playground";
}

//子类3-4
class shuttlecock:virtual public ball
{public:
    shuttlecock(char*,char*,char* );
	~shuttlecock(){};

	virtual void print()const;
	static int outnumber9() {return number9;};

 private:
	 static int number9;
};

int shuttlecock::number9=0;

⌨️ 快捷键说明

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