关于C++中类的一个输入问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 23:45:43
我编了一个关于类的程序,也没有语法错误,就是输入的时候不对,我找不到哪里错,请高手帮我看一下吧~~~
这个程序是要建一个类,里面有歌曲的各种信息,有title,album,artist,playing time(in minutes an secods)还有category,程序要显示这些信息,还要比较几首歌,然后修改歌里面的内容,就是在修改的里面,每次输入到artist的时候就自动结束了,不能继续输入后面的内容
代码是这样:
//This program represents a song on a CD or in an MP-3 library
#include<iostream>
#include<string>
using namespace std;
string Category[3]={"Blues","Pop","Rock"};
class song
{
private:
string category;
string title;
string album;
string artist;
int minutes;
int seconds;
public:
//constructor
song(); //default constructer
song(string t,string al,string arti,int min,int sec,string catg);
//observer
string re_title()
{
return title;
}
string re_album()
{
return album;
}
string re_artist()
{
return artist;
}
int re_minutes()
{

char ch;
cin>>ch;

if(ch=='s1')
s1.change();
else
s2.change();

这里错误
应该写:
char ch[10];//字符串相当于字符串数组
cin>>ch;

if(ch[0]=='s' && ch[1]=='1' && ch[2]=='\0')//如果字符串是"s1"
s1.change();
else
s2.change();

或者:
string ch;
cin>>ch;

if(ch=="s1")//字符串用双引号!
s1.change();
else
s2.change();