注册 登录
编程论坛 C++教室

C++程序设计题

t明洁 发布于 2017-12-25 21:26, 1266 次点击
设计一个用于人事管理的“人员”类。由于考虑到通用性,这里只抽象出所有类型人员都 具有的属性:编号、性别、出生日期、身份证号等。其中"出生日期"声明为一个"日期" 类内嵌子 对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、复制构造函 数、带默认形参值的成员函数、类的组合。
我是这样写的但是呢个调试窗口只弹出来了一下下就自己关掉了什么都没有输出 初学者能力不足 希望有人帮我指点一下
 test6.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
using namespace std;

class person
{ public:
    void setnumber(int newnumber);
    void shownumber();
    void setsex(double newsex);
    void showsex();
    void setbirth(double newyear,double newmonth,double newday);
    void showbirth();
    void setIDnumber(double newIDnumber);
    void showIDnumber();
private:
    int number;
    double sex,birth,IDnumber;
    date p1;
};
class date
{public :
     void setbirth(double newyear,double newmonth,double newday);
    void showbirth();
private:
    double year,month,day;};
     
void date::setbirth(double newyear,double newmonth,double newday)
{  year=newyear;
    month=newmonth;
    day=newday;
  }
void date::showbirth()
{cout<<year<<"年"<<month<<"月"<<day<<"日";}
 void person::setnumber(int newnumber)
 {number=newnumber;
 }
 void person::shownumber()
 {cout<<"编号"<<number;}
 void person::setsex(double newsex)
 {sex=newsex;
 }
 void person::showsex()
 {cout<<"性别"<<sex;}
 void person::setbirth(double newyear,double newmonth,double newday)
 {
     p1.setbirth(newyear,newmonth,newday);
                    }
 void person::showbirth()
 {p1.showbirth();}
 void person::setIDnumber(double newIDnumber)
 { IDnumber=newIDnumber;
}
 void person::showIDnumber()
 { cout<<"身份证号"<<IDnumber;}
int _tmain(int argc, _TCHAR* argv[])
{   int number,year,month,day;
    double sex,IDnumber;
    cout<<"开始录信息"<<endl;
    cout<<"编号";                                            
    cin>>number;
    cout<<"性别";
    cin>>sex;
    cout<<"身份证号";
    cin>>IDnumber;
    cout<<"出生年月日";
    cin>>year;
    cin>>month;
    cin>>day;
    person p1;
    p1.setnumber(number);
    p1.shownumber();
    p1.setsex(sex);
    p1.showsex();
    p1.setIDnumber(IDnumber);
    p1.showIDnumber();
    p1.setbirth(year,month,day);
    p1.showbirth();
    ::system("pause");
   return number;
}
2 回复
#2
stop12042017-12-26 02:12
double sex,IDnumber;  
性别与身份证用double吗

身份证应该要string   有数字字符结合的




#3
stop12042017-12-26 02:15
还有
date类放到最前面
你person类调用了, 不能放data定义前

只有本站会员才能查看附件,请 登录
1