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

帮忙看一下错哪了,谢谢!

[复制链接]
发表于 2009-11-5 00:57:14 | 显示全部楼层 |阅读模式 IP:江苏扬州
#include <iostream.h>
#include<string.h>
class worker
{public:
worker(int x,int y, char * z)
{number=x;age=y;strcpy(sex,z);};
~worker(){};
int Getnum(){return number;}
int Getage(){return age;}
char *Getsex(){return sex;}
void friend showlist(worker*&f);
void friend del1(worker*&f,int key);
void friend del2(worker*&f);
void friend f2(worker*&f);
void friend f1(worker*&f,worker*&r,int x,int y,char z);
worker*next;
private:
int number;
int age;
char* sex;
};
void f1(worker*&f,worker*&r,int x,int y,char* z)
{worker*p=new worker(x,y,z);
p->next=NULL;
if(f==NULL) {f=r=p;}
else{r->next=p;r=r->next;}
}
void showlist(worker*&f)
{worker*p1;
for(p1=f;p1!=NULL;p1=p1->next)
{cout<<p1->number<<" "<<p1->age<<" "<<p1->sex<<endl;}
}
void del1(worker*&f,int key)
{worker*p2;
worker*p3;
if(!f)
{cout<<"no worker!\n";return;}
if(f->number==key)
{p2=f;
f=f->next;
delete p2;
p2=NULL;
cout<<key<<"have been deleted\n";
return;
}
for(p3=f;p3!=NULL;p3=p3->next;)
{if(p3->next->number==key)
{p2=p3->next;
p3->next=p2->next;
delete p2;
p2=NULL;
cout<<key<<"have been deleted\n";
return;
}
cout<<"there is not key:"<<key<<endl;
return;
}
void del2(worker*&f)
{worker*p4;
worker *p5;
if(!f)
{cout<<"no worker!\n;
return;
}
if(f->sex=="man"&&f->age>=60||f->sex=="woman"&&f->age>=55)
{p4=f;
f=f->next;
f1(head,r1,p4->number,p4->age,p4->sex)
for(p5=f;p5->next!=NULL;p5=p5->next)
{if p5->next->sex=="man"&&p5->next->age>=60||p5->next->sex=="woman"&&p5->next->age>=55)
p4=p5->next;
p5->next=p4->next;
f1(head,r1,p4->number,p4->age,p4->sex);
delete p4;
p4=NULL;
return;
}
void f2(worker*&f)
{worker*p6;
int a,b;
for(p6==f;p6!=NULL;p6=p6->next;)
{if(p6->sex=="man")
a++;
if(p6->sex=="woman")
b++;
}
cout<<"共有男性职工人数为:"<<a<<endl;
cout<<"共有女性职工人数为:"<<b<<endl;
}
void main()
{worker*&front=NULL;*rear=NULL;worker*&head=NULL;worker*r1=NULL;
int x,y,choice,key;
char z;
do
{cout<<"please choice:\n";
cout<<"key in 1 is continue\n key in 0 is over\n";
cin>>choice;
switch(choice)
{case 1:{cout<<"Input number,age,sex:";
cin>>x>>y>>z;
f1(front,rear,x,y,z);
break;}
case 0:break;
}while(choice);
f2(front);
cout<<"
cout<<"请输入所要删除职工的编号:"<<key<<endl;
cin>>key;
del1(front,key);
f2(front);
del2(front);
f2(front);
showlist(head);
发表于 2009-11-5 00:57:15 | 显示全部楼层 IP:江苏扬州
你怎么也得给个编译器的错误信息啊

代码格式化不好

命名有问题
回复

使用道具 举报

发表于 2009-11-5 00:57:16 | 显示全部楼层 IP:江苏扬州
yang1.cpp
F:\书籍\yang1.cpp(46) : error C2059: syntax error : ';'
F:\书籍\yang1.cpp(59) : error C2601: 'del2' : local function definitions are illegal
F:\书籍\yang1.cpp(59) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.
yang1.obj - 3 error(s), 0 warning(s)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 03:11 , Processed in 0.757689 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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