首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法将字符串数组声明为类成员而不是字符(C++)

无法将字符串数组声明为类成员而不是字符(C++)
EN

Stack Overflow用户
提问于 2020-06-17 02:37:59
回答 1查看 46关注 0票数 0

我想为10本书添加一个标题数组,用户可以在每个可能包含多个单词的标题上添加/输入“字符串值”。我试图将"char“替换为"string”,但在运行程序时它不能正常工作!

代码语言:javascript
运行
复制
#include <iostream>
using namespace std;
class Book {
  int year;
  char Title[10];  // the problem with in here
  int bookno;
  int copyno;
  int price;

 public:
  void Creatdata()  // Statement 1 : Defining Creatdata()
  {
    cout << "\n\tEnter Book published year : ";
    cin >> year;

    cout << "\n\tEnter Book title : ";
    cin >> Title;

    cout << "\n\tEnter Book number: ";
    cin >> bookno;
    cout << "\n\tEnter Copy number: ";
    cin >> copyno;

    cout << "\n\tEnter Employee Salary : ";
    cin >> price;
  }

  void DisplayData()  // Statement 2 : Defining DisplayData()
  {
    cout << "\n" << year << "\t" << Title << "\t" << bookno << "\t" << copyno
         << "\t" << price;
  }
};

int main() {
  int i;

  Book B[10];  // Statement 3 : Creating Array of 10 books

  for (i = 0; i <= 10; i++) {
    cout << "\nEnter details of " << i + 1 << " Book";
    B[i].Creatdata();
  }

  cout << "\nDetails of Book";
  for (i = 0; i <= 10; i++)
    B[i].DisplayData();
  return 0;
}
EN

回答 1

Stack Overflow用户

发布于 2020-06-17 02:53:02

您应该使用std::stringstd::getline

代码语言:javascript
运行
复制
class Book {
  int year;
  std::string title;
  int bookno;
  int copyno;
  int price;

 public:
  void Creatdata()  // Statement 1 : Defining Creatdata()
  {
    cout << "\n\tEnter Book published year : ";
    cin >> year;

    cout << "\n\tEnter Book title : ";
    std::getline(std::cin, title);

    cout << "\n\tEnter Book number: ";
    cin >> bookno;
    cout << "\n\tEnter Copy number: ";
    cin >> copyno;

    cout << "\n\tEnter Employee Salary : ";
    cin >> price;
  }
};

std::getline()将读取文本,直到找到换行符。

operator>>将跳过空格,然后读取文本,直到找到空格(通常是一个文本单词)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62415411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档