| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1211 人关注过本帖
标题:这里的结构体中的年月日如何传递进来?
只看楼主 加入收藏
七夜之华
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
威 望:5
帖 子:82
专家分:103
注 册:2014-9-7
收藏
得分:0 
回复 10楼 TonyDeng
不吝赐教。。。。
大一c++都是自学的,现在学C也是自己瞎鼓捣的,都怪以前上课老睡觉了。

#############################################
##########################################
因为不懂、才要学习、只有学习、才有进步。
2015-11-27 21:20
七夜之华
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
威 望:5
帖 子:82
专家分:103
注 册:2014-9-7
收藏
得分:0 
回复 10楼 TonyDeng
不吝赐教。。。
C++纯属自学了,c也是自学,都怪以前大一上课爱睡觉了。

#############################################
##########################################
因为不懂、才要学习、只有学习、才有进步。
2015-11-27 21:30
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
学过c++就好,第四个参数就是c++里的this指针,第二,想一次输出,你可以在结构里添加一个存放日期的字符数组,然后格式化日期到这个数组,将那个函数改成返回字符串指针的参数有默认值的函数,就可以实现。自己想想这么改吧。

我们都在路上。。。。。
2015-11-27 21:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
程序代码:
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <conio.h>

struct Birthday
{
    int _Month;
    int _Day;
    int _Year;

    Birthday(int year, int month, int day)
    {
        _Year = year;
        _Month = month;
        _Day = day;
    }

    void Show(void)
    {
        printf_s("%04d-%02d-%02d", _Year, _Month, _Day);
    }
};

struct Student 
{
    char _Name[21];
    char _Sex;
    Birthday* _Birthday;
    double _Score;

    Student(const char* name, char sex, Birthday* birthday, double score = 0.0)
    {
        strcpy_s(this->_Name, name);
        this->_Sex = sex;
        this->_Birthday = birthday;
        this->_Score = score;
    }

    void Show(void) const
    {
        printf_s("%-20s  %2s  ", _Name, (_Sex == 0 ? "" : ""));
        _Birthday->Show();
        printf_s("%6.2f", _Score);
    }
};

void Pause(void)
{
    printf_s("\nPress any key to continue...");
    _getch();
}

int main(void)
{
    Student* students[] = {
        new Student("Zhang", 1, new Birthday(1983, 2, 3), 82),
        new Student("Li", 0, new Birthday(1983, 10, 12)),
        new Student("Huang", 1, new Birthday(1984, 1, 21), 78)
    };

    for (const Student* stu : students)
    {
        stu->Show();
        putchar('\n');
    }

    Pause();
    return EXIT_SUCCESS;
}


图片附件: 游客没有浏览图片的权限,请 登录注册


现在的操作系统,动态申请内存释放与否都没有很大关系,毕竟程序结束之后操作系统确保不会有内存泄漏。如果一定要释放,自己写上析构函数。

[此贴子已经被作者于2015-11-27 21:47编辑过]


授人以渔,不授人以鱼。
2015-11-27 21:43
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:8 
C++写得出,C也一样写得出,路子是一样的。

授人以渔,不授人以鱼。
2015-11-27 22:26
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
以下是引用TonyDeng在2015-11-27 22:26:41的发言:

C++写得出,C也一样写得出,路子是一样的。


c可以像c++在结构体里定义成员函数吗?还有,c里面有new关键字么?为什么俺翻遍了c89,c99,c11标准都木有找到呐?T版求解惑呀。。。

[此贴子已经被作者于2015-11-27 23:01编辑过]


我们都在路上。。。。。
2015-11-27 22:54
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
最近T版这么不弄繁体字了?风格又换回简体啦?

我们都在路上。。。。。
2015-11-27 22:59
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用TonyDeng在2015-11-27 20:49:00的发言:

你想达到什么目的?看你的档案,你是学过C++的,返回来问这种问题?


以下是引用TonyDeng在2015-11-27 22:26:41的发言:

C++写得出,C也一样写得出,路子是一样的。


上面给了你一个C++的路子,用C写也是一样,祗有具体实现方式的不同罢了,功能都是那么些,没现成的就自己写。

[此贴子已经被作者于2015-11-27 23:20编辑过]


授人以渔,不授人以鱼。
2015-11-27 23:18
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
回复 18楼 TonyDeng
哦,c++嗦,估计他会写点。
小声问T版一下,你的vs是正版的吗?花了多少银子?

我们都在路上。。。。。
2015-11-27 23:34
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
社区版是免费的

授人以渔,不授人以鱼。
2015-11-28 08:54
快速回复:这里的结构体中的年月日如何传递进来?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014287 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved