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.pswp.cn/diannao/80052.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80052.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/80052.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

優化提示詞方面可以使用的數學方法理論:信息熵,概率論 ,最優化理論

優化提示詞方面可以使用的數學方法理論:信息熵,概率論 ,最優化理論 目錄 優化提示詞方面可以使用的數學方法理論:信息熵,概率論 ,最優化理論信息論信息熵明確問題主題提供具體細節限定回答方向規范語言表達概率論最優化理論信息論 原理:信息論中的熵可以衡量信息的不確定性。…

DB-GPT支持mcp協議配置說明

簡介 在 DB-GPT 中使用 MCP&#xff08;Model Context Protocol&#xff09;協議&#xff0c;主要通過配置 MCP 服務器和智能體協作實現外部工具集成與數據交互。 開啟mcp服務&#xff0c;這里以網頁抓取為例 npx -y supergateway --stdio "uvx mcp-server-fetch" …

2025.4.22學習日記 JavaScript的常用事件

在 JavaScript 里&#xff0c;事件是在文檔或者瀏覽器窗口中發生的特定交互瞬間&#xff0c;例如點擊按鈕、頁面加載完成等等。下面是一些常用的事件以及案例&#xff1a; 1. click 事件 當用戶點擊元素時觸發 const button document.createElement(button); button.textCo…

基于 SpringAI 整合 DeepSeek 模型實現 AI 聊天對話

目錄 1、Ollama 的下載配置 與 DeepSeek 的本地部署流程 1.1 下載安裝 Ollama 1.2 搜索模型并進行本地部署 2、基于 SpringAI 調用 Ollama 模型 2.1 基于OpenAI 的接口規范&#xff08;其他模型基本遵循&#xff09; 2.2 在 IDEA 中進行創建 SpringAI 項目并調用 DS 模型 3、基…

在線查看【免費】 dcm、drawio,dcm wps文件格式網站

可以免費在線查看 .docx/wps/Office/wmf/ psd/ psd/eml/epub/dwg, dxf/ txt/zip, rar/ jpg/mp3 m.gszh.xyz m.gszh.xyz 免費支持以下格式文件在線查看類型 支持 doc, docx, xls, xlsx, xlsm, ppt, pptx, csv, tsv, dotm, xlt, xltm, dot, dotx, xlam, xla, pages 等 Office 辦…

低光環境下雙目云臺攝像頭監控性能解析

雙目云臺攝像頭在低光環境下的監控效果主要取決于其硬件配置和軟件優化能力。以下是對雙目云臺攝像頭在低光環境下監控效果的詳細分析&#xff1a; 一、硬件配置對低光監控效果的影響 鏡頭與焦距 &#xff1a; 雙目云臺攝像頭通常配備超大廣角固定鏡頭和360視角的移動鏡頭&a…

繼承相關知識

概念 定義類時&#xff0c;代碼中有共性的成員&#xff0c;還有自己的屬性&#xff0c;使用繼承可以減少重復的代碼&#xff0c; 繼承的語法 class 子類&#xff1a;繼承方式 父類 繼承方式有&#xff1a;public&#xff0c;private&#xff0c;protected 公共繼承&#x…

【Python進階】數據可視化:Matplotlib從入門到實戰

Python數據可視化&#xff1a;Matplotlib完全指南 前言技術背景與價值當前技術痛點解決方案概述目標讀者說明 一、技術原理剖析核心概念圖解核心作用講解關鍵技術模塊說明技術選型對比 二、實戰演示環境配置要求核心代碼實現案例1&#xff1a;折線圖&#xff08;股票趨勢&#…

Java高效合并Excel報表實戰:GcExcel讓數據處理更簡單

前言&#xff1a;為什么需要自動化合并Excel&#xff1f; 在日常辦公場景中&#xff0c;Excel報表合并是數據分析的基礎操作。根據2023年企業辦公效率報告顯示&#xff1a; 財務人員平均每周花費6.2小時在Excel合并操作上人工合并的錯誤率高達15%90%的中大型企業已采用自動化…

Python 列表與元組深度解析:從基礎概念到函數實現全攻略

在 Python 編程的廣袤天地中&#xff0c;列表&#xff08;List&#xff09;和元組&#xff08;Tuple&#xff09;是兩種不可或缺的數據結構。它們如同程序員手中的瑞士軍刀&#xff0c;能高效地處理各類數據。從簡單的數值存儲到復雜的數據組織&#xff0c;列表和元組都發揮著關…

Java中的方法重寫(Override)與方法重載(Overload)詳解

一、基本概念對比 特性方法重寫(Override)方法重載(Overload)定義子類重新定義父類中已有的方法同一個類中多個同名方法&#xff0c;參數不同作用范圍繼承關系中&#xff08;父子類之間&#xff09;同一個類內方法簽名必須相同&#xff08;方法名參數列表&#xff09;必須不同…

發布一個npm包,更新包,刪除包

發布一個npm包&#xff0c;更新包&#xff0c;刪除包 如何將自己的項目 發布為一個 npm 包&#xff0c;并掌握 更新 和 刪除 的操作流程。 &#x1f680; 一、發布一個 npm 包的完整流程 ? 1. 注冊并登錄 npm 賬號 如果還沒有賬號&#xff0c;先注冊&#xff1a; 官網注冊&…

Linux系統之----進程的概念

1.進程 1.1基本概念 課本概念 &#xff1a;進程是程序的一個執行實例&#xff0c;是正在執行的程序。當程序被執行時&#xff0c;系統會為其創建一個進程&#xff0c;包含程序代碼、數據以及運行時所需的資源。 內核觀點 &#xff1a;進程是擔當分配系統資源&#xff08;CPU…

Shell腳本中的字符串截取和規則變化

文章目錄 前言if通配符判斷if判斷多個條件規則變化字符串的兩個示例改變中間段數字改變末尾段數字 總結 前言 科技的發展會帶來習慣的改變&#xff0c;特別是對于我們這批敲代碼的&#xff0c;之前還積累一些奇巧淫技&#xff0c;想著在必要的時候賣弄一下&#xff0c;自從生成…

c語言修煉秘籍 - - 禁(進)忌(階)秘(技)術(巧)【第七式】程序的編譯

c語言修煉秘籍 - - 禁(進)忌(階)秘(技)術(巧)【第七式】程序的編譯 【心法】 【第零章】c語言概述 【第一章】分支與循環語句 【第二章】函數 【第三章】數組 【第四章】操作符 【第五章】指針 【第六章】結構體 【第七章】const與c語言中一些錯誤代碼 【禁忌秘術】 【第一式】…

Feign 深度解析:Java 聲明式 HTTP 客戶端的終極指南

Feign 深度解析&#xff1a;Java 聲明式 HTTP 客戶端的終極指南 Feign 是由 Netflix 開源的 ?聲明式 HTTP 客戶端&#xff0c;后成為 Spring Cloud 生態的核心組件&#xff08;現由 OpenFeign 維護&#xff09;。它通過注解和接口定義簡化了服務間 RESTful 通信&#xff0c;并…

如何Ubuntu 22.04.5 LTS 64 位 操作系統部署運行SLAM3! 詳細流程

以下是在本地部署運行 ORB-SLAM3 的詳細步驟&#xff0c;基于官方 README.md 和最佳實踐整理&#xff0c;適用于 Ubuntu 16.04/18.04/20.04/22.04 系統&#xff1a; 一、系統要求與依賴項安裝 1. 基礎系統要求 操作系統&#xff1a;Ubuntu 16.04/18.04/20.04/22.04&#xff…

USB 共享神器 VirtualHere 局域網內遠程使用打印機與掃描儀

本文首發于只抄博客,歡迎點擊原文鏈接了解更多內容。 前言 很久之前,有分享過使用 CUPS 和路由器來實現局域網內共享打印機,但由于 SANE 支持的打印機較少以及掃描驅動的缺失,試了很多種方法都沒有辦法成功遠程使用打印機的掃描功能。 后面偶然發現 VirtualHere 可以曲線…

一洽智能硬件行業解決方案探索與實踐

一、智能硬件行業發展現狀剖析 在數字化浪潮推動下&#xff0c;智能硬件行業呈現蓬勃發展態勢。軟硬件一體化的深度融合&#xff0c;構建起智能化服務的核心架構&#xff0c;而移動應用作為連接用戶與設備的重要橋梁&#xff0c;其作用愈發關鍵。深入研究該行業&#xff0c;可…

【C++ 類和數據抽象】構造函數

目錄 一、構造函數的基本概念 1.1 構造函數核心特性 1.2 構造函數的作用 1.3 構造函數類型體系 二、構造函數的類型 2.1 默認構造函數 2.2 帶參數的構造函數 2.3 拷貝構造函數 2.4 移動構造函數&#xff08;C11 及以后&#xff09; 三、初始化關鍵技術 3.1 成員初始…