请帮我看一下C++程序为什么报错了

请帮我看一下C++程序为什么报错了

1 个回答

生活百科书

提问:请帮我看一下C++程序为什么报错了

补充 : for (int i = 0; i < 12; i++) { number[i] = rand() % 100; } while (1) { system ("export TERM=xterm && clear"); cout << "请输入要查询的图书:"; string input; cin >> input; for (int i = 0; i < 12; i++) { if (input == name[i]) { //2.输出area数组中相同位置的图书区域信息 cout << "所在区域为" << area[i] << "区,作者是" << author[i] << ",库存有" << number[i] << "本。" << endl; sleep (1); cout << "您确定要借阅吗?(Y/N)"; char ch; cin >> ch; if (ch == 'Y') { if (number[i] > 0) { cout << "借阅成功!" << endl; number[i]--; cout << name[i] << "库存还剩" << number[i] << "本书。" << endl; } if (number[i] == 0) { cout << "本图书馆" << name[i] << "一书库存已空!" << endl; } } else if (ch == 'N') { cout << "em。请下次再借阅吧!" << endl; } else { cout << "输入数字有误!" << endl; } break; } if (input != name[i]) { if (i == 11) { cout << "抱歉,本图书馆还没有这本书呢。" << endl; } continue; } } cout << "继续查询按1,退出按0:"; int go_on; cin >> go_on; if (go_on == 0) { break; } } cout << "\033[33m借阅成功,别忘了还书哦!\033[34m" << endl; sleep (5); system ("export TERM=xterm && clear"); cout << "请输入需要归还的书:"; string book; cin >> book; for (int i = 0; i < 12; i++) { if (book == name[i]) { cout << "归还成功!" << endl; number[i]++; cout << name[i] << "库存" << number[i] << "本书。" << endl; break; } if (book != name[i]) { if (i == 11) { cout << "图书名称错误!" << endl; } continue; } } cout << "继续查询按1,退出按0:"; int go_on; cin >> go_on; if (go_on == 0) break; cout << "\033[31m再见,欢迎下次光临!" << endl;

补充 : 头文件和结束不用再写了,这两个是一份程序,分开发了,第二段有错,谢谢

网友回答:

程序基本没有什么大问题,主要问题有以下

1。你用的是什么开发工具或编译器,你要了解

 sleep

不是C++标准函数,但只能在gcc上使用且要用头文件

#include <unistd.h>

windwos的其它编译器是不支持的

另外,你的

   system("export TERM=xterm && clear");

它只能用于linux系统 ,windwos是不支持的

也就是你的程序,应该在linux下编译运行

且问题就是要有完整的头文件

2。你的最后一段程序

    int go_on;

    cin >> go_on;

     if(go_on == 0)

       break;

    cout << "\033[31m再见,欢迎下次光临!" << endl;

不在循环中,break不能使用(可能是上传时的{}问题)

3。C++程序的错,很容易从编译的出错信息得到,这个比你上传程序更容易知道你程序错在哪里了,且学习编程首先会学会看出错信息的


  • 1 关注
  • 0 收藏, 浏览
  • 提出于

相似问题