该计划未在2017年的Visual Studio中运行

时间:2017-12-09 17:59:31

标签: c++ visual-c++

我正在尝试使用无序地图在c ++中制作电话簿。代码中没有错误,它在cpp.sh中完美执行但在Visual Studio 2017中没有任何人可以帮助我吗?我错过了任何图书馆或任何声明,或者我应该尝试其他任何事情。 这是我的代码:

  #include <iostream>
 #include <string>
#include <unordered_map>
 using namespace std;
 int a;
    class phoneBook {
 public:
int y;
string name;
long int number;
unordered_map <string, long int>::iterator it;
unordered_map<string, long int> m;
void enter()
{

    cout << "Enter Name: ";
    cin.ignore();
    getline(cin, name);
    cout << "Enter Phone Number: ";
    cin >> number;
    m.insert(make_pair(name, number));
    return;
}
void search()
{
    cout << "Enter Name: ";
    cin.ignore();
    getline(cin, name);
    it = m.find(name);
    if (it != m.end())
    {
        cout << "Name:- " << name << endl;
        cout << "Number:- " << it->second << endl;
    }
    else {
        cout << "Not Found";
       }
       cout << endl;
        return;
       }
      };
     int main()
    {
        phoneBook p;
       while (a != 0)
      {
            cout << "Enter 1 to add phone number" << endl;
              cout << "Enter 2 to search for phone number" << endl;
          cout << "Enter 0 to exit" << endl;
            cin >> a;
    if (a == 1)
    {
        p.enter();
    }
    if (a == 0 || a == 0)
    {
        break;
    }
    else if (a == 2)
    {
        p.search();
    }
}
return 0;
system("pause");
}

1 个答案:

答案 0 :(得分:1)

a是全局变量,其默认值为0,因此当main函数在while循环中启动条件时a != 0返回false并且main结束工作。

使用0以外的值初始化a变量。