
C++中结构体中如何使用string类
#include<iostream>#include<string>#include<cstring>structcar{stringname;intyear;};int...
#include<iostream>
#include<string>
#include<cstring>
struct car
{ string name;
int year;
};
int main()
{
using namespace std;
int t;
cout<<"How many cars do you wish to catalog? ";
cin>>t;
cin.get();
if(t<0)
return 0;
car *pa=new car[t];
for(int i=0;i<t;i++)
{ cout<<"Please enter the make: ";
getline(cin,pa[i].name);
cout<<"Please enter the year made: ";
cin>>pa[i].year;
cin.get();
}
for(int j=0;j<t;j++)
{
cout<<pa[j].year<<" "<<pa[j].name<<endl;
}
delete [] pa;
return 0;
}
此程序中有错误,请高手指点下,谢谢! 展开
#include<string>
#include<cstring>
struct car
{ string name;
int year;
};
int main()
{
using namespace std;
int t;
cout<<"How many cars do you wish to catalog? ";
cin>>t;
cin.get();
if(t<0)
return 0;
car *pa=new car[t];
for(int i=0;i<t;i++)
{ cout<<"Please enter the make: ";
getline(cin,pa[i].name);
cout<<"Please enter the year made: ";
cin>>pa[i].year;
cin.get();
}
for(int j=0;j<t;j++)
{
cout<<pa[j].year<<" "<<pa[j].name<<endl;
}
delete [] pa;
return 0;
}
此程序中有错误,请高手指点下,谢谢! 展开
4个回答
展开全部
C++中结构体中使用string类与在其他地方使用string类用法相同。
使用string类需要注意如下几点:
1、使用该类需要加头文件#include <string>,注意不同于#include <string.h>
2、该类是定义在命名空间std中的,所以使用之前需要确保已using namespace std;否则需要以std::string的形式来引用。
3、string类不等价于char 数组,需要区别对待。
使用string类需要注意如下几点:
1、使用该类需要加头文件#include <string>,注意不同于#include <string.h>
2、该类是定义在命名空间std中的,所以使用之前需要确保已using namespace std;否则需要以std::string的形式来引用。
3、string类不等价于char 数组,需要区别对待。
展开全部
把主函数里面的using namespace std;提到外面
而且你是用的string 不是char 数组,所以就不用cin.get()来消去尾部字符了
大致是这样吧,调试一下,会很快知道错在哪里的
而且你是用的string 不是char 数组,所以就不用cin.get()来消去尾部字符了
大致是这样吧,调试一下,会很快知道错在哪里的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把using namespace std放到结构体struct car之前就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加上
using namespace std;
在头文件包含完之后
或者用
std::string 来声明
using namespace std;
在头文件包含完之后
或者用
std::string 来声明
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询