如何通过用户输入在c++中初始化带有对象的数组
How to initialize array with object in c++ by user input?
我有下面的代码,信用和负载成功保存到对象中,但代码和标题只使用字符串的第一个字母。一开始我尝试了course[noOfCourses_].setCode(Code)
,但它给了我一个错误:
CCD_ 2。
另一个问题是,输入跳过标题的输入提示,直接进入信用提示。
void addCourse() {
Course*course=new Course[MAX_NO_RECS];
char Code[MAX_COURSECODE_LEN];
char title[20];
int credit;
int load;
cout << "Course Code: ";
cin.clear();
cin >> Code;
cin.clear();
course[noOfCourses_].setCode(Code[0]);
cin.clear();
cout << "Course Title: ";
cin.getline(title, 20);
cin.clear();
course[noOfCourses_].setTitle(title[0]);
cin.clear();
cout << "Credits: ";
cin >> credit;
course[noOfCourses_].setCredits(credit);
cout << "Study Load: ";
cin >> load;
course[noOfCourses_].setLoad(load);
noOfCourses_++;
courseList_[noOfCourses_]=course;
}
您的第一种方法是正确的。您应该使用course[noOfCourses_].setCode(Code)
(顺便说一句:如果变量Code
不以大写字母开头会更好)。
问题出在Cource::setCode
函数中。似乎该参数是一个char
。要修复它,您应该将其更改为char*
void Cource::setCode(char* code) {
...
}
相关文章:
- 将对象数组的引用传递给函数
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 类对象数组的问题会导致崩溃
- Arduino C++在构造函数中用参数声明对象数组
- 使用对象数组对 SFML 进行动画处理
- C++ 对象数组堆栈溢出
- 如何将对象数组作为参数传递给模板
- 使用向量初始化参数化构造函数的对象数组
- 如何初始化对象数组?
- C++创建对象数组
- 在对象数组中搜索字符串并返回相应值的函数
- 有没有办法使用该类的构造函数初始化另一个类的私有部分内的对象数组?
- 如何在运行时在对象数组中动态追加新对象C++并打印它们
- 为什么我在声明对象数组时不能使用 -> 运算符?
- 编译时生成应在构造函数中创建的非 constexpr 对象数组
- 使用 C++ 创建对象数组
- 对象数组打印空白字符串
- 重载运算符 [] 用于从对象数组中给出特定索引
- 如何在 C++ 中使用提升属性树从 JSON 文件中读取对象数组