C++结构体应用:显示与查询学生信息

需积分: 15 1 下载量 35 浏览量 更新于2024-08-19 收藏 1.25MB PPT 举报
该资源是一个关于C++编程的示例,展示了如何使用C++语法来操作结构体(struct)以显示和查询学生信息。通过结构体,可以将多个相关数据(如学号、姓名、性别、年龄、班级和成绩)组合成一个单一的复合类型,便于管理和操作。 在C++中,结构体是一种用户自定义的数据类型,允许我们将不同类型的数据组合在一起。在这个例子中,定义了一个名为`Student`的结构体,包含了`id`、`name`、`sex`、`age`、`classes`和`grade`这些字段,分别代表学生的学号、姓名、性别、年龄、班级和成绩。 ```cpp struct Student { char id[20]; // 学号 char name[20]; // 姓名 char sex[4]; // 性别 int age; // 年龄 char classes[20]; // 班级 float grade; // 成绩 }; ``` 代码中使用了两个`for`循环。第一个循环遍历`Student`结构体数组,打印所有学生的信息: ```cpp for (i = 0; i < 3; i++) { cout << "学号 " << "姓名 " << "性别 " << "年龄 " << "班级 " << "成绩 " << endl; cout << stu[i].id << stu[i].name << stu[i].sex << stu[i].age << stu[i].classes << stu[i].grade << endl; } ``` 第二个循环用于查询名为“李华”的学生成绩,如果找到匹配的名字,就输出该学生的成绩并结束循环: ```cpp for (i = 0; i < 3; i++) { if (strcmp(stu[i].name, "李华") == 0) { cout << stu[i].name << "的成绩是" << stu[i].grade << "分" << endl; break; } } ``` 这里使用了C库函数`strcmp`来比较字符串是否相等。当找到名字为"李华"的学生时,`strcmp`返回0,然后输出该学生的信息并跳出循环。 通过这个示例,我们可以学习到以下C++结构体相关的重要知识点: 1. 结构体的定义:使用`struct`关键字定义一个新的数据类型,然后列出其成员变量。 2. 结构体变量的创建:在定义结构体后,可以创建结构体类型的变量,比如`Student stu[3]`创建了一个包含3个`Student`对象的数组。 3. 访问结构体成员:使用`.`操作符访问结构体的成员,例如`stu[i].name`访问第i个学生的姓名。 4. 字符串比较:`strcmp`函数用于比较两个字符串是否相等,返回值为0表示两个字符串相等。 5. 循环遍历和条件判断:在C++中,`for`循环用于迭代,`if`语句用于条件判断。 结构体是C++中非常重要的一个特性,它允许我们组合不同的数据类型,创建复杂的数据结构,以便更有效地管理和处理数据。在这个示例中,我们看到了如何利用结构体处理学生信息,这同样可以应用到其他领域,如处理图书信息、汽车信息等。