gpt4 book ai didi

c++ - 文件访问不起作用

转载 作者:行者123 更新时间:2023-11-30 02:31:32 25 4
gpt4 key购买 nike

我正在看 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)' 无效。 “不是”运算符是 !=。代码实际做的是 while (user data = !4),这意味着您正在分配表达式 !4(这是 false,因此 0) 到 userdata。然后测试条件的计算结果为 false,并且不会进入循环。

关于c++ - 文件访问不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37510117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com