C ++调用从txt文件输出信息的函数
Posted
技术标签:
【中文标题】C ++调用从txt文件输出信息的函数【英文标题】:C++ call a function that outputs info from a txt file 【发布时间】:2014-01-23 03:19:11 【问题描述】:所以我是 C++ 的初学者,只是完全陷入了一个问题。我有使用 Java 的背景,我正在尝试应用它,但我最终只会让自己更加困惑。我的老师在 C++ 方面教我们的真的不够多,所以我一直在研究和使用 YouTube 几个小时来寻找可以帮助我的东西。
问题是这样的: 编写一个 C++ 程序:
-
使用输入重定向来遍历部分文件并计算 2660 门课程中有多少是 GER。将计数输出到屏幕。请注意,部分编号有时包含字母,因此您应该将其作为字符串读取(与课程编号相同)。
为每个部分调用一个函数。如果课程是 GER 并且以 CSCE 作为课程主题,该函数应输出课程主题和编号。
我已经完成了第一部分,它可以正常工作。我使用的 txt 文件包含 CRN、主题、课程编号以及是否是 2660 门不同课程的 GER。
我的问题是数字 2。我还没有学会如何调用字符串,甚至在这样的函数中使用字符串。
这是我目前所拥有的。第一部分我可能完全关闭,但我知道我的 int main 是正确的 非常感谢任何输入或朝着正确方向的推动!谢谢
#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;
【问题讨论】:
使用字符串作为函数的参数并没有什么特别之处。只需使用变量作为参数调用函数。 我不是一个真正的Java程序员,但我认为C++和Java在这方面没有太大区别。 作为一般的编程建议,应用分而治之的原则。您不确定如何使用字符串?完成那个:ideone.com/062lVD,然后扩展你的理解:ideone.com/yuMgtV 在上面添加一个按值与按引用的示例。 ideone.com/R4IyRs 谢谢!我没有使用类或任何东西,所以我有点难以理解如何将它应用到我的程序中。不过我明白了一些。我更新了我的程序,现在我得到的只是我的主打印行,然后是 1。我不知道为什么。 【参考方案1】:你必须参考你的论点。当您按值传递时,编译器会进行复制,因此提取(cin >> x)
仅影响对象的本地副本:
void printCsce(int& total, int& CRN, std::string& subject,
std::string& courseNum, std::string& courseSection, std::string& yesNo);
【讨论】:
谢谢你,我能够找出我的问题!以上是关于C ++调用从txt文件输出信息的函数的主要内容,如果未能解决你的问题,请参考以下文章
为啥我无法打开/读取从 Python 调用的 C 扩展名中的 txt 文件?