首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

到底错在哪里?解决方案

2012-02-08 
到底错在哪里?/*我的思路:首先,定义一个employee的结构,里面的成员分别是雇员号码和报酬,身份,入职日期。第

到底错在哪里?
/*我的思路:
首先,定义一个employee的结构,里面的成员分别是雇员号码和报酬,身份,入职日期。
  第二,定义一个date的变量,成员是年月日。
  第三,定义一个enum类型,里面是雇员类别。
  第四,组织程序运行的结果,就是初始化雇员的信息。
  第五,实现用户选择雇员的界面,输出雇员的四项信息。
*/


#include <iostream>
using namespace std;

///////////////////////////////////
struct date 
{
int year;
int month;
int day;
};
///////////////////////////////////
struct employee
{
int Number;
int Sarary;
date Date;
enum Type;
};
///////////////////////////////////

enum Type {manager, laborer, executive, secretary, researcher, accountant};
  
void main()
{
Type t1 = manager, t2 = laborer, t3 = executive;
employee Em1 = { 123, 3000, {2009, 12, 2}, t1}, 
Em2 = { 124, 4000, {2001, 2, 3}, t2},
Em3 = { 134, 2000, {2004, 3, 5}, t3};
 
cout<<"\nEmployee 1 : "<<Em1.Number<<" "<<Em1.Sarary<<" "<<Em1.Date.year<<"\"<<Em1.Date.month<<"\"<<Em1.Date.day<<endl;
  cout<<"\nEmployee 2 : "<<Em2.Number<<" "<<Em2.Sarary<<" "<<Em2.Date.year<<"\"<<Em2.Date.month<<"\"<<Em2.Date.day<<endl;
  cout<<"\nEmployee 3 : "<<Em3.Number<<" "<<Em3.Sarary<<" "<<Em3.Date.year<<"\"<<Em3.Date.month<<"\"<<Em3.Date.day<<endl;
}
 

难道不是这样初始化Em1它们的吗?到底错在哪里啊?

[解决办法]

C/C++ code
#include <iostream>using namespace std;///////////////////////////////////struct date  {    int year;    int month;    int day;};///////////////////////////////////struct employee{    int Number;    int Sarary;    date Date;    enum Type;};///////////////////////////////////enum Type {manager, laborer, executive, secretary, researcher, accountant};void main(){    Type t1 = manager, t2 = laborer, t3 = executive;    struct employee Em1 = { 123, 3000, (2009, 12, 2), t1},          Em2 = { 124, 4000, (2001, 2, 3), t2},        Em3 = { 134, 2000, (2004, 3, 5), t3};        cout<<"\nEmployee 1 : "<<Em1.Number<<" "<<Em1.Sarary<<" "<<Em1.Date.year<<"\\"<<Em1.Date.month<<"\\"<<Em1.Date.day<<endl;        cout<<"\nEmployee 2 : "<<Em2.Number<<" "<<Em2.Sarary<<" "<<Em2.Date.year<<"\\"<<Em2.Date.month<<"\\"<<Em2.Date.day<<endl;        cout<<"\nEmployee 3 : "<<Em3.Number<<" "<<Em3.Sarary<<" "<<Em3.Date.year<<"\\"<<Em3.Date.month<<"\\"<<Em3.Date.day<<endl;
[解决办法]
C/C++ code
///////////////////////////////////struct date  {int year;int month;int day;};///////////////////////////////////enum Type {manager, laborer, executive, secretary, researcher, accountant};///////////////////////////////////struct employee{int Number;int Sarary;date Date;Type tp;//用"enum Type ;"的话,就是定义了一个名字叫Type的类型,而不是变量};/////////////////////////////////// void main(){employee Em1 = { 123, 3000, {2009, 12, 2}, manager},  Em2 = { 124, 4000, {2001, 2, 3},laborer},Em3 = { 134, 2000, {2004, 3, 5}, executive};    cout<<"\nEmployee 1 : "<<Em1.Number<<" "<<Em1.Sarary<<" "<<Em1.Date.year<<"\\"<<Em1.Date.month<<"\\"<<Em1.Date.day<<endl;  //要想输出'\',必须写成'\\',因为'\'是转义字符,这样一来“\"”就相当于输出字符“ "  ”  cout<<"\nEmployee 2 : "<<Em2.Number<<" "<<Em2.Sarary<<" "<<Em2.Date.year<<"\\"<<Em2.Date.month<<"\\"<<Em2.Date.day<<endl;  cout<<"\nEmployee 3 : "<<Em3.Number<<" "<<Em3.Sarary<<" "<<Em3.Date.year<<"\\"<<Em3.Date.month<<"\\"<<Em3.Date.day<<endl;} 

热点排行