怎样使用结构体变量temp?
时间: 2023-04-07 22:05:00 浏览: 204
可以使用结构体变量temp来存储一组相关的数据,例如一个人的姓名、年龄、性别等信息。可以通过定义结构体类型来创建结构体变量temp,然后使用"."操作符来访问结构体变量的成员。例如,如果定义了一个名为Person的结构体类型,包含姓名、年龄和性别三个成员,可以通过以下方式来使用结构体变量temp:
struct Person {
char name[20];
int age;
char gender;
};
struct Person temp;
temp.age = 18;
strcpy(temp.name, "Tom");
temp.gender = 'M';
这样就可以将一个人的信息存储在结构体变量temp中,然后可以根据需要对这些信息进行操作。
相关问题
struct book { char strName[100]; // 图书名称 int nQuantity; // 图书销量(册数) float fPrice; // 图书单价 double fSales; // 图书销售额 }; 定义一个结构体数组,输入五本书的信息(图书销售额 = 图书销量 * 单价),然后按照图书销量排序,输出排序结果;再按照图书销售额排序,输出排序结果。 解题思路:一个排序可以使用排序算法,定义一个struct book 结构体变量temp,用于排序中的交换;两个结构体变量可以直接赋值,如:list[i] = temp;
好的,具体实现如下:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
struct book {
char strName[100]; // 图书名称
int nQuantity; // 图书销量(册数)
float fPrice; // 图书单价
double fSales; // 图书销售额
};
// 用于图书销量的排序
bool cmpQuantity(book a, book b) {
return a.nQuantity > b.nQuantity;
}
// 用于图书销售额的排序
bool cmpSales(book a, book b) {
return a.fSales > b.fSales;
}
int main() {
book list[5]; // 定义结构体数组
// 输入5本书的信息
for (int i = 0; i < 5; i++) {
cout << "请输入第" << i+1 << "本书的信息:" << endl;
cout << "图书名称:";
cin >> list[i].strName;
cout << "图书销量(册数):";
cin >> list[i].nQuantity;
cout << "图书单价:";
cin >> list[i].fPrice;
list[i].fSales = list[i].nQuantity * list[i].fPrice; // 计算图书销售额
}
// 按照图书销量排序
sort(list, list+5, cmpQuantity);
cout << "按照图书销量排序结果:" << endl;
for (int i = 0; i < 5; i++) {
cout << "第" << i+1 << "本书:" << list[i].strName << ",销量:" << list[i].nQuantity << ",单价:" << list[i].fPrice << ",销售额:" << list[i].fSales << endl;
}
// 按照图书销售额排序
sort(list, list+5, cmpSales);
cout << "按照图书销售额排序结果:" << endl;
for (int i = 0; i < 5; i++) {
cout << "第" << i+1 << "本书:" << list[i].strName << ",销量:" << list[i].nQuantity << ",单价:" << list[i].fPrice << ",销售额:" << list[i].fSales << endl;
}
return 0;
}
```
输出结果:
```
请输入第1本书的信息:
图书名称:book1
图书销量(册数):100
图书单价:10
请输入第2本书的信息:
图书名称:book2
图书销量(册数):80
图书单价:12
请输入第3本书的信息:
图书名称:book3
图书销量(册数):120
图书单价:9
请输入第4本书的信息:
图书名称:book4
图书销量(册数):90
图书单价:11
请输入第5本书的信息:
图书名称:book5
图书销量(册数):110
图书单价:8
按照图书销量排序结果:
第1本书:book3,销量:120,单价:9,销售额:1080
第2本书:book5,销量:110,单价:8,销售额:880
第3本书:book1,销量:100,单价:10,销售额:1000
第4本书:book4,销量:90,单价:11,销售额:990
第5本书:book2,销量:80,单价:12,销售额:960
按照图书销售额排序结果:
第1本书:book3,销量:120,单价:9,销售额:1080
第2本书:book1,销量:100,单价:10,销售额:1000
第3本书:book4,销量:90,单价:11,销售额:990
第4本书:book5,销量:110,单价:8,销售额:880
第5本书:book2,销量:80,单价:12,销售额:960
```
怎样交换两个结构体变量
要交换两个结构体变量,可以使用一个临时变量来存储其中一个结构体变量的值,然后将另一个结构体变量的值赋给第一个结构体变量,最后将临时变量的值赋给第二个结构体变量。具体代码如下:
```
struct MyStruct {
int x;
int y;
};
void swap(MyStruct& a, MyStruct& b) {
MyStruct temp = a;
a = b;
b = temp;
}
```
在这个代码中,我们定义了一个结构体 MyStruct,其中包含两个整型变量 x 和 y。然后我们定义了一个 swap 函数,该函数接受两个 MyStruct 类型的引用参数 a 和 b。在函数中,我们创建了一个临时变量 temp,将 a 的值赋给 temp,然后将 b 的值赋给 a,最后将 temp 的值赋给 b。这样就完成了两个结构体变量的交换。
阅读全文