所以我是C++的初学者,只是完全陷入一个问题。我有尝试使用Java的背景知识,但最终却使自己更加困惑。我的老师真的对C++的教学还不够多,所以我一直在研究和探索长达数小时的帮助我的东西。

问题是这样的:
编写一个C++程序,该程序:

  • 使用输入重定向来遍历各节的文件并计算2660个类(class)中有多少是GER。将计数输出到屏幕。请注意,部分编号有时包含字母,因此您应该以字符串形式(与类(class)编号相同)阅读它。
  • 为每个部分调用一个函数。如果类(class)是GER且具有CSCE作为类(class)主题,则该功能应输出类(class)主题和编号。

  • 我已经做了第一部分,并且可以正常工作。 Im正在使用的txt文件包含CRN,主题,类(class)号,以及是否为2660个不同类(class)的GER的是/否。

    我的问题是2。我还没有学会如何在这样的函数中调用字符串甚至使用字符串。

    到目前为止,这就是我所拥有的。第一部分我可能已经完全离开了,但是我知道的int main是正确的
    任何输入或朝正确方向的 push 都将不胜感激!谢谢
    #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;
    }
    

    最佳答案

    您必须为您的论据提供参考。传递值时,编译器将进行复制,因此提取操作(cin >> x)仅影响对象的本地副本:

    void printCsce(int& total, int& CRN, std::string& subject,
        std::string& courseNum, std::string& courseSection, std::string& yesNo);
    

    07-24 09:49
    查看更多