| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 392 人关注过本帖
标题:求大神帮忙看看,这程序得不到想要的结果,哪出问题了?
只看楼主 加入收藏
wangca
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-12-19
收藏
 问题点数:0 回复次数:1 
求大神帮忙看看,这程序得不到想要的结果,哪出问题了?
输入职工信息表,再根据这个表产生一个职工信息简表
//CPP5.h
#if !defined(CPP5_H)
#define CPP5_H
#include<string>
#include<cstring>
#include<iostream>
using namespace std;
const int SIZE=10;

class worker
{
private:
    char num[SIZE];
    char name[SIZE];
public:
    void setname(char []);
    char *getname();
    void setnum(char []);
    char *getnum();
    virtual void display();

};


class workers:public worker
{
private:
    int age;
    char sex[SIZE];
public:
    void setage(int a);
    void setsex(char s[]);
    int getage();
    char *getsex();
    void display();
};
void printer(worker&);
#endif

//cpp5.cpp
#include"cpp5.h"
void worker::setname (char s[])
{strcpy(name,s);}
char* worker::getname ()
{return name;}
void worker::setnum(char n[] )
{strcpy(num,n);
}
char *worker::getnum ()
{return num;}

void worker::display ()
{
    cout<<"\t"<<num<<"\t"<<name<<endl;
}

void workers::setage(int a)
{age=a;}

void workers::setsex (char s[])
{strcpy(sex,s);
}
int workers::getage()
{return age;}
char *workers::getsex ()
{return sex;}
void workers::display()
{
    cout<<"\t"<<getnum()<<"\t"<<age<<"\t"<<getname()<<"\t"<<sex<<endl;
                          
}

/*******************************
*    显示职工信息处理函数
*******************************/
void printer(worker&s)
{
    s.display();
}
/*****************************
*主函数
*****************************/


void main()
{
    workers wks[SIZE];
    worker wk[SIZE];
    int number(0);

    char ch[10];
    int age;
    for(int j=0;j<SIZE;j++)
    {
        cout<<"\t编号:";
        cin.getline(ch,'\n');
        
        if(ch[0]=='0');
        {
            number=j;
            break;
        }
        wks[j].setnum(ch);
        cout<<"\t姓名:"<<endl;
        cin.getline(ch,'\n');
        wks[j].setname(ch);
        cin.getline(ch,'\n');
        wks[j].setsex(ch);
        cin>>age;
        cout<<"\t年龄:";
        wks[j].setage(age);

        getchar();
    }
    for(int i=0;i<number;i++)
        wk[i]=wks[i];
    cout<<"\n\t编号"<<"\t年龄"<<endl;
    for(int i=0;i<number;i++)
        printer(wks[i]);
    cout<<"\n\t编号"<<"\t姓名"<<endl;
    for(int i=0;i<number ;i++)
        printer(wk[i]);
}

只出现编号,输入编号按Enter后直接结束,什么地方出错了?
搜索更多相关主题的帖子: void namespace private display include 
2013-04-12 21:08
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
好长啊

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-12 21:11
快速回复:求大神帮忙看看,这程序得不到想要的结果,哪出问题了?
数据加载中...
 
   



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

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