所以我是C ++的初学者,完全坚持一个问题。我有使用Java的背景,我试图申请,但我最终只是让自己感到困惑。我的老师真的没有在C ++上教过我们很多东西,所以我一直在研究和连续几个小时,以获得可以帮助我的东西。
问题在于: 编写一个C ++程序:
我已经完成了第一部分并且它正常工作。我使用的txt文件包含CRN,主题,课程编号,以及是/否,是否是2660种不同课程的GER。
我的问题是2号。我还没有学会如何调用字符串甚至在这样的函数中使用字符串。
这是我到目前为止所拥有的。第一部分我可能完全关闭但我的主要知道是正确的 非常感谢任何输入或正确方向的推动!感谢
#include <iostream>
#include <string>
using namespace std;
void printCsce(int total, int CRN, std::string subject, std::string courseNum,
std::string courseSection, std::string yesNo);
void printCsce(int total, int CRN, std::string subject, std::string courseNum,
std::string courseSection, std::string yesNo){
total=2660;
for (int i=0; i <total; i++){
cin >> CRN;
cin >> subject;
cin >> courseNum;
cin >> courseSection;
cin >> yesNo;
if (subject=="CSCE" && yesNo=="Yes"){
std::cout << CRN << subject << endl;
}
}
}
int main()
{
int total=2660;
int CRN;
string subject;
string courseNum;
string courseSection;
string yesNo;
int sum=0;
cin >> total;
for (int i=0; i<total; i++)
{
cin >> CRN;
cin >> subject;
cin >> courseNum;
cin >> courseSection;
cin >> yesNo;
if (yesNo=="Yes") {
sum++;
}
}
cout << "There are "<< sum << " courses that are GERS."<< endl;
cout << printCsce << endl;
}
答案 0 :(得分:1)
你必须参考你的论点。传递by-value时,编译器会创建副本,因此提取(cin >> x)
仅影响对象的本地副本:
void printCsce(int& total, int& CRN, std::string& subject,
std::string& courseNum, std::string& courseSection, std::string& yesNo);