| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 996 人关注过本帖
标题:初学者的一个很简单的程序(错了)
只看楼主 加入收藏
gail
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-3-29
收藏
 问题点数:0 回复次数:12 
初学者的一个很简单的程序(错了)

初学者
打印职工信息
错误太多了

#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);


}

搜索更多相关主题的帖子: 信息 private include 
2006-04-12 20:03
gail
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-3-29
收藏
得分:0 

本人刚刚该了一下
可是还是有误

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


#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


2006-04-12 20:29
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 

从你的程序中应该是用creat()实现拷贝构造函数的功能,但系统会在你编译的过程中自动生成一个默认的拷贝构造函数,...我觉的你应该把creat()去掉,把类的对象的初始化在 Employee()中实现.....


英者自知,雄者自胜
2006-04-12 22:07
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
收藏
得分:0 
如果楼主想利用默认构造函数的话,应当把类声明中的Employ()函数声明去掉。因为你一旦声明了它,默认的构造函数就不会起作用,而楼主还没有实现。
如果不想用默认构造函数,楼主就需要为Employe()写一个实现体。

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2006-04-13 10:33
gail
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-3-29
收藏
得分:0 
我把默认的构造函数 Employee();
删掉后还是不行啊

2006-04-14 17:42
lbwxqh
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-4-12
收藏
得分:0 
你先把构造函数定义改成Employee::Emplyee(int N)
              {creat(N);}
把creat()函数定义如下void Employee::creat(int N){实体与你的一样}
2006-04-14 19:53
gail
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-3-29
收藏
得分:0 
还是不行

错误越来越多了

2006-04-14 21:52
gail
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-3-29
收藏
得分:0 
而且我把成员变量定义为私有
他也报错

2006-04-14 21:53
五彩精灵
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-4-16
收藏
得分:0 

好多都是语法上的错误,你再仔细看看

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

2006-04-16 01:51
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

#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);
}


}
看这个行不


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-04-16 12:33
快速回复:初学者的一个很简单的程序(错了)
数据加载中...
 
   



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

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