第一周:项目2 日期结构体

/*
02.* 程序的版权和版本声明部分
03.03.* Copyright (c)2013, 烟台大学计算机学院学生
04.* All rightsreserved.
05.* 文件名称:riqi .cpp
06.* 作    者:李洋
07.* 完成日期:2013年3月5日
08.* 版本号: v1.0
09.* 输入描述:
10.* 问题描述:输入年月日。计算输出该日是该年的第几天。
11.*/

#include <iostream>
using namespace std;
struct Date
{
    int year;
    int month;
    int day;
};
int main()
{
    Date date;
    cout<<"请输入年、月、日。"<<endl;
    cin>>date.year>>date.month>>date.day;
    int days;
    switch(date.month)
    {
        case 1:
            days=date.day;
            break;
        case 2:
            days=date.day+31;
            break;
        case 3:
            days=date.day+59;
            break;
        case 4:
            days=date.day+90;
            break;
        case 5:
            days=date.day+120;
            break;
        case 6:
            days=date.day+151;
            break;
        case 7:
            days=date.day+181;
            break;
        case 8:
            days=date.day+212;
            break;
        case 9:
            days=date.day+243;
            break;
        case 10:
            days=date.day+273;
            break;
        case 11:
            days=date.day+304;
            break;
        case 12:
            days=date.day+334;
            break;
    }
    if((date.year%4==0&&date.year%100!=0)||date.year%400==0)
        days=days+1;
    cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天"<<endl;
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 当我们需要在函数中操作结构体类型的数据时,可以通过将结构体作为参数传递给函数来实现。下面是一个示例代码: ```c #include <stdio.h> struct student { char name[20]; int age; float score; }; void print_student(struct student s) { printf("Name: %s\n", s.name); printf("Age: %d\n", s.age); printf("Score: %f\n", s.score); } int main() { struct student s1 = {"Tom", 20, 90.5}; print_student(s1); return 0; } ``` 在这个示例代码中,我们定义了一个结构体类型 `student`,并在 `main` 函数中创建了一个 `student` 类型的变量 `s1`。然后,我们调用 `print_student` 函数,并将 `s1` 作为参数传递给它。`print_student` 函数中的参数 `s` 是一个 `student` 类型的结构体变量,函数可以直接访问结构体中的成员变量,以实现对结构体数据的操作。 需要注意的是,在函数中传递结构体参数时,可以使用值传递或指针传递。如果结构体比较大,建议使用指针传递,以减少复制的开销。 ### 回答2: 向函数传递结构体是一种常见的编程技巧,可以将结构体作为参数传递给函数,以便在函数内部对结构体进行操作或者使用结构体中的数据。 在传递结构体给函数时,可以通过值传递或引用传递的方式进行。如果使用值传递,函数会拷贝一份结构体的副本进行操作,这样可以避免对原结构体的修改。如果使用引用传递,则会直接传递结构体的地址,函数内部对结构体的修改会影响到原来的结构体。 通过向函数传递结构体,可以方便地在不同的函数之间共享结构体中的数据,减少了重复的代码。同时,结构体的成员也可以用作函数的参数,以满足特定的需求。 例如,假设我们有一个存储学生信息的结构体,包括姓名、年龄和成绩等信息。我们可以编写一个函数来计算某个学生的总分,并将结构体作为参数传递进去。函数内部可以使用结构体的成员来计算总分,然后返回结果。 另外,我们还可以将结构体作为函数的返回值。在函数中创建一个结构体对象,对其进行赋值后返回给调用者。这样可以在函数内部动态地创建和初始化结构体,提高代码的灵活性和可重用性。 总之,向函数传递结构体是一种常见且实用的技巧,可以简化代码,提高代码的可读性和可维护性。无论是传递结构体作为参数还是返回结构体作为函数的返回值,都可以充分利用结构体的特性,提高程序的效率和可扩展性。 ### 回答3: 向函数传递结构体是一种常见的编程技巧,它可以将结构体作为参数传递给函数,并在函数内部对结构体进行操作或者使用结构体的成员变量。这种方式可以使得代码更加模块化和可维护。 在向函数传递结构体时,可以将结构体作为参数声明,并在函数调用时将结构体的实例作为实参传递给函数。在函数内部,可以通过结构体变量的名字来访问结构体的成员,并进行相应的操作。 例如,假设我们有一个结构体定义如下: ```C struct Person { char name[20]; int age; }; ``` 我们可以通过下面的方式向函数传递该结构体: ```C void printPerson(struct Person p) { printf("Name: %s\n", p.name); printf("Age: %d\n", p.age); } int main() { struct Person p1; strcpy(p1.name, "Alice"); p1.age = 20; printPerson(p1); // 调用函数并传递结构体实例 return 0; } ``` 在上述代码中,我们定义了一个名为`printPerson`的函数,该函数的参数是一个`struct Person`类型的结构体变量`p`。我们在函数内部使用了该变量的成员`name`和`age`来打印出结构体的信息。 在`main`函数中,我们创建了一个名为`p1`的结构体实例,并对其成员进行了赋值。然后,我们调用了`printPerson`函数,并将`p1`作为实参传递给该函数。 总的来说,向函数传递结构体是一种很有用的编程技巧,可以使得代码更加简洁、清晰,并有助于实现代码的重用和模块化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值