当前位置: 首页 > news >正文

10_C++入门案例习题: 结构体案例

案例描述
学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下

设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员

学生的成员有姓名、考试分数,
创建数组存放3名老师,通过函数给每个老师及所带的学生赋值

最终打印出老师数据以及老师所带的学生数据。

#include <iostream>
#include <ctime>
using namespace std;/*
* 案例描述
学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员学生的成员有姓名、考试分数,
创建数组存放3名老师,通过函数给每个老师及所带的学生赋值最终打印出老师数据以及老师所带的学生数据。
*//*
思维过程:
1.	分析数据: 1名老师带领5名学生,总共有3名老师。学生的信息有 姓名,分数
2.	数据结构体:	分为两个,老师和学生,老师的结构体内有 老师姓名,学生数组[];学生的结构体内有 学生姓名,分数(分数随机);
3.	函数逻辑构成:	 分为给老师、学生传参赋值;将所传入的内容输出打印;4. 函数_给老师、学生传参赋值:传入参数(老师数组,老师数量)老师、学生名字由 string  nameSeed = "ABCDE";//名字种子命名通过双循环给老师及学生赋值----其中分数随机需添加#include <ctime> rand() % 61 + 40 学生分数在40~100之间* b为最大值,a为最小值要取得 [a,b) 的随机整数,使用 (rand() % (b-a))+ a;---要取得 [a,b] 的随机整数,使用 (rand() % (b-a+1))+ a;---要取得 (a,b] 的随机整数,使用 (rand() % (b-a))+ a + 1;5.	函数_打印老师_学生分数:双循环进行遍历;遍历老师;遍历学生*///结构体定义
struct Student {//成员列表string name; //姓名int score;	//分数
};struct Teacher
{string name;Student sArray[5]; //学生数组
};// 给老师和学生赋值函数
void set_Teacher_Stu(Teacher tArray[],int len) { //len为老师的数量string tName = "老师";string sName = "学生";string nameSeed = "ABCDE";//名字种子for (int i = 0; i < len; i++) {tArray[i].name = tName + nameSeed[i];//老师名字for (int j = 0; j < 5; j++){tArray[i].sArray[j].name = sName + nameSeed[j];//学生名字tArray[i].sArray[j].score = rand() % 61 + 40; //学生分数}}}//打印老师学生函数
void print_Teacher_Stu(Teacher tArray[],int len) { ////遍历老师和学生for (int i = 0; i < len; i++){cout << tArray[i].name << endl;// 打印老师的名字for (int j = 0; j < 5; j++) // 打印学生名字{cout << " \t姓名: " << tArray[i].sArray[j].name << " \t分数: "<< tArray[i].sArray[j].score << endl;}}
}int main() {srand((unsigned int)time(NULL));Teacher tArray[3]; // 老师数组为3名老师int len = sizeof(tArray) / sizeof(Teacher);set_Teacher_Stu(tArray, len);//创建数据print_Teacher_Stu(tArray, len);//打印数据system("pause");return 0;}

http://www.xdnf.cn/news/92611.html

相关文章:

  • Docker:重塑应用开发与部署的未来[特殊字符]
  • 文件上传漏洞2
  • 背包问题模板
  • leetcode0124. 二叉树中的最大路径和-hard
  • Python实例题:Python3OpenCV视频转字符动画
  • AI编程助手Cline之快速介绍
  • 人形机器人技术发展与未来趋势
  • 创建redis-cluster集群
  • 2023蓝帽杯初赛内存取证-2
  • ISO15189认证有什么要求?ISO15189认证流程
  • STM32的定时器输出PWM时,死区时间(DTR)如何计算
  • 报错:sudo:./VMware-workstation-Ful1-16.2.3-19376536.x86 64.bundle:找不到命令
  • 自定义UI组件库之组件及属性提示功能
  • C语言高频面试题目——内联函数和普通函数的区别
  • echarts模板化开发,简易版配置大屏组件-根据配置文件输出图形和模板(vue2+echarts5.0)
  • 类与对象(上)
  • 网络应用程序体系结构
  • 【阿里云大模型高级工程师ACP习题集】2.2 扩展答疑机器人的知识范围
  • 跨平台.NET 版本 使用率排名
  • JavaFX 实战:从零打造一个功能丰富的英文“刽子手”(Hangman)游戏
  • 鸿道Intewell操作系统助力工业机器人控制系统自主可控
  • PowerBi中ALLEXCEPT怎么使用?
  • Linux 网络编程:select、poll 与 epoll 深度解析 —— 从基础到高并发实战
  • Python 获取淘宝买家订单详情(buyer_order_detail)接口的详细指南
  • 【CPP】固定大小内存池
  • Java高并发下分布式缓存和数据库一致性解决方案
  • 【文件上传/下载Java+vue3——MQ】
  • [Java · 铢积寸累] 数据结构 — 数组类型 - 增 删 改 查
  • 逻辑回归:使用 S 型函数进行概率预测
  • VMwaer虚拟机复制粘贴、ROS系统安装