C++期末考试考完了 试题很简单 做的很不理想 哎~~ 最后一个题大家分享一下

lantuling 2011-06-09 06:36:11
//某工厂有员工:研发人员和销售人员
//每个员工都有姓名和工号,其中工号有静态变量从1累计增加
//每个研发人员的工资计算方法是固定工资加上奖金
//每个销售人员的的工资计算方法是固定工资加上销售额的%10
//编写程序实现这些功能 编写mian函数输入1000人的信息 输出奖金超过10万元的 员工的 工号和姓名
这个题对于大家来说 必须是小菜一贴 很多人可能都懒得看 但是 大家就当玩玩
我总觉得 我写的这个代码 怪怪的 大家觉得呢?


#include<iostream>
using namespace std;
class Worker
{
public:
virtual void Computepayment()=0;//计算工资的函数
virtual char* getname()=0;
virtual int getID()=0;
virtual int getpayment()=0;
static int NUM;//静态变量来
protected:
char name[20];
int ID;
int payment;
};
class Researcher:public Worker
{
public:
Researcher(){ID=NUM;NUM++;}
void setname(){cin>>name;}
virtual char* getname(){return name;}
virtual int getID(){return ID;}
virtual int getpayment(){return payment;}
virtual void Computepayment();
};
class SellWorker:public Worker
{
public:
SellWorker(){ID=NUM;NUM++;}
void setname(){cin>>name;}
virtual char* getname(){return name;}
virtual int getID(){return ID;}
virtual int getpayment(){return payment;}
virtual void Computepayment();
};
void Researcher::Computepayment()
{
cout<<"请输入工资:";
int n;
cin>>n;
cout<<"请输入奖学金:";
int m;
cin>>m;
payment=n+m;//研发人员的工作算法是工资+奖金
}
void SellWorker::Computepayment()

{
cout<<"请输入工资:";
int n;
cin>>n;
int m;
cout<<"请输入销售额:";
cin>>m;
payment=(n+m*0.1);//小说人员的工资算法是工资+销售额的10%
}
int Worker::NUM=0;
int main()
{
Worker *p[1000];
for(int i=0;i<1000;i++)
{
cout<<"请输入员工的信息:"<<endl;
cout<<"1 for Researcher,2 for Seller :";
int choice;
cin>>choice;
if(choice==1)
{
Researcher h;
cout<<"请输入研发人的名字:";
h.setname();
h.Computepayment();
p[i]=&h;
}
else if(choice==2)
{
SellWorker s;
cout<<"请输入销售人的名字:";
s.setname();
s.Computepayment();
p[i]=&s;
}
}
//输出工资超过10万元的 员工工号和姓名
cout<<"年薪超过10万的员工有:"<<endl<<endl<<endl;
for(i=0;i<1000;i++)
{
if(p[i]->getpayment()>10)
{
cout<<"名字:"<<p[i]->getname()<<" 工号"<<p[i]->getID()<<endl;
}
}
return 0;
}
...全文
1141 48 打赏 收藏 转发到动态 举报
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjfu_holmes 2012-12-26
  • 打赏
  • 举报
回复
大学计算机语言中,C++的期末考试还是比较好混的
lantuling 2011-06-26
  • 打赏
  • 举报
回复
[Quote=引用 35 楼 qpalz1 的回复:]
对不起 , 我在33楼以为你是在问我是否上高中的 , 无故“回答”了你的问题
[/Quote]


额。。。。中国就需要 这样的人 加油哈
yuqiufeng 2011-06-26
  • 打赏
  • 举报
回复
LZ加油
lantuling 2011-06-26
  • 打赏
  • 举报
回复
学软件要从娃娃抓起
qpalz1 2011-06-26
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 lantuling 的回复:]

引用 35 楼 qpalz1 的回复:
对不起 , 我在33楼以为你是在问我是否上高中的 , 无故“回答”了你的问题



额。。。。中国就需要 这样的人 加油哈
[/Quote]
你这样说的意思是?
pcliuguangtao 2011-06-26
  • 打赏
  • 举报
回复
lz编写的挺好的,不仅注意到进行类型抽象,寻找共性作为基类,而且在类继承中注意使用虚函数,数据的封装很好,可以看得出lz是一个比较注意细节的人。
欠佳的就是还有点C语言混编的感觉,在C++里面,当没有太高的性能和其他要求的时候,数组推荐使用vector,
字符串推荐使用string;另外,在编写程序的时候要考虑到方法的定义和实现声明,注意命名空间,如在头文件中使用"std::cout<<number"
蛟龙-_- 2011-06-26
  • 打赏
  • 举报
回复
我们期末考C++用的是英文的卷子,题目不是很难,强大吧?
lantuling 2011-06-26
  • 打赏
  • 举报
回复
[Quote=引用 44 楼 zfp31415 的回复:]
有兴趣做个MFC的,那样好玩一些
[/Quote]

网络不好 引用错了、
是的 ,得放暑假 回去,一定仔细研究这个
lantuling 2011-06-26
  • 打赏
  • 举报
回复
[Quote=引用 43 楼 yuqiufeng 的回复:]
LZ加油
[/Quote]

是的 ,得放暑假 回去,一定仔细研究这个
至善者善之敌 2011-06-26
  • 打赏
  • 举报
回复
不错,加油。。。。
zfp31415 2011-06-26
  • 打赏
  • 举报
回复
有兴趣做个MFC的,那样好玩一些
lantuling 2011-06-24
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 yang122610 的回复:]
怎么没有对输入死循环进行处理、、、
int n;
cin>>n;
int m;
cout<<"请输入销售额:";
cin>>m;
等等、、如果输入的是字母 就悲剧老萨 进行处理下撒、、、
[/Quote]
你是上高中的? 这个 是个问题,没有做容错处理
nightkids_008 2011-06-24
  • 打赏
  • 举报
回复
大学生中这水平不错了,很多人都是靠背的,我当年就是(汗。。。。。。)
xici0088 2011-06-24
  • 打赏
  • 举报
回复
额。考试手写。疯了。
qpalz1 2011-06-24
  • 打赏
  • 举报
回复
对不起 , 我在33楼以为你是在问我是否上高中的 , 无故“回答”了你的问题
shy2010131344 2011-06-24
  • 打赏
  • 举报
回复
哇塞。。人才啊。。。这可以拿来做我们课程设计的题目啦。。。
qpalz1 2011-06-24
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 lantuling 的回复:]

引用 31 楼 yang122610 的回复:
怎么没有对输入死循环进行处理、、、
int n;
cin>>n;
int m;
cout<<"请输入销售额:";
cin>>m;
等等、、如果输入的是字母 就悲剧老萨 进行处理下撒、、、

你是上高中的? 这个 是个问题,没有做容错处理
[/Quote]
我懒得打太长 , 随便打两句而已...
还有 , 你高估了我的学历... 我初中二年级而已 全是我自学而已
lantuling 2011-06-23
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 qpalz1 的回复:]
我重写了一下 , 代码简洁得多

C/C++ code

#include <iostream>

using std::string;
using std::cout;
using std::cin;

struct staff
{
string name;
//int num; //this is opt……
[/Quote]
首先 谢谢您的代码,然后 假如我没学过C++ 上面的代码 就是我想要的,但是学了C++ 之后,类的继承,封装,多态,要在一个题里体现,这样写 就。。。
动感超哥 2011-06-23
  • 打赏
  • 举报
回复
怎么没有对输入死循环进行处理、、、
int n;
cin>>n;
int m;
cout<<"请输入销售额:";
cin>>m;
等等、、如果输入的是字母 就悲剧老萨 进行处理下撒、、、
xujun397380285 2011-06-23
  • 打赏
  • 举报
回复
mark
加载更多回复(27)

64,687

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧