【结构体】日期输入输出(子函数版) 1、定义生日结构体Birthday,包含成员:年、月、日。 2、定义1个自定义子函数 inputBirthday,作用:为1个生日结构体变量赋值,数值用scanf输入。 3、定义1个自定义子函数printBirthday,作用:输出1个生日结构体变量的值,格式为“yyyy年mm月dd日” 主函数代码已经给出:
时间: 2023-04-08 11:00:30 浏览: 95
我可以回答这个问题。以下是代码:
#include <stdio.h>
struct Birthday {
int year;
int month;
int day;
};
void inputBirthday(struct Birthday *b) {
printf("请输入出生年月日(用空格隔开):");
scanf("%d %d %d", &b->year, &b->month, &b->day);
}
void printBirthday(struct Birthday b) {
printf("%04d年%02d月%02d日", b.year, b.month, b.day);
}
int main() {
struct Birthday b;
inputBirthday(&b);
printBirthday(b);
return 0;
}
相关问题
【结构体】日期输入输出(子函数版) 1、定义生日结构体Birthday,包含成员:年、月、日。 2、定义1个自定义子函数 inputBirthday,作用:为1个生日结构体变量赋值,数值用scanf输入。 3、定义1个自定义子函数printBirthday,作用:输出1个生日结构体变量的值,格式为“yyyy年mm月dd日” 主函数代码已经给出:#include<stdio.h> int main() { struct Birthday user[3]; int i; for(i=0;i<3;i++) { printf("输入:"); inputBirthday(&user[i]); } for(i=0;i<3;i++) { printf("第%d个人的生日:",i+1); printBirthday(user[i]); putchar(10); } return 0; }
1、定义生日结构体Birthday,包含成员:年、月、日。
typedef struct {
int year;
int month;
int day;
} Birthday;
2、定义1个自定义子函数 inputBirthday,作用:为1个生日结构体变量赋值,数值用scanf输入。
void inputBirthday(Birthday *b) {
printf("请输入生日(格式为yyyy mm dd):");
scanf("%d %d %d", &(b->year), &(b->month), &(b->day));
}
3、定义1个自定义子函数printBirthday,作用:输出1个生日结构体变量的值,格式为“yyyy年mm月dd日”
void printBirthday(Birthday b) {
printf("%d年%d月%d日", b.year, b.month, b.day);
}
主函数代码:
int main() {
Birthday b;
inputBirthday(&b);
printBirthday(b);
return 0;
}
定义结构体,输入两个同学的信息,比较两个同学的生日,输出生日较大同学的全部信息,生日包括年月日
好的,这里是C++语言的代码实现,其中我们将生日的年、月、日分别用三个整数来表示:
```c++
#include <iostream>
#include <string>
using namespace std;
// 定义日期结构体
struct Date {
int year; // 年
int month; // 月
int day; // 日
};
// 定义学生结构体
struct Student {
string name; // 姓名
int age; // 年龄
Date birthday; // 生日
};
int main() {
// 输入第一个学生的信息
Student stu1;
cout << "请输入第一个学生的姓名:";
getline(cin, stu1.name);
cout << "请输入第一个学生的年龄:";
cin >> stu1.age;
cout << "请输入第一个学生的生日(如2021 01 01表示2021年1月1日):";
cin >> stu1.birthday.year >> stu1.birthday.month >> stu1.birthday.day;
cin.ignore(); // 必须加上这一行,否则下一个getline会读取回车符
// 输入第二个学生的信息
Student stu2;
cout << "请输入第二个学生的姓名:";
getline(cin, stu2.name);
cout << "请输入第二个学生的年龄:";
cin >> stu2.age;
cout << "请输入第二个学生的生日(如2021 01 01表示2021年1月1日):";
cin >> stu2.birthday.year >> stu2.birthday.month >> stu2.birthday.day;
// 比较两个学生的生日
if (stu1.birthday.year > stu2.birthday.year ||
(stu1.birthday.year == stu2.birthday.year &&
(stu1.birthday.month > stu2.birthday.month ||
(stu1.birthday.month == stu2.birthday.month &&
stu1.birthday.day > stu2.birthday.day)))) {
// 输出生日较大的学生的全部信息
cout << "生日较大的学生是:" << endl;
cout << "姓名:" << stu1.name << endl;
cout << "年龄:" << stu1.age << endl;
cout << "生日:" << stu1.birthday.year << "年" << stu1.birthday.month << "月" << stu1.birthday.day << "日" << endl;
} else {
// 输出生日较大的学生的全部信息
cout << "生日较大的学生是:" << endl;
cout << "姓名:" << stu2.name << endl;
cout << "年龄:" << stu2.age << endl;
cout << "生日:" << stu2.birthday.year << "年" << stu2.birthday.month << "月" << stu2.birthday.day << "日" << endl;
}
return 0;
}
```
同样,这只是一个简单的示例,实际应用中可能需要更复杂的结构体和更丰富的功能。