c++_结构体 输出数据

要求:完成一个项目

  1. 三个老师,每个老师带五个学生

  2. 设计老师和学生的结构体,其中在老师的结构体中包含老师姓名一个存放五个学生的数组作为成员

  3. 学生的成员有姓名、考试分数

  4. 创建数组给每个老师及所带的学生赋值

  5. 打印出老师以及所带的学生的数据

(一)main函数

int main()
{
	srand((unsigned int)time(NULL)); 
	/*
	利用系统时间来初始化系统随机数的种子值
	使得每次运行由于时间不同产生而产生不同的随机数序列
	*/
	struct Teacher tArray[3]; 
	//老师数组
	int len = sizeof(tArray) / sizeof(tArray[0]); 
	//求老师数组的长度
	allocateSpace(tArray, len); 
	//通过函数给三名老师和所带学生赋值
	printInfo(tArray, len); 
	//打印输出
}

(二) 老师的结构体定义

struct Teacher
{
	string tName;
	//老师姓名
	struct Student sArray[5]; 
	//学生数组
};

(三)学生的结构体定义

struct Student
{
	string sName; 
	//学生姓名
	int score;
	 //学生分数
};

(四)allocateSpace函数,给三名老师和所带学生赋值

void allocateSpace(struct Teacher tArray[], int len) 
{
	string nameSeed = "ABCDE"; 
	//姓名字符串数组
	for (int i = 0; i < len; i++) 
	//循环给老师数组赋值 len是老师数组的长度
	{
		tArray[i].tName = "Teacher_";
		tArray[i].tName += nameSeed[i]; 
		//Teacher_ABCDE
		for (int j = 0; j < 5; j++) 
		//循环给学生数组赋值
		{
		  tArray[i].sArray[j].sName = "Student_";
		  tArray[i].sArray[j].sName += nameSeed[j];            //Student_ABCDE
			int random = rand() % 61 + 40; 
			//生成40-100的随机数
			tArray[i].sArray[j].score = random;
		}
	}
}

(五)printInfo函数,打印输出老师及所带学生的信息

void printInfo(struct Teacher tArray[], int len) //打印函数
{
	for (int i = 0; i < len; i++)
	{
		cout << "老师姓名: " << tArray[i].tName << endl;
		for (int j = 0; j < 5; j++)
		{
		  cout << "\t学生姓名: " 
		 <<tArray[i].sArray[j].sName << "考试分数: " 
	     <<   tArray[i].sArray[j].score << endl;
			//空四个空格打印学生信息
		}

	}
}

c++_结构体 输出数据_第1张图片
全部代码:

#include <iostream>
using namespace std;
#include<string>
#include<ctime>
struct Student
{
	string sName;
	int score;
};
struct Teacher
{
	string tName;
	struct Student sArray[5];//创建学生数组
};
void allocateSpace(struct Teacher tArray[], int len) //分配空间函数
{
	string nameSeed = "ABCDE"; //姓名字符串数组
	for (int i = 0; i < len; i++) //循环给老师数组赋值 len是老师数组的长度
	{
		tArray[i].tName = "Teacher_";
		tArray[i].tName += nameSeed[i]; //Teacher_ABCDE
		for (int j = 0; j < 5; j++) //循环给学生数组赋值
		{


			tArray[i].sArray[j].sName = "Student_";
			tArray[i].sArray[j].sName += nameSeed[j]; //Student_ABCDE
			int random = rand() % 61 + 40; //生成40-100的随机数
			tArray[i].sArray[j].score = random;
		}

	}
}
void printInfo(struct Teacher tArray[], int len) //打印函数
{
	for (int i = 0; i < len; i++)
	{
		cout << "老师姓名: " << tArray[i].tName << endl;
		for (int j = 0; j < 5; j++)
		{
			cout << "\t学生姓名: " << tArray[i].sArray[j].sName << "考试分数: " << tArray[i].sArray[j].score << endl;
			//空四个空格打印学生信息
		}

	}
}
int main()
{
	srand((unsigned int)time(NULL)); //随机数种子
	struct Teacher tArray[3]; //老师数组
	int len = sizeof(tArray) / sizeof(tArray[0]); //求老师数组的长度
	allocateSpace(tArray, len); //通过函数给三名老师和所带学生赋值
	printInfo(tArray, len); //打印输出
}

你可能感兴趣的:(c++_结构体 输出数据)