结构体再函数中的作用

结构体在函数中能起到什么样的作用?能简化程序吗?能使代码看起来更清晰吗?#include<iostream>usingnamespacestd;intmain(){str... 结构体在函数中能起到什么样的作用?能简化程序吗?能使代码看起来更清晰吗?
#include<iostream>
using namespace std;
int main()
{
struct date
{int year;
int month;
int day;
};
date da;
cout<<"please enter the year:";
cin>>da.year;
cout<<endl;
cout<<"please enter the month:";
cin>>da.month;
cout<<endl;
cout<<"please enter the day:";
cin>>da.day;
cout<<endl;
if(da.year%40==0)

switch(da.month)
{
case 1:cout<<"the day of the date is:"<<da.day<<endl;
case 2:cout<<"the day of the date is:"<<31+da.day<<endl;
case 3:cout<<"the day of the date is:"<<31+29+da.day<<endl;}

else
switch(da.month)
{
case 1:cout<<"the day of the date is:"<<da.day<<endl;
case 2:cout<<"the day of the date is:"<<31+da.day<<endl;
case 3:cout<<"the day of the date is:"<<31+28+da.day<<endl;}

}
看我这段代码,怎么越看越感觉还不如不用结构体来的简便!
展开
 我来答
图灵使者波比
2009-02-20 · TA获得超过288个赞
知道小有建树答主
回答量:143
采纳率:0%
帮助的人:124万
展开全部
结构体和其他类型基础数据类型一样,例如int类型,char类型
只不过结构体可以做成你想要的数据类型。以方便日后的使用。
在项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。

结构体在函数中的作用不是简便,其最主要的作用就是封装。封装的好处就是可以再次利用。让使用着不必关系这个是什么,只要根据定义使用就可以了。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
qiushiji
2009-02-19 · TA获得超过502个赞
知道小有建树答主
回答量:560
采纳率:100%
帮助的人:524万
展开全部
结构体 相当于一种数据的载体

在你这个程序中 看不出来 结构体的作用

但是 当你需要一个复杂类型的时候 就可以看出来了

比如 你要向令一个类中的方法传递参数 如果不用结构体 你需要传3个参数

year month day 但是 你用结构体 只需要传递date 这个类型的一个参数

结构体的好处很多 用的多了 就明白了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzz5074
2009-02-19 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:139万
展开全部
你这个是c++?
我不知道要怎么来写,语法不会
不过不知道你会不会面向对象的语言
使用结构化以后,data就相当于一个类
date da;实例化了一个data对象,命名为da
后面使用da.day等语句就是使用了data类的一些属性
可以使程序看起来简便一点,并可以很好的进行扩展
简化程序的话,把
struct date
{int year;
int month;
int day;
};
放在另一个程序里面,只要在主程序里面调用就可以了

date da;
cout<<"please enter the year:";
cin>>da.year;
cout<<endl;
cout<<"please enter the month:";
cin>>da.month;
cout<<endl;
cout<<"please enter the day:";
cin>>da.day;
cout<<endl;
可以放在一个方法里面,进行调用
switch(da.month)
{
case 1:cout<<"the day of the date is:"<<da.day<<endl;
case 2:cout<<"the day of the date is:"<<31+da.day<<endl;
case 3:cout<<"the day of the date is:"<<31+29+da.day<<endl;}

else
switch(da.month)
{
case 1:cout<<"the day of the date is:"<<da.day<<endl;
case 2:cout<<"the day of the date is:"<<31+da.day<<endl;
case 3:cout<<"the day of the date is:"<<31+28+da.day<<endl;}

}
可以放在一个方法里面进行调用
这样的话把程序分为三个部分,便于查看
使用结构体扩展的话,如果以后想在变量da里面添加hour、Minute等变量的是
就可以在data里面进行添加
struct date
{int year;
int month;
int day;
int hour;
int minute;
};
这样以后的程序就可以使用da.hour,da.minute等属性了
不知道对你有用没
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式