简单的C++程序;似乎做不好
Simple C++ programme; can't seem to get it right
#include<iostream>
#include<conio>
#include<string>
using namespace std;
class CompanyName
{
public:
char name[10];
void display()
{
if(name=="emily")
cout<<"Hired!"<<endl;
}
};
void main()
{
CompanyName c;
cout<<"enter name"<<endl;
cin>>c.name;
c.display();
getch();
}
我的朋友刚刚找到了一家公司,我想用一个小的CPP程序在她的facebook墙上祝贺她(并宣布某某公司雇用了她)。我不想只写"祝贺你,艾米丽!"因为我已经为别的事情这么做了。这次你看一下代码就知道我要做什么了。欢迎提出更好的建议。但我的问题是,我无法让这段代码运行。我觉得"如果"这条线不对。有人能帮我改一下代码吗?我还是个初学者。
您声明name
为char name[10];
,那么name
将被视为指针。你的指针永远不会等于字符串"emily"
。
#include <string>
中的std::string
。这应该可以工作(因为您已经包含了库):
class CompanyName
{
public:
std::string name;
// ..
if (name == "emily")
// cout
// ..
};
你知道,如果你使用std::string
,这段代码会更容易。请看下面的代码:
#include <iostream>
#include <string>
using namespace std;
class CompanyName {
public:
string name;
void display()
{
if (name == "emily")
cout << "Hired!" << endl;
}
};
int main()
{
CompanyName c;
cout << "enter name" << endl;
cin >> c.name;
c.display();
return 0;
}
那么这里对字符串的大小没有限制。顺便说一下,你的代码不能工作,因为它只能包含9个字符,+