有人可以帮助我了解为什么此代码不起作用,程序运行时无法加载“ booklist.txt”。
当程序运行时调用函数列表簿时,它没有 在屏幕上显示任何内容,这是主要问题。 (文件不为空。)
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
void listbooks()
{
ifstream TheFile("booklist.txt");
char autor;
char bookname;
long int isbn;
while (TheFile >> autor >> bookname >> isbn)
{
cout << autor << " " << bookname << " " << isbn << endl;
}
}
int main()
{
int choice;
do {
cout << "1.List all books" << endl;
cout << "2.Borrow book" << endl;
cout << "3. Exit" << endl;
cout << "Enter your choice: ";
cin >> choice;
switch (choice)
{
case 1:
listbooks;
break;
case 2:
break;
default:
cout << "";
}
} while (choice != 3);
system("pause");
return 0;
}
答案 0 :(得分:4)
在您的switch
中,您有
case 1:
listbooks;
break;
这不是函数调用:在C / C ++中,函数名称(不带括号)是地址。试试
case 1:
listbooks();
break;
答案 1 :(得分:-3)
问题是char变量,当我删除“ char autor”和“ char bookname”时,程序运行正常。