使用c语言实现:已知多个用户信息与其对应的订阅杂志的信息如何使某个用户在查阅的时候不用输入任何信息直接显示出来该用户订阅信息
时间: 2024-03-12 10:44:16 浏览: 46
可以使用C语言中的结构体来实现。首先定义一个结构体类型,包含用户信息和订阅信息。然后定义一个数组,存储多个结构体对象,表示多个用户的订阅信息。在查找用户信息的时候,可以遍历数组,依次比较用户信息,找到对应的用户信息后输出其订阅信息。
下面是示例代码:
```c
#include <stdio.h>
#include <string.h>
// 定义用户信息和订阅信息的结构体
struct User {
char name[20]; // 用户名
char address[50]; // 用户地址
char magazine[20]; // 订阅杂志
int subscribe_time; // 订阅时间
int expire_time; // 到期时间
};
int main() {
// 定义多个用户的订阅信息
struct User users[] = {
{"张三", "北京市", "科技杂志", 20210101, 20220101},
{"李四", "上海市", "财经杂志", 20210201, 20220201},
{"王五", "广州市", "时尚杂志", 20210301, 20220301}
};
// 假设当前用户为张三,查找其订阅信息
char user_name[20] = "张三"; // 当前用户的用户名
struct User user_info; // 用于存储查找到的用户信息
int i;
for (i = 0; i < sizeof(users)/sizeof(users[0]); i++) {
if (strcmp(users[i].name, user_name) == 0) {
user_info = users[i];
break;
}
}
// 输出查找到的用户信息
printf("用户信息:\n");
printf("姓名:%s\n", user_info.name);
printf("地址:%s\n", user_info.address);
printf("订阅杂志:%s\n", user_info.magazine);
printf("订阅时间:%d\n", user_info.subscribe_time);
printf("到期时间:%d\n", user_info.expire_time);
return 0;
}
```
这里使用了strcmp()函数比较字符串是否相等。如果查找到对应的用户信息,则将其存储到一个结构体变量中,然后输出其订阅信息。
阅读全文