2 baidu 34564873 baidu_34564873 于 2016.04.06 21:58 提问

C++类的组合编程问题求帮忙

设计出生日期类birthday:
year,month,day
设计学生类student:
No(学号) ,Name(姓名),Birth(生日),Score(成绩)
下面是主函数部分
int main()
{
Birthday d(2002,1,1);
Student s1;
Student
s2("102","AAA",98,2001,1,1);
s1.disp();
s2.disp();
Student
s3("103","BBB",90,d);
s3.disp();
return 0;
}

帮忙添加两个类,再用类的组合实现并完善一下这个程序~初学者求解,谢谢

2个回答

stadyhungry
stadyhungry   2016.04.06 23:09
已采纳
 class CBirthday 
{
public:
    CBirthday()
    {
        m_nYear = 1990;
        m_nMonth = 9;
        m_nDay = 25;
    }
    CBirthday(int nYear, int nMonth, int nDay)
    {
        m_nYear = nYear;
        m_nMonth = nMonth;
        m_nDay = nDay;
    }
public:
int     m_nYear;
int     m_nMonth;
int     m_nDay;

};

class CStudent
{
public:
    CStudent()
    {
        m_strName = "李二狗";
        m_strNo = "110110";
        m_nScore = 0;
    }

    CStudent(const string &strNo, const string &strName, int nScore, int nYear, int nMonth, int nDay)
    {
        m_strNo = strNo;
        m_strName = strName;
        m_nScore = nScore;
        m_Birthday.m_nYear = nYear;
        m_Birthday.m_nMonth = nMonth;
        m_Birthday.m_nDay = nDay;
    }

    CStudent(const string &strNo, const string &strName, int nScore, CBirthday birthday)
    {
        m_strNo = strNo;
        m_strName = strName;
        m_nScore = nScore;
        m_Birthday = birthday;
    }

    void Disp()
    {
        cout<<"姓名:"<<m_strName.c_str() <<endl;
        cout<<"学号:"<<m_strNo.c_str() <<endl;
        cout<<"生日:"<<m_Birthday.m_nYear<<"-"<<m_Birthday.m_nMonth<<"-"<<m_Birthday.m_nDay <<endl;
        cout<<"成绩:"<<m_nScore <<endl;
    }

private:
    string      m_strNo;
    string      m_strName;
    CBirthday   m_Birthday;
    int         m_nScore;
};

int _tmain(int argc, _TCHAR* argv[])
{
    CBirthday d(2002,1,1);
    CStudent s1;
    CStudent s2("102","AAA",98,2001,1,1);
    s1.Disp();
    s2.Disp();
    CStudent s3("103","BBB",90,d);
    s3.Disp();

    return 0;
}
zr1076311296
zr1076311296   2016.04.06 23:52

那你应该先学习一下C++类的基本语法,否则没什么意义

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
编程算法 - 计算一个数的所有组合数 代码(C++)
计算一个数的所有组合数 代码(C++)本文地址: http://blog.csdn.net/caroline_wendy计算一个数的组合数, 使用递归进行求解. 如果计算3位的组合数, 首先任选固定一位, 然后计算其余两位的组合数, 最后组合至一起. 如 1 + [23, 32] = 123, 132;在固定其余位数, 如 2 + [13, 31] = 213, 231;  3 + [12, 21
Linux下的C语言编程——计算π的值
 用π/4=1-1/3+1/5-1/7……公式求π的近似值,直到最后一项的绝对值小于10^-7 这个题目不怕大家笑话我写了很久,真的是气。因为我没有给sum赋初值。然后老是打印错误。 下面我附上我的代码 #include int main() { int sign; double f; double m; double sum; sign = 1; m =
求集合/字符串中的所有组合 (C语言)
转自:http://blog.csdn.net/fanzitao/article/details/7879033 来源:http://zhedahht.blog.163.com/blog/static/2541117420114172812217/ 题目:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。 分析:在本系列
纯C语言:递归组合数源码
#include int sum(int m,int n) { if(n==m||n==0) return 1; else return sum(m-1,n)+sum(m-1,n-1); } void main() { int m,n; printf("请输入组合数中的m:"); scanf("%d",&m); printf("\n请输入组合数中的n:"); scanf("%
c语言排列组合还可以这样求
本文主要讲编程比赛中常用的排列组合。 首先,排列组合的公式是(其中P代表的就是A) 最普通的算法就是按照公式求了,即分子算出来,分母算出来,然后相除,写成代码为: int c( int m,int n ) { int a = 1,b = 1, c = 1; for( int i = 1 ; i <= m ; i++ ) a = a*i; for( int i = 1 ; i
【C++】求数组中所有元素的排列或组合
基本目标是这样的,比如有如下的数组{0,1,2,3,7,8,12,40,51}需要求出其所有排列与组合, 需要求出其所有组合,做出如上的结果,也就是随便在数组中挑两个数组成一个对子。 代码如下,这里需要用到一个两组循环: void Combination(int* arr,int arr_length){ for(int i=0;i<arr_length-1;i++){ for
c语言实现求组合数(带点优化的思想,防止溢出)
这是大家都知道的组合数,思想也很简单,但是里面的阶乘,容易溢出,让m!/n!先约分,减小数的大小,m!/n! = (n+1)(n+2)(n+3)···(m-1)(m); 如果m-n > n的话,我们就让n = m-n.j尽可能让乘起来的数小一点。代码打印的是25里面选12个的组合数 5200300. #include long long factorial(int m, int n) {
C语言求字母的全部组合
使用的递归的方法:既然是组合,则顺序不要求顺序了。 主要原理就是从第一个字符开始,分两种情况:1.留下此字符;2.去除此字符。 再对剩下的字符求组合。 然后再第二个字符,分两种情况,再对剩下的字符求组合 转载请注明出处:http://blog.csdn.net/fdl19881/article/details/7983268 #include #include #include
算法----递归求组合
#include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;string.h&amp;gt; void swap(char *a,char*b) { char t = *a; *a = *b; *b = t; } void permutation(char *s, int m, int len) { if (m == l...
求一组数的组合的和为一个值的所有情况
package leetcode; /** * 题目给出一组候选数字(C)和目标数字T,找到C中所有的组合,使找出的数字和为T。C中的数字可以无限制重复被选取。例如,给出候选数组[2,3,6,7]和目标数字7,所求的解为: [2,2,3] [7]分析:对候选数去重后,DFS求组合和等于目标数字。*/import java.util.ArrayList; import java.util.A