17周(结构体计算天数 )

/*

*copyright(c) 2014,烟台大学计算机学院

*All rights reserved。

*文件名称:17周(结构体计算天数 )

*作者:王忠

*完成日期:2014.12.22

*版本号:v1.0

*

*问题描述:定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天。

*输入描述:输入年、月、日

*程序输出:输出该日是该年的第几天。

#include <iostream>
using namespace std;
struct Date
{
    int year;
    int month;
    int day;
};
int main()
{
    Date date;
    cout<<"input year,month,day:";
    cin>>date.year>>date.month>>date.day;
    int days;
    //计算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)&&date.month>=3)
        days=days+1;
    cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天."<<endl;
    return 0;
}

时间: 2024-10-12 16:54:33

17周(结构体计算天数 )的相关文章

17-结构体

本文目录 一.什么是结构体 二.结构体的定义 三.结构体变量的定义 四.结构体的注意点 五.结构体的初始化 六.结构体的使用 七.结构体数组 八.结构体作为函数参数 九.指向结构体的指针 天来学习C语言中另外一种数据类型:结构体.结构体是经常用到的数据类型,使用频率不亚于指针,所以需要重视,不过用法非常简单. 一.什么是结构体 * 在实际应用中,我们通常需要由不同类型的数据来构成一个整体,比如学生这个整体可以由姓名.年龄.身高等数据构成,这些数据都具有不同的类型,姓名可以是字符串类型,年龄可以是

利用结构体计算每个学生的4门课程的平均分,将各科成绩及平均分输出到score.txt中

#include "stdafx.h" #include <stdlib.h> #include <stdio.h> typedef struct date { int year; int month; int day; }DATE; typedef struct student { long studentID; char studentName[20]; char studentSex; DATE birthday; int score[4]; }STUDE

黑马程序员-C学习日记-结构体

------- ios培训. android培训.java培训.期待与您交流! ---------- 一.局部变量与全局变量 1.局部变量:定义在函数内部的变量以及函数形参称为局部变量 作用域:从定义的那一行开始直到其所在的代码块结束 生命周期:从程序运行到定义那一行开始分配存储空间到程序离开该变量所在的作用域 特点:(1)相同作用域内不可以定义重名变量 (2)不同作用域可以定义重名变量,内部作用域变量可以覆盖外部作用域变量 2.全局变量:函数外部定义的变量 声明: 数据类型 变量名称 定义: 

计算结构体首地址的技巧

struct ABC { int a; int b; int c; }; +----------+ <------我们需要计算的是这个地址. | a(4Byte) | +----------+ <------这个地址是已知的. | b(4Byte) | +----------+ | c(4Byte) | +----------+ 通过上图可看出,只需要把当前知道的成员变量的地址ptr,减去它在结构体当中相对偏移量(4),就得到了结构体的首地址(ptr-4). 设计一个type类型的结构体,起始

结构体变量的sizeof计算

结构体字节对齐准则: 1. 结构体变量的首地址能够被其最宽基本类型成员的大小所整除: 2. 结构体每个成员相对于结构体首地址的偏移量都是当前成员大小的整数倍,如有需要编译器会在成员之间加上填充字节: 3. 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节. 4. 在嵌套结构中需要把内部‘打散'后再进行对齐计算. // sizeof(结构体).cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #inc

使用结构体变量存储学生姓名和课程成绩,计算平均分及查找不及格同学姓名及分数

1 struct Student //声明Student类型结构体变量 2 { 3 char name[20]; 4 int score[5]; 5 }; 6 typedef struct Student Stu; 7 8 void main() 9 { 10 11 Stu stu[3]; 定义Student类型变量数组 12 int i,j; 13 for(i=0;i<3;i++) //输入学生姓名和成绩 14 { 15 printf("please input student[%d]'

[C/C++标准库]_[初级]_[计算结构体成员的偏移量]

场景: 1. C结构体里计算结构体的偏移量平常看来没什么必要,但是放到插件结构的设计里就有必要了,比如只能使用偏移量访问的场景,而不能使用引用成员变量的场景. 2. 在设计一致性的接口时,公用的接口不怎么变化的,但是插件模块的结构可以不需要根据统一结构来设计,他们只需要提供偏移量给公用接口调用就行了,不同的插件 可能偏移量不一致,因为他们可以独立实现.公用接口就可以通过偏移量来访问不同的变量. 3. 可以使用stddef.h文件里的  offsetof /* Define offsetof ma

计算一个结构体student_type的变量

for(i=0;i<SIZE;i++)    scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age, stud[i].addr):    save():    printf("**********************************\n"):    printf("这是刚才写到文件里的内容\n"):    output():    return 0;   

计算结构体大小

char类型的长度被定义为一个8位字节,这很简单. short类型的长度至少为两字节.在有些计算机上,对于有些编译程序,short类型的长度可能为4字节,或者更长. int类型是一个整数的“自然”大小,其长度至少为两字节,并且至少要和short类型一样长.在16位计算机上,int类型的长度可能为两字节:在32位计算机上,可能为4字节:当64位计算机流行起来后,int类型的长度可能会达到8字节.这里说的都是“可能”,例如,早期的Motorala 68000是一种16/32位的混合型计算机,依赖于不