我正在观看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;
}
}
}
这非常令人沮丧,任何帮助都会受到高度赞赏!
答案 0 :(得分:3)
您的测试'while(userdata =! 4)'
无效。 &#39;不是&#39;运算符是!=
。代码实际执行的是while (user data = !4)
,这意味着您将表达式!4
(false
,因此0)分配给userdata
。然后测试条件评估为false
,并且不输入循环。