文件访问不起作用
File access not working
我正在看Bucky的C++教程。他做了一个程序,我和他做的一模一样,但我无法让列表发挥作用。我可以在一个单独的程序中获取txt文件来查看对象,但这个程序不想查看任何内容。它可以正常工作和编译,但一旦输入了选择输入,屏幕上就什么都没有了。选择4确实会退出程序,但1,2,3选项根本不会显示任何内容。
以下是解释该程序的视频:https://www.youtube.com/watch?v=86rBqzYIbjA&index=68&list=PLAE85DE8440AA6B83#t=3.934331
我的代码:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int getUserData();
void display(int x);
int main(){
int userdata;
userdata = getUserData();
while(userdata =! 4){
switch(userdata){
case 1:
display(1);
break;
case 2:
display(2);
break;
case 3:
display(3);
break;
default:
}
userdata = getUserData();
}
}
int getUserData(){
int choice;
cout << "Enter 1 to view all the neutral items" << endl;
cout << "Enter 2 to view all the helpful items" << endl;
cout << "Enter 3 to view all the harmful items" << endl;
cout << "Enter 4 to exit" << endl;
cin >> choice;
return choice;
}
void display(int x){
ifstream obj;
obj.open("prog2.txt");
string chars;
int powers;
if(x==1){
while(obj>>chars>>powers)
if(powers==0){
cout << chars<<' '<<powers<< endl;
}
}
if(x==2){
while(obj>>chars>>powers)
if(powers>0){
cout << chars<<' '<<powers<< endl;
}
}
if(x==3){
while(obj>>chars>>powers)
if(powers<0){
cout << chars<<' '<<powers<< endl;
}
}
}
这让人非常沮丧,任何帮助都将不胜感激!
您的测试'while(userdata =! 4)'
无效。"not is"运算符是!=
。代码实际执行的是while (user data = !4)
,这意味着您将表达式!4
(即false
,因此为0)分配给userdata
。然后,测试条件评估为false
,并且不进入循环。
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- C++为什么尽管我调用了void函数,它却不起作用
- 为什么在保护模式下继承升级不起作用
- 循环在计数器中不起作用
- 在其他文件中创建类时在 c++ 项目中不起作用
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 为什么二进制搜索在我的测试中不起作用
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 带有指定长度字符* 参数的 std::regex_search 在 VS2017 中不起作用?
- Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)
- 为什么简单的算术减法在"if"条件下不起作用?
- 为什么Stroustup书中的has_f不起作用
- 通过 get-Method 访问变量在类外不起作用
- 为什么将指针转换为引用在我的访问器 (getter) 中不起作用?
- 文件访问不起作用
- 函数调用不起作用,矢量访问数据
- 运算符 类对象的重载在访问包含它的向量元素时不起作用