上节课作业:
链接:https://pan.baidu.com/s/1fBx8bS-J_FPDqBzn6Omp-g?pwd=1rn5
提取码:1rn5
学习目标
在C++中,结构体(Struct)是一种用于组合多个相关数据项的自定义数据类型。结构体可以包含不同类型的成员变量和成员函数,并且可以通过.
运算符来访问和操作它们。
结构体在C++中具有以下几个主要的作用:
-
组织数据:结构体允许将多个相关的数据项组合在一起,以便更好地组织和管理数据。通过结构体,我们可以将具有相同属性或关联性的数据项打包在一起,使代码更加模块化和清晰。
-
定义复合数据类型:结构体允许我们创建自定义的复合数据类型。通过定义结构体,我们可以为特定的问题域或应用程序定义具有特定属性的数据类型。这样,我们可以根据需要创建具有不同属性的结构体变量,并使用这些自定义类型进行数据处理。
-
传递和返回多个值:当函数需要传递或返回多个相关的值时,结构体非常有用。通过将多个值打包到一个结构体中,我们可以通过将结构体作为参数或返回值传递,从而避免使用多个独立的参数或全局变量。
-
嵌套数据结构:结构体可以嵌套在其他数据结构中,形成更复杂的数据结构。这种嵌套结构可以用于表示现实世界中复杂的关系和层次结构,提供更灵活和强大的数据组织能力。
-
面向对象编程中的基础:在C++中,结构体是类(Class)的一种形式,在面向对象编程中具有重要的作用。结构体可以拥有成员函数(方法)和访问修饰符(public、private等),使其具备类似于类的特性。结构体可以作为类的基础,通过继承和组合实现更复杂的对象模型。
总之,C++的结构体提供了一种灵活和有用的机制,用于组织和管理相关数据项,并在程序设计中起到重要的作用。无论是用于简单的数据组织还是面向对象编程中的基础,结构体都具有很高的实用性和适应性。
结构体
结构体定义举例
例题,找错
什么时候用结构体
结构体赋值
例题
输入赋值
【思路分析】 1、声明结构体类型,结构体包含姓名、年龄 2、定义结构体变量,输入信息 3、按照输入顺序,依次输出每位同学的信息 【参考代码】 #include <iostream> using namespace std; //1、声明结构体类型,结构体包含姓名、年龄 struct student { string name; //姓名 int age; //年龄 }; int main() { //2、定义结构体变量,输入信息 student a, b, c; cin >> a.name >> a.age; cin >> b.name >> b.age; cin >> c.name >> c.age; //3、按照输入顺序,依次输出每位同学的信息 cout << a.name << " " << a.age << '\n'; cout << b.name << " " << b.age << '\n'; cout << c.name << " " << c.age << '\n'; return 0; }View Code
结构体数组
结构体数组赋值
例题;
[【结构体】结构体数组的遍历]
【思路分析】 1、声明结构体类型,包含三个属性,分别为姓名、分数、年龄 ,再定义结构体数组 2、定义变量,表示人数 3、输入每个学生的信息 4、按照输入顺序,依次输出每个学生的信息,控制分数的输出格式 【参考代码】 #include <iostream> using namespace std; //1、声明结构体类型,包含三个属性,分别为姓名、分数、年龄 ,再定义结构体数组 struct student { string name; //姓名 double score; //分数 int age; //年龄 } a[109]; int main() { //2、定义变量,表示人数 int n; cin >> n; //3、输入每个学生的信息 for (int i = 0; i < n; i++) cin >> a[i].name >> a[i].score >> a[i].age; //4、按照输入顺序,依次输出每个学生的信息,控制分数的输出格式 for (int i = 0; i < n; i++) { cout << a[i].name << " "; printf("%.1f %d\n", a[i].score, a[i].age); } return 0; }View Code
[【结构体】体重]
【思路分析】 1、定义结构体类型,包含姓名和体重两个属性,开结构体数组 2、定义变量,输入学生人数 3、输入每个学生的信息 4、输出每个学生的信息 【参考代码】 #include <iostream> using namespace std; //1、定义结构体类型,包含姓名和体重两个属性,开结构体数组 struct student { string name; //姓名 int weight; //体重 } a[109]; int main() { //2、定义变量,输入学生人数 int n; cin >> n; //3、输入每个学生的信息 for (int i = 0; i < n; i++) cin >> a[i].name >> a[i].weight; //4、输出每个学生的信息 for (int i = 0; i < n; i++) cout << a[i].name << "->" << a[i].weight << '\n'; return 0; }View Code
[【结构体】平均身高]
【思路分析】 输入,求出学生的平均身高,再依次判断,输出即可。求平均身高的时候注意浮点数。 1、声明结构体类型,包含两个属性:姓名和身高,定义结构体数组 2、定义变量,输入人数 3、输入学生的信息,统计累加总身高 4、求平均身高,注意浮点除 5、判断条件,依次输出 【参考代码】 #include <iostream> using namespace std; //1、声明结构体类型,包含两个属性:姓名和身高,定义结构体数组 struct student { string name; int height; } a[10009]; int main() { //2、定义变量,输入人数 int n; cin >> n; //3、输入学生的信息,统计累加总身高 double ave = 0; for (int i = 0; i < n; i++) { cin >> a[i].name >> a[i].height; ave += a[i].height; } //4、求平均身高,注意浮点数 ave /= n; //5、判断条件,依次输出 for (int i = 0; i < n; i++) { if (a[i].height > ave) cout << a[i].name << " " << a[i].height << '\n'; } return 0; }View Code
[【结构体】总分]
【思路分析】 求每个学生的总成绩,再求出最大值,求最大值的时候变量初始化应该为一个较小值。 1、声明结构体类型,包含姓名、语数英三科成绩,定义结构体数组 2、定义变量,输入人数 3、输入学生的信息,求出总成绩的最大值 4、判断,依次输出符合条件的学生的姓名 【参考代码】 #include <iostream> using namespace std; //1、声明结构体类型,包含姓名、语数英三科成绩,定义结构体数组 struct student { string name; int yw, sx, yy; } a[100009]; int main() { //2、定义变量,输入人数 int n; cin >> n; //3、输入学生的信息,求出总成绩的最大值 int ma = 0; for (int i = 0; i < n; i++) { cin >> a[i].name >> a[i].yw >> a[i].sx >> a[i].yy; ma = max(ma, a[i].yw + a[i].sx + a[i].yy); } //4、判断,依次输出符合条件的学生的姓名 for (int i = 0; i < n; i++) { if (a[i].yw + a[i].sx + a[i].yy == ma) cout << a[i].name << '\n'; } return 0; }View Code
本节课作业讲解:
链接:https://pan.baidu.com/s/15QX-IYsFsFna4z_omMxrBA?pwd=iuug
提取码:iuug
标签:定义,int,cin,C++,name,U3,输入,结构 From: https://www.cnblogs.com/jayxuan/p/17874741.html