结构体实例-教师学生信息

需求分析:

  1. 现有3名老师,每个老师带领5个学生
  2. 设计老师和学生的结构体,老师的成员有姓名、所带学生;学生的成员中有姓名、分数。
  3. 通过函数对老师、学生的成员赋值。
  4. 通过函数输出老师和所带学生信息。
  5. 使用分文件完成

代码实现

头文件:

struct_eneity.h

using namespace std;
#include<string>

struct student {
	string name;
	int score = 0;
};

struct teacher {
	string name;
	student stu[5];
};

 statement.h

#pragma once
#include"struct_eneity.h"

void set_teacher(teacher* tea);
void set_student(student* stu);
void show_teacher(const teacher* tea);
void show_student(const student* stu);

源文件:

func.cpp

#include"statement.h"
#include<iostream>

void set_teacher(teacher* tea) {
	cout << "姓名: ";
	cin >> tea->name;
	cout << "学生信息:" << endl;
	for (int i = 0; i < (sizeof(tea->stu) / sizeof(tea->stu[0])); i++) {
		cout << "第" << i + 1 << "个学生:" << endl;
		set_student((student*)&(tea->stu[i]));
	}
}

void set_student(student* stu) {
		cout << "姓名:";
		cin >> stu->name;
		cout << "分数:";
		cin >> stu->score;
}

void show_teacher(const teacher* tea) {
	cout << tea->name << "老师所带学生信息:" << endl;
	for (int i = 0; i < (sizeof(tea->stu) / sizeof(tea->stu[0])); i++) {
		cout << "第" << i + 1 << "个学生:" << endl;
		show_student((student*)&(tea->stu[i]));
	}
}
void show_student(const student* stu) {
	cout << "姓名: " << stu->name << endl;
	cout << "分数: " << stu->score << endl;
}

 main.cpp

#include"statement.h"

int main() {

	teacher tea[3];
	for (int i = 0; i < sizeof(tea) / sizeof(tea[0]); i++) {
		set_teacher((teacher*)&(tea[i]));
	}
	for (int i = 0; i < sizeof(tea) / sizeof(tea[0]); i++) {
		show_teacher((teacher*)&(tea[i]));
	}
	system("pause");
	return 0;
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值