找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1676|回复: 9

初学者的一个很简单的程序(错了)

[复制链接]
发表于 2009-11-3 01:07:15 | 显示全部楼层 |阅读模式 IP:江苏扬州
初学者
打印职工信息
错误太多了

#include <stdio.h>
#include <string.h>
#define N 3
class Employee{
private :
char no[10];
char name[10];
char depart[10];
int age;
double salary;
public:
Employee();
void Creat(char na[],char n[],char de[],int ag,double sal);
void Display();
void Display(char n[]);
};
void Employee::Creat(Employee employ[N])
{
int i;
for(i=0;i<N;i++)
{
cout<<"input no:"<<endl;
cin>>employ[i].no;
cout<<"input name:"<<endl;
cin>>employ[i].name;
cout<<"input depart:"<<endl;
cin>>employ[i].depart;
cout<<"input age:"<<endl;
cin>>employ[i].age;
cout<<"input salary:"<<endl;
cin>>employ[i].salary;
}
}
void Employee::Display()
{
cout<<name<<no<<depart<<age<<salary<<endl;
}
void Display(char no[])
{
cout<<no<<name<<depart<<age<<salary<<endl;
}
void Display(char depart[])
{
cout<<depart<<no<<name<<age<<salary<<endl;
}
void main()
{
int i;
Employee employee[N];
Creat(employee);
cout<<"display all"<<endl;
for(i=0;i<N;i++)
employee[i].display();
cout<<"display according to no."<<endl;
for(i=0;i<N;i++)
employee[i].display(employee[i].no);
cout<<"display according to depart."<<endl;
for(i=0;i<N;i++)
employee[i].display(employee[i].depart);

}
发表于 2009-11-3 01:07:16 | 显示全部楼层 IP:江苏扬州
本人刚刚该了一下
可是还是有误

麻烦哪位大虾帮忙改下
本人是初学 不明白啊


#include <iostream.h>
class Employee{
public:
char no[10];
char name[10];
char depart[10];
int age;
double salary;
Employee();
void Creat();
void Display();
void Display(char n[]);
};
void Employee::Creat()
{
int i;
for(i=0;i<N;i++)
{
cout<<"input no:"<<endl;
cin>>no;
cout<<"input name:"<<endl;
cin>>name;
cout<<"input depart:"<<endl;
cin>>depart;
cout<<"input age:"<<endl;
cin>>age;
cout<<"input salary:"<<endl;
cin>>salary;
}
}
void Employee::Display()
{
cout<<name<<no<<depart<<age<<salary<<endl;
}
void Employee::Display(char no[])
{
cout<<no<<name<<depart<<age<<salary<<endl;
}
void main()
{
int i;
Employee employee[N];
for(i=0;i<N;i++)
employee[i].Creat();
cout<<"display all"<<endl;
for(i=0;i<N;i++)
employee[i].Display();
cout<<"display according to no."<<endl;
for(i=0;i<N;i++)
employee[i].Display(employee[i].no);
cout<<"display according to depart."<<endl;
for(i=0;i<N;i++)
employee[i].Display(employee[i].depart);

}

报错main.obj : error LNK2001: unresolved external symbol "public: __thiscall Employee::Employee(void)" (??0Employee@@QAE@XZ)
Debug/zhigong1.exe : fatal error LNK1120: 1 unresolved externals
回复

使用道具 举报

发表于 2009-11-3 01:07:19 | 显示全部楼层 IP:江苏扬州
从你的程序中应该是用creat()实现拷贝构造函数的功能,但系统会在你编译的过程中自动生成一个默认的拷贝构造函数,...我觉的你应该把creat()去掉,把类的对象的初始化在 Employee()中实现.....
回复

使用道具 举报

发表于 2009-11-3 01:07:22 | 显示全部楼层 IP:江苏扬州
如果楼主想利用默认构造函数的话,应当把类声明中的Employ()函数声明去掉。因为你一旦声明了它,默认的构造函数就不会起作用,而楼主还没有实现。
如果不想用默认构造函数,楼主就需要为Employe()写一个实现体。
回复

使用道具 举报

发表于 2009-11-3 01:07:23 | 显示全部楼层 IP:江苏扬州
我把默认的构造函数 Employee();
删掉后还是不行啊
回复

使用道具 举报

发表于 2009-11-3 01:07:25 | 显示全部楼层 IP:江苏扬州
你先把构造函数定义改成Employee::Emplyee(int N)
              {creat(N);}
把creat()函数定义如下void Employee::creat(int N){实体与你的一样}
回复

使用道具 举报

发表于 2009-11-3 01:07:26 | 显示全部楼层 IP:江苏扬州
还是不行

错误越来越多了
回复

使用道具 举报

发表于 2009-11-3 01:07:27 | 显示全部楼层 IP:江苏扬州
而且我把成员变量定义为私有
他也报错
回复

使用道具 举报

发表于 2009-11-3 01:07:32 | 显示全部楼层 IP:江苏扬州
好多都是语法上的错误,你再仔细看看

而且最开始缺少#include <iostream.h>
回复

使用道具 举报

发表于 2009-11-3 01:07:38 | 显示全部楼层 IP:江苏扬州
#include <iostream.h>
#define N 3
class Employee{
public:
char no[10];
char name[10];
char depart[10];
int age;
double salary;
Employee(){}

void Creat();
void Display();
void Display(char n[]);
};
void Employee::Creat()
{
int i;
for(i=0;i<N;i++)
{
cout<<"input no:"<<endl;
cin>>no;
cout<<"input name:"<<endl;
cin>>name;
cout<<"input depart:"<<endl;
cin>>depart;
cout<<"input age:"<<endl;
cin>>age;
cout<<"input salary:"<<endl;
cin>>salary;
}
}
void Employee::Display()
{
cout<<name<<no<<depart<<age<<salary<<endl;
}
void Employee::Display(char no[])
{
cout<<no<<name<<depart<<age<<salary<<endl;
}
void main()
{
int i;
Employee employee[N];
for(i=0;i<N;i++)
{
employee[i].Creat();
cout<<"display all"<<endl;
}
for(i=0;i<N;i++)
{
employee[i].Display();
cout<<"display according to no."<<i<<endl;
}
for(i=0;i<N;i++)
{
employee[i].Display(employee[i].no);
cout<<"display according to depart."<<endl;
}
for(i=0;i<N;i++)
{
employee[i].Display(employee[i].depart);
}

}
看这个行不
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 05:30 , Processed in 0.115327 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表